From 48ebf56c81939920c2360ce3ff9053c64bfbc03d Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 06 五月 2025 10:09:09 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 158 ++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 120 insertions(+), 38 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 d19114c..53983ed 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
@@ -172,7 +172,7 @@
if (erpVisitDTO.getEndtime().getTime() <= erpVisitDTO.getStarttime().getTime()) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害缁撴潫鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂达紒");
}
- if (Constants.equalsInteger(Constants.ZERO, erpVisitDTO.getIdcardType()) && erpVisitDTO.getIdcardNo().length() != 18
+ if (StringUtils.isNotBlank(erpVisitDTO.getIdcardNo()) && Constants.equalsInteger(Constants.ZERO, erpVisitDTO.getIdcardType()) && erpVisitDTO.getIdcardNo().length() != 18
//&&!IdcardUtil.isValidCard(visits.getIdcardNo())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
@@ -240,9 +240,8 @@
getHkDeviceRoles(visits,isERP);
//妫�楠屾嫓璁夸汉鏄惁鍚堟硶
Member visitMember = isValideVisitedUser(visits.getReceptMemberId());
- if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())
- &&visits.getIdcardNo().length()!=18
- ){
+ if(StringUtils.isNotBlank(visits.getIdcardNo()) && Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())
+ &&visits.getIdcardNo().length()!=18 ){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
}
Date date = new Date();
@@ -303,8 +302,7 @@
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(),
+ Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload,
Arrays.asList(visits.getOpenid().split(","))
);
}
@@ -313,7 +311,6 @@
return visits.getId();
}
-
@Override
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
@@ -342,7 +339,6 @@
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(","))
);
}
@@ -569,7 +565,7 @@
.eq(ApproveParam::getLevel,Constants.ONE)
.eq(ApproveParam::getMemberType,Constants.ZERO)
.last("limit 1"));
- return Objects.isNull(approveParam)?null:approveParam.getId();
+ return Objects.isNull(approveParam)?null:approveParam.getId();
}
@@ -1325,6 +1321,9 @@
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());
+ queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getQueryStarttime()),Visits::getStarttime,Utils.Date.getStart(pageWrap.getModel().getQueryStarttime()));
+ queryWrapper.le(Objects.nonNull(pageWrap.getModel().getQueryEndtime()),Visits::getStarttime,Utils.Date.getEnd(pageWrap.getModel().getQueryEndtime()));
+
if(Objects.nonNull(pageWrap.getModel().getBusinessStatus())){
if(Constants.equalsInteger(pageWrap.getModel().getBusinessStatus(),Constants.TWO)){
@@ -1531,8 +1530,24 @@
@Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void visitLevelForCarOut(Visits visits){
+ visits.setRemark("璺熼殢璁垮杞﹁締绂诲洯鑷姩绛剧");
+ visitLevelBiz(visits);
+ }
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
public void visitLevel(Integer visitId){
Visits visits = visitsMapper.selectById(visitId);
+ visits.setRemark("骞冲彴绠$悊鍛樻墜鍔ㄧ绂绘垚鍔�");
+ visitLevelBiz(visits);
+ //浜у嚭鍦ㄥ満浜哄憳淇℃伅
+ retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
+ .eq(Retention::getType,Constants.memberType.visitor)
+ .eq(Retention::getMemberId,visits.getMemberId()));
+ }
+
+ private void visitLevelBiz(Visits visits) {
if(Objects.isNull(visits)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
@@ -1543,14 +1558,16 @@
request.setOrderId(visits.getHkId());
//璋冪敤娴峰悍寮哄埗绛剧
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));
- //浜у嚭鍦ㄥ満浜哄憳淇℃伅
- retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
- .eq(Retention::getType,Constants.memberType.visitor)
- .eq(Retention::getMemberId,visits.getMemberId()));
+ if(response!=null &&StringUtils.isNotBlank(response.getCode()) && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ visitsMapper.update(null,new UpdateWrapper<Visits>().lambda()
+ .set(Visits::getStatus,Constants.VisitStatus.signout)
+ .set(Visits::getRemark,visits.getRemark())
+ .eq(Visits::getId,visits.getId()));
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮绛剧澶辫触锛岃鍒锋柊閲嶈瘯");
+ }
}
+
@Override
public void visitCancel(Integer visitId){
Visits visits = visitsMapper.selectById(visitId);
@@ -1617,7 +1634,7 @@
}
if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.pass)
&& Constants.equalsInteger(visits.getHkStatus(),Constants.ONE)
- &&StringUtils.isNotBlank(visits.getHkId())){
+ &&StringUtils.isNotBlank(visits.getCarNos())){
//鍙栨秷鍋滆溅鍦洪绾�
List<VisitPark> visitParkList = visitParkMapper.selectList(new QueryWrapper<VisitPark>().lambda()
.eq(VisitPark::getCarCode,visits.getCarNos())
@@ -1681,13 +1698,33 @@
new UpdateWrapper<Notices>().lambda()
.set(Notices::getEditDate,new Date())
.set(Notices::getInfo,"鎵嬪姩鍙栨秷")
-// .set(Notices::getStatus,Constants.ONE)
- .set(Notices::getParam2,Constants.FOUR)//宸插彇娑�
+ .setSql(" param4 = user_id ")
+ .set(Notices::getStatus,Constants.ONE)
+ .set(Notices::getParam2,Constants.ONE)//鏍囪宸插鐞�
.eq(Notices::getStatus,Constants.ZERO)
.eq(Notices::getParam2,Constants.ZERO)//寰呭鐞�
.eq(Notices::getObjId,visits.getId())
- .eq(Notices::getObjType,Constants.equalsInteger(visits.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting)
+ .eq(Notices::getObjType,!Constants.equalsInteger(visits.getType(),Constants.TWO)?
+ Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting)
);
+
+ Approve approve = new Approve();
+ approve.setCreateDate(new Date());
+ approve.setIsdeleted(Constants.ZERO);
+ approve.setRemark("鎵嬪姩鍙栨秷");
+ approve.setChekorId(visits.getEditor());
+ approve.setTitle("鍙栨秷棰勭害");
+ approve.setStatus(Constants.THREE);
+ approve.setStatusInfo("鎵嬪姩鍙栨秷");
+ approve.setObjId(visits.getId());
+ approve.setLevel(9999);
+ approve.setApproveType(2);
+ approve.setDriverParam(Constants.ZERO);
+ approve.setAddrParam(Constants.ZERO);
+ approve.setObjType(visits.getType());
+ approve.setType(Constants.ZERO);
+ approve.setCheckDate(new Date());
+ approveMapper.insert(approve);
}
visitsMapper.update(null,updateWrapper);
@@ -1823,6 +1860,7 @@
List<InterestedListVO> weekVisitList = new ArrayList<>();
List<InterestedListVO> weekCarList = new ArrayList<>();
List<InterestedListVO> lwList = new ArrayList<>();
+ List<InterestedListVO> internalList = new ArrayList<>();
//鏌ヨ涓冨ぉ鍓嶇殑璁垮璁板綍鏁伴噺
List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda().in(Visits::getStatus,
Constants.VisitStatus.signin,Constants.VisitStatus.signout)
@@ -1877,25 +1915,49 @@
.eq(Company::getIsdeleted,Constants.ZERO)
);
+
+
if(CollectionUtils.isNotEmpty(companyList)){
- List<Integer> companyIds = companyList.stream().map(i->i.getId()).collect(Collectors.toList());
- List<Retention> retentionList = retentionMapper.selectList(
- new QueryWrapper<Retention>().lambda()
- .eq(Retention::getType,Constants.TWO)
- .in(Retention::getCompanyId,companyIds)
- );
- for (Company company:companyList) {
- Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size();
- if(count>0){
- InterestedListVO lw = new InterestedListVO();
- lw.setNum(count);
- lw.setName(company.getName());
- lwList.add(lw);
+ List<Company> lwCompanyList = companyList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(lwCompanyList)){
+ List<Integer> lwCompanyIds = lwCompanyList.stream().map(i->i.getId()).collect(Collectors.toList());
+ List<Retention> retentionList = retentionMapper.selectList(
+ new QueryWrapper<Retention>().lambda()
+ .eq(Retention::getType,Constants.TWO)
+ .in(Retention::getCompanyId,lwCompanyIds)
+ );
+ for (Company company:lwCompanyList) {
+ Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size();
+ if(count>0){
+ InterestedListVO lw = new InterestedListVO();
+ lw.setNum(count);
+ lw.setName(company.getName());
+ lwList.add(lw);
+ }
+ }
+ }
+
+ List<Company> internalCompanyList = companyList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(internalCompanyList)){
+ List<Integer> internalCompanyIds = internalCompanyList.stream().map(i->i.getId()).collect(Collectors.toList());
+ List<Retention> retentionList = retentionMapper.selectList(
+ new QueryWrapper<Retention>().lambda()
+ .eq(Retention::getType,Constants.TWO)
+ .in(Retention::getCompanyId,internalCompanyIds)
+ );
+ for (Company company:internalCompanyList) {
+ Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size();
+ if(count>0){
+ InterestedListVO lw = new InterestedListVO();
+ lw.setNum(count);
+ lw.setName(company.getName());
+ internalList.add(lw);
+ }
}
}
}
-
- pcWorkPlatformDataVO.setLwList(lwList );
+ pcWorkPlatformDataVO.setInternalList(internalList);
+ pcWorkPlatformDataVO.setLwList(lwList);
}else if(Constants.equalsInteger(queryType,Constants.THREE)) {
if (Objects.isNull(loginUserInfo.getMemberId())) {
pcWorkPlatformDataVO.setNoticesList(new ArrayList<>());
@@ -1965,6 +2027,7 @@
List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
.eq(Visits::getStatus,Constants.VisitStatus.signin)
.eq(Visits::getSendTimeOutNotice,Constants.ZERO)
+ .eq(Visits::getIsdeleted,Constants.ZERO)
.apply(" now() >= DATE_ADD(ENDTIME,INTERVAL -"+times+" MINUTE) ")
);
Integer visitTimeCount = 0;
@@ -2037,9 +2100,26 @@
.eq(Visits::getId,s.getId()));
VisitsServiceImpl.dealCancelNoticesData(noticesJoinMapper,approveMapper,"绯荤粺鍙栨秷",s.getId(),
- s.getType(),Constants.equalsInteger(s.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting
+ s.getType(),
+ !Constants.equalsInteger(s.getType(),Constants.TWO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting
);
+ Approve approve = new Approve();
+ approve.setCreateDate(new Date());
+ approve.setIsdeleted(Constants.ZERO);
+ approve.setRemark("绯荤粺鑷姩鍙栨秷");
+ approve.setTitle("鍙栨秷棰勭害");
+ approve.setStatus(Constants.THREE);
+ approve.setStatusInfo("瓒呮椂鑷姩鍙栨秷");
+ approve.setObjId(s.getId());
+ approve.setLevel(9999);
+ approve.setApproveType(2);
+ approve.setDriverParam(Constants.ZERO);
+ approve.setAddrParam(Constants.ZERO);
+ approve.setObjType(s.getType());
+ approve.setType(Constants.ZERO);
+ approve.setCheckDate(new Date());
+ approveMapper.insert(approve);
// //鏇存柊瀹℃壒涓殑璁板綍涓哄彇娑�
// approveMapper.update(null,
@@ -2086,8 +2166,10 @@
noticesJoinMapper.update(null,
new UpdateWrapper<Notices>().lambda()
.set(Notices::getEditDate,new Date())
- .set(Notices::getInfo,info)
- .set(Notices::getParam2,Constants.FOUR)//宸插彇娑�
+ .set(Notices::getInfo,"鑷姩鍙栨秷")
+ .setSql(" param4 = user_id ")
+ .set(Notices::getStatus,Constants.ONE)
+ .set(Notices::getParam2,Constants.ONE)//宸插彇娑�
.eq(Notices::getStatus,Constants.ZERO)
.eq(Notices::getParam2,Constants.ZERO)//寰呭鐞�
.eq(Notices::getObjId,objId)
--
Gitblit v1.9.3