From 39739e34af928aae204c55db7974213c9b938c5a Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 21 二月 2024 18:33:14 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java |   69 ++++++++++++++++++++++++----------
 1 files changed, 49 insertions(+), 20 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index a5f05fa..e42296e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -38,6 +38,7 @@
 import com.doumee.dao.web.response.VisitDetailVO;
 import com.doumee.dao.web.response.VisitRecordVO;
 import com.doumee.service.business.ApproveService;
+import com.doumee.service.business.InterfaceLogService;
 import com.doumee.service.business.VisitsService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -84,6 +85,8 @@
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
     private DeviceJoinMapper deviceJoinMapper;
+    @Autowired
+    private ErpTool erpTool;
 
     @Autowired
     private WxPlatNotice wxPlatNotice;
@@ -126,18 +129,20 @@
         visits.setMemberId(member.getId());
         //鍒濆鍖栬瀹俊鎭�
         initVisitInfo(visits,date);
+        visitsMapper.insert(visits);
         //鍙戣捣ERP瀹℃壒鐢宠
         String erpId = startSendErpCheck(visits,visitMember);
         if(StringUtils.isNotBlank(erpId)){
             visits.setErpId(erpId);
+            visits.setStatus(Constants.VisitStatus.submitCheck);
+            visitsMapper.updateById(visits);
         }else{
-//            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
+            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
         }
-        visitsMapper.insert(visits);
         initWithVisitInfo(visits);
         updateProblemLog(visits,problemLog,member);
         //鍒涘缓瀹℃壒璁板綍
-        createApprove(visits,visitMember);
+//        createApprove(visits,visitMember);
         //鍙戦�佸井淇″叕浼楀彿閫氱煡
         wxPlatNotice.sendVisitAuditTemplateNotice(visits,
                 systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
@@ -380,9 +385,9 @@
         ApproveParam approveParam = new ApproveParam();
         //鍙戦�佸鎵�/鎶勯�佽褰曠殑鐢ㄦ埛涓婚敭闆嗗悎
         ids.clear();
-        if(Objects.isNull(allParam)){
+        if(!CollectionUtils.isNotEmpty(allParam)){
             if(Objects.isNull(level)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈厤缃瀹㈣褰曞鎵规祦锛岃鑱旂郴绠$悊鍛�");
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈厤缃瀹㈠鎵规祦锛岃鑱旂郴绠$悊鍛�");
             }
         }else{
              approveParam = allParam.get(0);
@@ -480,9 +485,9 @@
                 || visits.getReceptMemberId() == null){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝淇℃伅濉啓涓嶆纭紒");
         }
-        if(visits.getStarttime().getTime() < System.currentTimeMillis()){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害寮�濮嬫椂闂村繀椤诲ぇ浜庡綋鍓嶆椂闂达紒");//
-        }
+//        if(visits.getStarttime().getTime() < System.currentTimeMillis()){
+//            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害寮�濮嬫椂闂村繀椤诲ぇ浜庡綋鍓嶆椂闂达紒");//
+//        }
         if(visits.getEndtime().getTime() <= visits.getStarttime().getTime()){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害缁撴潫鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂达紒");//
         }
@@ -528,6 +533,7 @@
     private void initWithVisitInfo(Visits visits) {
         if(CollectionUtils.isNotEmpty(visits.getWithUserList())){
             for(Visits v :visits.getWithUserList()){
+                v.setBirthday(Constants.getBirthdyByCardNo(v.getIdcardNo()));
                 v.setParentId(visits.getId());
                 v.setStarttime(visits.getStarttime());
                 v.setEndtime(visits.getEndtime());
@@ -538,7 +544,7 @@
                 v.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, v.getIdcardNo()));//韬唤璇佸彿鍔犲瘑
                 v.setErpId(visits.getErpId());
                 v.setHkStatus(Constants.ZERO);
-                v.setStatus(Constants.ZERO);
+                v.setStatus(Constants.VisitStatus.submitCheck);
             }
             //鎵归噺鎻掑叆鏁版嵁
             visitsMapper.insertBatchSomeColumn(visits.getWithUserList());
@@ -560,6 +566,15 @@
         ApproveAddRequest param = new ApproveAddRequest();
         List<Visits> withUserVisitsList = visits.getWithUserList();
         List<UserInfoRequest> withUserList = new ArrayList<>();
+        UserInfoRequest mainUser = new UserInfoRequest();
+        mainUser.setName(visits.getName());
+        mainUser.setIdNo(DESUtil.decrypt(Constants.EDS_PWD, visits.getIdcardNo()));
+        mainUser.setSex(visits.getSex());
+        mainUser.setPhone(visits.getPhone());
+        mainUser.setFaceImg(visits.getFaceImg());
+        mainUser.setHealthImg(visits.getImgurl());
+        withUserList.add(mainUser);
+
         if(CollectionUtils.isNotEmpty(withUserVisitsList)){
             for (Visits v:withUserVisitsList) {
                 UserInfoRequest userInfoRequest = new UserInfoRequest();
@@ -571,14 +586,16 @@
                 userInfoRequest.setHealthImg(v.getImgurl());
                 withUserList.add(userInfoRequest);
             }
-            param.setWithUserList(withUserList);
         }
+        param.setWithUserList(withUserList);
+
         param.setId(visits.getId());
         param.setBeVisitedUserId(visitMember.getErpId());
         param.setVisitorWorkUint(visits.getCompanyName());
         param.setPurpose(visits.getReason());
-        param.setStartTime(DateUtil.getDate(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss"));
-        param.setEndTime(DateUtil.getDate(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss"));
+        param.setStartTime(DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss"));
+        param.setEndTime(DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss"));
+        param.setBeVisitedOrgId(visitMember.getErpOrgId());
         if(StringUtils.isNotBlank(visits.getCarNos())){
             param.setCarNo(Arrays.asList(visits.getCarNos().split(",")));
         }
@@ -589,12 +606,15 @@
                  param.setRoleNames(deviceRoleList.stream().map(m->m.getName()).collect(Collectors.toList()));
              }
         }
-        ApproveInfoResponse response = ErpTool.submitApprove(ErpConstants.approveUrl,param);
+        ApproveInfoResponse response   = erpTool.submitApprove(ErpConstants.approveUrl,param);
         if(!Objects.isNull(response)){
-            return response.getId().toString();
+            return visits.getId().toString();
         }
+
         return  null;
     }
+
+
 
     private String visitAppiontment(Visits visits) {
         VisitAppointmentRequest param = new VisitAppointmentRequest();
@@ -634,6 +654,7 @@
         //闅忚浜哄憳淇℃伅澶勭悊
         if(visits.getWithUserList()!= null && visits.getWithUserList().size()>0){
             for(Visits model:visits.getWithUserList()){
+                model.setBirthday(Constants.getBirthdyByCardNo(model.getIdcardNo()));
                 model.setStarttime(visits.getStarttime());
                 model.setEndtime(visits.getEndtime());
                 //鏍¢獙闅忚浜哄憳濉姤鏁版嵁鍚堟硶鎬�
@@ -660,6 +681,11 @@
         if(StringUtils.isNotBlank(visits.getCarNos())&&!Constants.checkCarNo(visits.getCarNos())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝杞︾墝鍙枫��"+visits.getCarNos()+"銆戜笉鍚堟硶锛岃鏍稿疄鍚庨噸璇晘");
         }
+        if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())&&cardno.length()!=18
+            //&&!IdcardUtil.isValidCard(cardno)
+        ){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
+        }
         Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
                 .eq(Member::getType,Constants.memberType.visitor)
                 .eq(Member::getIdcardType,visits.getIdcardType())
@@ -671,6 +697,7 @@
             member.setCreateDate(visits.getCreateDate());
             member.setIsdeleted(Constants.ZERO);
             member.setIdcardNo(visits.getIdcardNo());
+            member.setBirthday(Constants.getBirthdyByCardNo(cardno));
             member.setIdcardDecode(visits.getIdcardDecode());
             member.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, cardno));//韬唤璇佸彿鍔犲瘑
             member.setIdcardDecode(Constants.getTuominStr(cardno));//鑴辨晱鎵嬫満鍙�
@@ -686,6 +713,7 @@
             member.setSex(Constants.getSexByCardNo(cardno));
             member.setHkStatus(Constants.ZERO);
             member.setErpStatus(Constants.ZERO);
+            member.setVisitCompanyName(visits.getCompanyName());
             // 鏂板璁垮璁板綍
             addList.add(member);
         }else{
@@ -708,6 +736,7 @@
             member.setSex(Constants.getSexByCardNo(cardno));
             member.setHkStatus(Constants.ZERO);
             member.setErpStatus(Constants.ZERO);
+            member.setVisitCompanyName(visits.getCompanyName());
             // 鏇存柊璁垮淇℃伅,
             editList.add(member);
         }
@@ -891,7 +920,7 @@
         queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
         queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
         queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
-        queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
+        queryWrapper.leftJoin(Company.class,Company::getErpId,Member::getErpOrgId);
 
         queryWrapper.eq(Visits::getId,id);
         Visits result = visitsJoinMapper.selectJoinOne(Visits.class,queryWrapper);
@@ -899,10 +928,10 @@
         if(result!=null){
             if(StringUtils.isNotBlank(result.getDoors())){
                 String[] doorList=result.getDoors().split(",");
-                MPJLambdaWrapper<Device> deviceQuery = new MPJLambdaWrapper<>();
-                deviceQuery.in(Device::getId,doorList);
-                List<Device> deviceList= deviceJoinMapper.selectList(deviceQuery);
-                result.setDeviceList(deviceList);
+                MPJLambdaWrapper<DeviceRole> deviceQuery = new MPJLambdaWrapper<>();
+                deviceQuery.in(DeviceRole::getId,doorList);
+                List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(deviceQuery);
+                result.setDeviceRoleList(deviceRoleList);
             }
         }
 
@@ -1049,7 +1078,7 @@
         }
         visitDetailVO.setWithVisitsList(
                 visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
-                .select(Visits::getName,Visits::getPhone,Visits::getFaceImg,Visits::getImgurl,Visits::getIdcardDecode)
+                .select(Visits::getName,Visits::getPhone,Visits::getFaceImg,Visits::getImgurl,Visits::getIdcardDecode,Visits::getStatus)
                 .eq(Visits::getParentId,id)));
         return visitDetailVO;
     }

--
Gitblit v1.9.3