From b33f2e78ffd4fd401698b84a33dc3c293793c62f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 18 二月 2025 16:22:33 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java |   88 +++++++++++++++++++++++++++++++------------
 1 files changed, 63 insertions(+), 25 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 9a097fd..d4a6aa1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -13,23 +13,22 @@
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
 import com.doumee.core.haikang.model.param.BaseResponse;
-import com.doumee.core.haikang.model.param.request.FacePictureCheckRequest;
+import com.doumee.core.haikang.model.param.request.VisitAppointmentCancelRequest;
 import com.doumee.core.haikang.model.param.request.VisitAppointmentOutRequest;
 import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest;
-import com.doumee.core.haikang.model.param.respose.FacePictureCheckResponse;
 import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse;
 import com.doumee.core.haikang.service.HKService;
-import com.doumee.core.model.LoginUserInfo;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
+import com.doumee.service.business.third.model.LoginUserInfo;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
 import com.doumee.core.utils.*;
-import com.doumee.core.wx.WXConstant;
 import com.doumee.core.wx.wxPlat.WxPlatConstants;
 import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.admin.response.InterestedListVO;
 import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.dao.CompanyMapper;
+import com.doumee.dao.business.dao.MemberMapper;
 import com.doumee.dao.business.dao.SmsConfigMapper;
 import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.dto.ResetPasswordDTO;
@@ -37,6 +36,7 @@
 import com.doumee.dao.business.join.VisitsJoinMapper;
 import com.doumee.dao.business.model.*;
 
+import com.doumee.dao.business.model.Member;
 import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.dto.ResetSystemUserPwdDTO;
 import com.doumee.dao.system.join.NoticesJoinMapper;
@@ -170,10 +170,9 @@
             }
             if (Constants.equalsInteger(Constants.ZERO, erpVisitDTO.getIdcardType()) && erpVisitDTO.getIdcardNo().length() != 18
                 //&&!IdcardUtil.isValidCard(visits.getIdcardNo())
-            ) {
+            ){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
             }
-
             Visits visits = new Visits();
             //鏍规嵁琚闂汉ERP涓婚敭鏌ヨ绯荤粺鍐呬汉鍛樹富閿俊鎭�
             Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
@@ -229,6 +228,7 @@
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Integer createFk(Visits visits,Boolean isERP,Integer source) {
+        visits.setId(null);
         isValidBaseParam(visits);
         //妫�鏌ユ槸鍚﹀繀椤荤瓟棰橈紝骞朵笖绗﹀悎绛旈瑕佹眰
         ProblemLog problemLog = isValidProblemLog(visits,source);
@@ -331,6 +331,19 @@
         //鍒濆鍖栬瀹俊鎭�
 //        initVisitInfo(visits,date);
         visitsMapper.insert(visits);
+        if(Objects.nonNull(visits.getLoginUserInfo())){
+            SystemUser systemUser = systemUserMapper.selectById(visits.getLoginUserInfo().getId());
+            if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
+                WxPlatNotice wxPlatNotice = new WxPlatNotice();
+                wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz,
+                        wxNoticeConfigMapper,visits,
+                        Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload,
+                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                        Arrays.asList(systemUser.getOpenid().split(","))
+                );
+            }
+        }
+
         approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId());
         return visits.getId();
     }
@@ -1207,6 +1220,22 @@
             result.setBusinessStatus(result.getStatus());
         }
 
+
+        Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda()
+                .eq(Notices::getObjId,id)
+                .eq(Notices::getType,Constants.equalsInteger(result.getType(),Constants.TWO)?Constants.noticesObjectType.visitReporting:Constants.noticesObjectType.visit)
+                .eq(Notices::getUserId,memberId)
+                .eq(Notices::getSendacopy,Constants.ZERO)
+                .orderByDesc(Notices::getId).last(" limit 1 "));
+        if(Objects.nonNull(notices)){
+            if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){
+                result.setInfo("寰呮垜澶勭悊");
+            }else{
+                result.setInfo(notices.getInfo());
+            }
+        }
+
+
         return result;
     }
 
@@ -1410,17 +1439,20 @@
             );
 //        }
 
-        Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda().eq(Notices::getObjId,visits.getId())
+        Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda()
+                .eq(Notices::getObjId,id)
                 .eq(Notices::getType,Constants.equalsInteger(visits.getType(),Constants.TWO)?Constants.noticesObjectType.visitReporting:Constants.noticesObjectType.visit)
-                        .eq(Notices::getUserId,memberId)
-                        .eq(Notices::getSendacopy,Constants.ZERO)
-                .last(" limit 1 ")
-        );
+                .eq(Notices::getUserId,memberId)
+                .eq(Notices::getSendacopy,Constants.ZERO)
+                .orderByDesc(Notices::getId).last(" limit 1 "));
         if(Objects.nonNull(notices)){
-            notices.setInfo(notices.getInfo());
-        }else{
-            notices.setInfo("鏆傛棤");
+            if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){
+                visitDetailVO.setInfo("寰呮垜澶勭悊");
+            }else{
+                visitDetailVO.setInfo(notices.getInfo());
+            }
         }
+
         return visitDetailVO;
     }
 
@@ -1474,7 +1506,8 @@
         VisitAppointmentOutRequest request = new VisitAppointmentOutRequest();
         request.setOrderId(visits.getHkId());
         //璋冪敤娴峰悍寮哄埗绛剧
-        BaseResponse response =  HKService.outVisitAppiontment(request);
+        BaseResponse response =  HKService.iccmSignoff(request);
+//        BaseResponse response =  HKService.outVisitAppiontment(request);
         visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.VisitStatus.signout)
                 .eq(Visits::getId,visitId));
         //浜у嚭鍦ㄥ満浜哄憳淇℃伅
@@ -1491,10 +1524,11 @@
         if(!visits.getStatus().equals(Constants.VisitStatus.xfSuccess)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮璁板綍鐘舵�侀敊璇紝璇峰埛鏂伴噸璇�");
         }
-        VisitAppointmentOutRequest request = new VisitAppointmentOutRequest();
-        request.setOrderId(visits.getHkId());
+        VisitAppointmentCancelRequest request = new VisitAppointmentCancelRequest();
+        request.setAppointRecordIds(new String[]{visits.getHkId()});
         //璋冪敤娴峰悍寮哄埗绛剧
-        BaseResponse response =  HKService.outVisitAppiontment(request);
+//        BaseResponse response =  HKService.outVisitAppiontment(request);
+        BaseResponse response =  HKService.iccmCancelAppointment(request);
         visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.VisitStatus.signout)
                 .eq(Visits::getId,visitId));
         //浜у嚭鍦ㄥ満浜哄憳淇℃伅
@@ -1551,6 +1585,7 @@
         dto.setPassword(resetPasswordDTO.getPassword());
         dto.setId(systemUser.getId());
         dto.setOperaUserId(systemUser.getId());
+        dto.setNeedChangePwd(Constants.ONE);
         systemUserBiz.resetPwd(dto);
     }
 
@@ -1569,6 +1604,7 @@
                             .selectAll(Retention.class)
                             .selectAs(Company::getType,Retention::getCompanyType)
                             .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
+                            .eq(Retention::getIsdeleted,Constants.ZERO)
             );
 
             InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>()
@@ -1690,10 +1726,12 @@
                 );
                 for (Company company:companyList) {
                     Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size();
-                    InterestedListVO lw = new InterestedListVO();
-                    lw.setNum(count);
-                    lw.setName(company.getName());
-                    lwList.add(lw);
+                    if(count>0){
+                        InterestedListVO lw = new InterestedListVO();
+                        lw.setNum(count);
+                        lw.setName(company.getName());
+                        lwList.add(lw);
+                    }
                 }
             }
 
@@ -1797,7 +1835,7 @@
                 SmsEmailServiceImpl.sendVisitTimeOutSms(systemDictDataBiz,
                         emayService,smsEmailMapper,smsConfigMapper,
                         SmsConstants.visitContent.visitTimeOutSignOutNum,
-                        visitReportTimeCount.toString(),Arrays.asList(mobile.split(","))
+                        visitTimeCount.toString(),Arrays.asList(mobile.split(","))
                 );
             }
         }

--
Gitblit v1.9.3