From 755b60c531999e9d3c0a94759a2a5e92f5e4ad4e Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期一, 25 三月 2024 14:18:01 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java |   60 +++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 43 insertions(+), 17 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..3ebc38d 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)
@@ -839,7 +840,7 @@
                     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);
@@ -853,6 +854,7 @@
                     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);
             }
     }
 
@@ -988,14 +995,18 @@
             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()
+            //閲嶆柊鎺堟潈
+            HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper);
+
+
+       /* 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 ));
+                    .set(Member::getHkStatus,Constants.ZERO ));*/
     }
 
 
@@ -1048,34 +1059,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