From f63d3a3be83fea258e7920efccd2567b6a511bb3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 16 一月 2025 16:52:46 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java |   83 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 72 insertions(+), 11 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 23c989b..6e2f02b 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,21 @@
 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.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 +35,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;
@@ -82,7 +81,7 @@
     @Autowired
     private RetentionMapper retentionMapper;
     @Autowired
-    private VisitsMapper visitsMapper;
+    private VisitsJoinMapper visitsMapper;
     @Autowired
     private ApproveMapper approveMapper;
     @Autowired
@@ -170,10 +169,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 +227,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);
@@ -297,7 +296,7 @@
         //鍙戦�佸井淇″叕浼楀彿閫氱煡 - 鐢宠鎻愪氦鎴愬姛寰呭鏍�
         if(StringUtils.isNotBlank(visits.getOpenid())){
             WxPlatNotice wxPlatNotice = new WxPlatNotice();
-            wxPlatNotice.sendVisitTemplateNotice(
+            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(),
@@ -331,6 +330,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 +1219,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;
     }
 
@@ -1260,6 +1288,23 @@
         queryWrapper.isNull(Visits::getParentId);
         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberId()),Visits::getMemberId,pageWrap.getModel().getMemberId());
         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getReceptMemberId()),Visits::getReceptMemberId,pageWrap.getModel().getReceptMemberId());
+
+        if(Objects.nonNull(pageWrap.getModel().getBusinessStatus())){
+            if(Constants.equalsInteger(pageWrap.getModel().getBusinessStatus(),Constants.TWO)){
+                queryWrapper.in(Visits::getStatus,
+                        Constants.VisitStatus.xfSuccess,
+                        Constants.VisitStatus.xfFail,
+                        Constants.VisitStatus.signin,
+                        Constants.VisitStatus.signout,
+                        Constants.VisitStatus.invalid,
+                        Constants.VisitStatus.pass
+                        );
+            }else{
+                queryWrapper.eq(Visits::getStatus,pageWrap.getModel().getBusinessStatus());
+            }
+
+        }
+
         queryWrapper.orderByDesc(Visits::getCreateDate);
         IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
 
@@ -1392,6 +1437,21 @@
                             memberId)
             );
 //        }
+
+        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)
+                .orderByDesc(Notices::getId).last(" limit 1 "));
+        if(Objects.nonNull(notices)){
+            if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){
+                visitDetailVO.setInfo("寰呮垜澶勭悊");
+            }else{
+                visitDetailVO.setInfo(notices.getInfo());
+            }
+        }
+
         return visitDetailVO;
     }
 
@@ -1522,6 +1582,7 @@
         dto.setPassword(resetPasswordDTO.getPassword());
         dto.setId(systemUser.getId());
         dto.setOperaUserId(systemUser.getId());
+        dto.setNeedChangePwd(Constants.ONE);
         systemUserBiz.resetPwd(dto);
     }
 
@@ -1768,7 +1829,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