From 6c5d0a4a9264b7508c7ffe81b45ba239cabf2244 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期三, 10 四月 2024 17:59:08 +0800
Subject: [PATCH] 最新版本
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 132 ++++++++++++++++++++++++++++++++++----------
1 files changed, 102 insertions(+), 30 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
index 26aad7c..1f7fec6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -36,6 +36,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.service.business.ext.ERPSyncService;
import com.doumee.service.business.InterfaceLogService;
+import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.Synchronized;
import org.apache.commons.collections.CollectionUtils;
@@ -305,22 +306,22 @@
dealUserChangeList(list,addList,updateList,delList,allList,param);
if(addList.size()>0){
memberMapper.insertBatchSomeColumn(addList);
- for (Member member:addList) {
+ /* for (Member member:addList) {
dealRoleEmpower(member );
- }
+ }*/
}
if(updateList.size()>0){
for(Member c : updateList){
- dealRoleEmpower(c );
+// dealRoleEmpower(c );
c.setHkStatus(Constants.ZERO);
c.setRemark("寰呭悓姝ュ畨闃插钩鍙�");
memberMapper.updateById(c);
}
}
if(delList.size()>0){
- for (Member member:delList) {
+ /* for (Member member:delList) {
dealRoleEmpower(member );
- }
+ }*/
delIds = delList.stream().map(m->m.getId()).collect(Collectors.toList());
memberMapper.update(null,new UpdateWrapper<Member>().lambda()
.set(Member::getHkStatus,Constants.ZERO)
@@ -401,7 +402,7 @@
member.setErpDate(date);
member.setErpId(param.getId());
member.setIdcardType(param.getIdType());
- member.setFsStatus(Constants.ZERO);
+ member.setFaceStatus(Constants.ZERO);
member.setStatus(param.getStatus());
member.setType(Constants.memberType.internal);
String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo());
@@ -839,20 +840,21 @@
member.setErpStatus(Constants.ONE);
member.setErpDate(new Date());
member.setErpId(param.getId());
- member.setFsStatus(Constants.ZERO);
+ member.setFaceStatus(Constants.ZERO);
member.setCompanyId(company.getId());
member.setType(Constants.memberType.internal);
member.setCanVisit(Constants.ONE);
String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo());
member.setIdcardNo(encryptIdNo);
member.setStartTime(param.getValidStartTime());
- member.setRoleId(param.getRoleIds()!=null?JSONObject.toJSONString(param.getRoleIds()):null);
+// member.setRoleId(param.getRoleIds()!=null?JSONObject.toJSONString(param.getRoleIds()):null);
member.setEndTime(param.getValidEndTime());
member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
member.setErpOrgId(param.getOrgId());
memberMapper.insert(member);
}else{
Integer id = member.getId();
+ String faceImg = member.getFaceImg();
BeanUtils.copyProperties(param,member);
member.setId(id);
member.setCompanyId(company.getId());
@@ -863,15 +865,20 @@
member.setEditDate(new Date());
member.setErpDate(new Date());
member.setHkStatus(Constants.ZERO);
- member.setRemark("寰呭悓姝ュ畨闃插钩鍙�");
+ if(StringUtils.isNotBlank(param.getFaceImg())
+ && !StringUtils.equals(param.getFaceImg(),faceImg)){
+ //鍙湁浜鸿劯鍙戠敓鍙樺寲锛屾墠杩涜閲嶆柊鍚屾
+ member.setFaceStatus(Constants.ZERO);
+ member.setRemark("寰呭悓姝ュ畨闃插钩鍙�");
+ }
member.setStartTime(param.getValidStartTime());
member.setEndTime(param.getValidEndTime());
memberMapper.updateById(member);
}
//2024骞�3鏈�7鏃�17:49:33 鍙栨秷姝や笟鍔″鐞嗕汉鍛橀棬绂佹潈闄�
// getRoleIdByParam(param.getRoleIds(),member);
- //娣诲姞浜哄憳鍗$墖鏁版嵁
- dealMemberCard(member,param);
+ //娣诲姞浜哄憳鍗$墖鏁版嵁(宸插紑鍚櫄鎷熷崱鍔熻兘锛岀郴缁熶笉闇�瑕佺粰铏氭嫙鍗�)
+// dealMemberCard(member,param);
}
}
@@ -920,13 +927,57 @@
}
}
}
- private List<Integer> getRoleIdByParam(Integer[] param, Member member) {
+ private Integer getRoleIdByParam(Integer[] param, Member member) {
//娣诲姞浜哄憳瑙掕壊鍏宠仈鏁版嵁
member.setRoleId(null);
- if(!Objects.isNull(member)&&!Objects.isNull(member.getId())){
+ List<MemberRole> roleList = memberRoleMapper.selectList( new QueryWrapper<MemberRole>().lambda()
+ .eq(MemberRole::getIsdeleted,Constants.ZERO)
+ .eq(MemberRole::getMemberId,member.getId()));
+ if((param == null || param.length==0 ) &&( roleList==null || roleList.size()==0)){
+ //妫�鏌ョ敤鎴锋潈闄愭槸鍚﹀彂鐜板彉鍖�
+ return 0;
+ }
+ if((param == null || param.length==0 ) &&( roleList!=null && roleList.size()>0) ){
+ //濡傛灉鍘熸潵鏈夋潈闄愶紝鎺ュ彛杩涜鏉冮檺鍒犻櫎
memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId()));
+ return 1;
}
if(!Objects.isNull(param)&¶m.length>Constants.ZERO){
+ if(roleList!=null && roleList.size()>0) {
+ //鍜屽師鏈夋潈闄愯繘琛屽姣旓紝鐪嬫槸鍚︽潈闄愬彂鐢熷彉鍖�
+ boolean ischange1=false;
+ for (MemberRole role : roleList) {
+ ischange1=false;
+ for (int j = 0; j < param.length; j++) {
+ if(Constants.equalsInteger(role.getRoleId(),param[j])){
+ ischange1=true;
+ break;
+ }
+ }
+ if(!ischange1){
+ break;
+ }
+ }
+
+ boolean ischange2 =false;
+ for (int j = 0; j < param.length; j++) {
+ ischange2=false;
+ for (MemberRole role : roleList) {
+ if(Constants.equalsInteger(role.getRoleId(),param[j])){
+ ischange2=true;
+ break;
+ }
+ }
+ if(!ischange2){
+ break;
+ }
+ }
+ if(ischange2 && ischange1){
+ return 0;//鏉冮檺鏈彂鐢熸敼鍙�
+ }
+ }
+ //濡傛灉鍘熸潵鏈夋潈闄愶紝鎺ュ彛杩涜鏉冮檺鍒犻櫎
+ memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId()));
//鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺
List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
.eq(DeviceRole::getType,Constants.TWO)
@@ -957,19 +1008,21 @@
memberRole.setCreateDate(new Date());
memberRole.setMemberId(member.getId());
memberRole.setIsdeleted(Constants.ZERO);
- memberRole.setRoleId(deviceRole.getId().toString());
+ memberRole.setRoleId(deviceRole.getId());
memberRoleList.add(memberRole);
}
+ member.setRoleId(ids);
memberRoleMapper.insertBatchSomeColumn(memberRoleList);
member.setRoleId(ids);
- return r;
+ return 1;
}
}
- return null;
+ return 0;
}
@Override
+ @Transactional
public void roleUserAuthor(UserAuthorRequest param){
if(Objects.isNull(param)
||StringUtils.isBlank(param.getUserId())){
@@ -984,18 +1037,22 @@
if(Objects.isNull(member)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛淇℃伅涓嶅瓨鍦紒");
}
- List<Integer> doorIds = getRoleIdByParam(param.getRoleIds(),member);
+ Integer ischange = getRoleIdByParam(param.getRoleIds(),member);
+ if(ischange == 0){
+ return;//鏈彂鐜版潈闄愬彉鍖栵紝鐩存帴杩斿洖
+ }
if(param.getRoleIds()!=null && param.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鏈煡璇㈠埌鏈夋晥闂ㄧ缁勬暟鎹�");
}
memberMapper.update(null,new UpdateWrapper<Member>().lambda()
- .eq(Member::getId,member.getId())
- .set(Member::getRoleId,member.getRoleId())
- .set(Member::getRemark,"寰呭悓姝ュ畨闃插钩鍙�")
- .set(Member::getStartTime,param.getValidStartTime())
- .set(Member::getEndTime,param.getValidEndTime())
- .set(Member::getEditDate,new Date())
- .set(Member::getHkStatus,Constants.ZERO ));
+ .eq(Member::getId,member.getId())
+ .set(Member::getRoleId,member.getRoleId())
+ .set(Member::getStartTime,param.getValidStartTime())
+ .set(Member::getEndTime,param.getValidEndTime())
+ .set(Member::getEditDate,new Date()) );
+ //閲嶆柊鎺堟潈
+ HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper);
+
}
@@ -1048,34 +1105,49 @@
}
}
}
+ private void isValidDoors(String doors) {
+ if(StringUtils.isNotBlank(doors)){
+ String[] dIds = doors.split(",");
+ List<DeviceRole> roles = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
+ .eq(DeviceRole::getIsdeleted,Constants.ZERO)
+ .eq(DeviceRole::getType,Constants.DeviceRoleType.fk)
+ .in(DeviceRole::getId, Arrays.asList(dIds)));
+ if(roles == null || roles.size()==0 || roles.size() != dIds.length){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝璇烽�夋嫨鏈夋晥鐨勮瀹㈤棬绂佺粍锛�");
+ }
+ }
+ }
@Override
public void approveApply(ApproveNoticeRequest param){
try{
- if(!Objects.isNull(param)
- ){
-
- }
if(Objects.isNull(param)
||Objects.isNull(param.getId())
||Objects.isNull(param.getStatus())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
if(!(param.getStatus()==Constants.ZERO||param.getStatus()==Constants.ONE)){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐘舵�佺爜閿欒");
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀹℃壒缁撴灉鍙傛暟涓嶆纭�");
}
if(visitsMapper.selectCount(new QueryWrapper<Visits>().lambda().eq(Visits::getErpId,param.getId())
.ne(Visits::getStatus,Constants.VisitStatus.submitCheck))>Constants.ZERO){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佺爜閿欒");
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ョ敵璇峰綋鍓嶇姸鎬佷笉鏀寔璇ユ搷浣�");
}
+ isValidDoors(param.getDoors());
List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda().eq(Visits::getErpId,param.getId()));
if(CollectionUtils.isNotEmpty(visitsList)){
visitsList.forEach(i->{
+ i.setEndCheckInfo("鐢宠鏃堕棿锛�"+DateUtil.getPlusTime2(i.getStarttime())+"-"
+ +DateUtil.getPlusTime2(i.getEndtime())
+ +" 鐢宠闂ㄧ锛�"+i.getDoors());
i.setStatus(!param.getStatus().equals(Constants.ZERO)?Constants.VisitStatus.pass:Constants.VisitStatus.noPass);
i.setEndCheckDate(DateUtil.StringToDate(param.getApproveDate(),"yyyy-MM-dd HH:mm:ss"));
i.setHkStatus(Constants.ZERO);
i.setRemark("寰呭悓姝ュ畨闃插钩鍙�");
+ i.setStarttime( param.getStartTime());
+ i.setEndtime(param.getEndTime());
+ i.setDoors(param.getDoors());
visitsMapper.updateById(i);
if(Objects.isNull(i.getParentId())){
wxPlatNotice.sendVisitAuditTemplateNotice(i,
--
Gitblit v1.9.3