From 40c628dbd5239699d9511f756506bd119e97dfbd Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 08 五月 2025 15:58:51 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 155 insertions(+), 8 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index c1fd2cb..d8839df 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -131,6 +131,8 @@
@Autowired
private PlatformWarnEventServiceImpl platformWarnEventService;
@Autowired
+ private PlatformWarnEventMapper platformWarnEventMapper;
+ @Autowired
private MemberMapper memberMapper;
@Autowired
private WxNoticeConfigMapper wxNoticeConfigMapper;
@@ -223,6 +225,7 @@
@Override
public List<PlatformJob> findList(PlatformJob platformJob) {
+ platformJob.setIsdeleted(Constants.ZERO);
QueryWrapper<PlatformJob> wrapper = new QueryWrapper<>(platformJob);
return platformJobMapper.selectList(wrapper);
}
@@ -247,6 +250,7 @@
.leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
.leftJoin(SystemUser.class,SystemUser::getId,PlatformJob::getOutUserId)
.leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
.eq(pageWrap.getModel().getId() != null, PlatformJob::getId, pageWrap.getModel().getId())
.eq(pageWrap.getModel().getCreator() != null, PlatformJob::getCreator, pageWrap.getModel().getCreator())
.ge(pageWrap.getModel().getCreateDate() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
@@ -262,6 +266,7 @@
.eq(pageWrap.getModel().getCode() != null, PlatformJob::getCode, pageWrap.getModel().getCode())
.eq(pageWrap.getModel().getBillCode() != null, PlatformJob::getBillCode, pageWrap.getModel().getBillCode())
.eq(pageWrap.getModel().getDriverId() != null, PlatformJob::getDriverId, pageWrap.getModel().getDriverId())
+ .eq(pageWrap.getModel().getReasonId() != null, PlatformBooks::getReasonId, pageWrap.getModel().getReasonId())
.eq(pageWrap.getModel().getDriverName() != null, PlatformJob::getDriverName, pageWrap.getModel().getDriverName())
.eq(pageWrap.getModel().getPlateNum() != null, PlatformJob::getPlateNum, pageWrap.getModel().getPlateNum())
.eq(pageWrap.getModel().getDrivierPhone() != null, PlatformJob::getDrivierPhone, pageWrap.getModel().getDrivierPhone())
@@ -321,7 +326,6 @@
.eq(pageWrap.getModel().getInType() != null, PlatformJob::getInType, pageWrap.getModel().getInType())
.eq(pageWrap.getModel().getTotalNum() != null, PlatformJob::getTotalNum, pageWrap.getModel().getTotalNum())
.eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId())
-
.apply(pageWrap.getModel().getQueryStatus() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatus()+"')")
.apply(pageWrap.getModel().getQueryStatusForPower() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatusForPower()+"')")
.apply(pageWrap.getModel().getQueryType() != null, " find_in_set(t.TYPE,'"+pageWrap.getModel().getQueryType()+"')")
@@ -331,9 +335,13 @@
.le(pageWrap.getModel().getBeginWorkDateEnd() != null, PlatformJob::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getBeginWorkDateEnd()))
.ge(pageWrap.getModel().getBeginDoneDateStart() != null, PlatformJob::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getBeginDoneDateStart()))
.le(pageWrap.getModel().getBeginDoneDateEnd() != null, PlatformJob::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getBeginDoneDateEnd()))
-
- .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
- .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
+// .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()),
+// PlatformJob::getContractNum)
+// .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
+ .exists(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()),
+ "select 1 from platform_wms_detail tt where tt.isdeleted=0 and tt.job_id=t.id")
+ .notExists(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()),
+ "select 1 from platform_wms_detail tt where tt.isdeleted=0 and tt.job_id=t.id")
.exists(StringUtils.isNotBlank(pageWrap.getModel().getWmsContractNum()),
"select tt.id from platform_wms_detail tt where tt.isdeleted=0 and tt.contract_num='"+pageWrap.getModel().getWmsContractNum()+"' and tt.job_id=t.id");
queryWrapper.orderByDesc(PlatformJob::getCreateDate);
@@ -352,8 +360,6 @@
});
return PageData.from(platformJobIPage);
}
-
-
@Override
public PageData<PlatformJob> platformCallList(PageWrap<PlatformJob> pageWrap) {
@@ -685,7 +691,74 @@
//瀛樺偍鎿嶄綔鏃ュ織
savePlatformLog(Constants.PlatformJobLogType.SIGN.getKey(),oldPlatformJob,platformJob,
Constants.PlatformJobLogType.SIGN.getInfo());
+ //绛惧埌寰俊閫氱煡 2025骞�3鏈�26鏃�14:25:00
+ logger.info("绛惧埌寰俊閫氱煡=========================>寮�濮�====绛惧埌绫诲瀷=>"+signInDTO.getSignType()+"===>浜哄憳涓婚敭=>"+platformGroup.getSignInNoticeUsers());
+ if(!Constants.equalsInteger(signInDTO.getSignType(),Constants.TWO)&&
+ StringUtils.isNotBlank(platformGroup.getSignInNoticeUsers())){
+ logger.info("绛惧埌寰俊閫氱煡=========================>杩涘叆");
+ List<SystemUser> systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda()
+ .eq(SystemUser::getDeleted,Constants.ZERO).eq(SystemUser::getStatus,Constants.ZERO).isNotNull(SystemUser::getOpenid)
+ .in(SystemUser::getMemberId,Arrays.asList(platformGroup.getSignInNoticeUsers().split(",")))
+ );
+ if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemUserList)) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobSignNotice(systemDictDataBiz,wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformGroupSignIn,
+ systemUserList.stream().map(i->i.getOpenid()).collect(Collectors.toList())
+ );
+ }
+ }
+ logger.info("绛惧埌寰俊閫氱煡=========================>缁撴潫");
}
+
+
+ @Override
+ public void sendUnFinishNotice(){
+ //鐘舵�� 0寰呯‘璁� 1寰呯鍒� 2绛夊緟鍙彿 3鍏ュ洯绛夊緟 4宸插彨鍙� 5浣滀笟涓� 6浣滀笟瀹屾垚 7杞Щ涓� 8寮傚父鎸傝捣 9宸叉巿鏉冪鍥� 10宸茬鍥� 11 宸茶繃鍙� 12鍙栨秷锛圵MS锛�
+ List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAll(PlatformJob.class)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .isNotNull(PlatformJob::getPlatformGroupId)
+ .apply(" CREATE_DATE < now() ")
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey()
+ ,Constants.PlatformJobStatus.WART_SIGN_IN.getKey()
+ ,Constants.PlatformJobStatus.WAIT_CALL.getKey()
+ ,Constants.PlatformJobStatus.IN_WAIT.getKey()
+ ,Constants.PlatformJobStatus.CALLED.getKey()
+ ,Constants.PlatformJobStatus.WORKING.getKey()
+ ,Constants.PlatformJobStatus.TRANSFERING.getKey()
+ ,Constants.PlatformJobStatus.EXCEPTION.getKey()
+ ,Constants.PlatformJobStatus.OVER_NUMBER.getKey()
+ )
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){
+ List<Integer> platformGroupId = platformJobList.stream().map(i->i.getPlatformGroupId()).collect(Collectors.toList());
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformGroupId)){
+ Set<Integer> setList = new HashSet<>(platformGroupId);
+ for (Integer groupId:setList) {
+ PlatformGroup platformGroup = platformGroupMapper.selectById(groupId);
+ if(Objects.nonNull(platformGroup)&&StringUtils.isNotBlank(platformGroup.getUnFinishNoticeUsers())){
+ List<SystemUser> systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda()
+ .eq(SystemUser::getDeleted,Constants.ZERO).eq(SystemUser::getStatus,Constants.ZERO)
+ .isNotNull(SystemUser::getOpenid)
+ .in(SystemUser::getMemberId,Arrays.asList(platformGroup.getUnFinishNoticeUsers().split(",")))
+ );
+ if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemUserList)) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendUnFinishNotice(systemDictDataBiz,
+ wxNoticeConfigMapper,
+ platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformGroupId(),groupId)).collect(Collectors.toList()).size(),
+ WxPlatConstants.platformJobContent.unFinishNotice,
+ systemUserList.stream().map(i->i.getOpenid()).collect(Collectors.toList())
+ );
+ }
+ }
+ }
+ }
+ }
+ }
+
public void distanceSignIn(SignInDTO signInDTO , PlatformJob platformJob){
if(Objects.isNull(signInDTO.getLat())
@@ -950,11 +1023,11 @@
wxPlatNotice.sendPlatformJobTemplateNotice(systemDictDataBiz,
wxNoticeConfigMapper, p,
objCode,
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
Arrays.asList(driver.getOpenid().split(","))
);
}
}
+
@@ -1065,6 +1138,11 @@
if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){
//濡傛灉宸蹭笅鍙戞垚鍔燂紝鏍囪宸叉巿鏉冪鍥姸鎬�
platformJob.setStatus(Constants.PlatformJobStatus.AUTHED_LEAVE.getKey());
+ //鍒犻櫎鎶ヨ淇℃伅
+ platformWarnEventMapper.update(new UpdateWrapper<PlatformWarnEvent>().lambda()
+ .set(PlatformWarnEvent::getIsdeleted,Constants.ONE)
+ .eq(PlatformWarnEvent::getPlatformId,platformJob.getId())
+ );
}
}else{
platformJob.setInHkstatus(Constants.THREE);
@@ -1529,6 +1607,12 @@
//瀛樺偍鎿嶄綔鏃ュ織
savePlatformLog(Constants.PlatformJobLogType.DONE.getKey(),oldPlatformJob,platformJob ,
Constants.PlatformJobLogType.DONE.getInfo());
+
+ //鍒犻櫎鎶ヨ淇℃伅
+ platformWarnEventMapper.update(new UpdateWrapper<PlatformWarnEvent>().lambda()
+ .set(PlatformWarnEvent::getIsdeleted,Constants.ONE)
+ .eq(PlatformWarnEvent::getPlatformId,platformJob.getId())
+ );
if(Constants.equalsInteger(platformJob.getType(),Constants.THREE)){
// 澶栧崗杞﹁璐� 鏌ヨTMS 鐢靛瓙閿佹儏鍐�
@@ -1578,7 +1662,9 @@
//骞挎挱 led閫氱煡
platformJob.setPlatformName(platform.getName());
- this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.DONE.getInfo(),
+ this.broadcastAndLEed(platformJob,
+ //Constants.PlatformLedContent.DONE.getInfo(),
+ StringUtils.isBlank(platform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getInfo():platform.getLedContent(),
Constants.PlatformBroadcastContent.DONE.getInfo());
return platformJob;
}
@@ -2352,5 +2438,66 @@
}
+ /**
+ * 鎵嬪姩瀹屾垚浣滀笟
+ * @param jobIdList
+ */
+ @Override
+ public void dealJobFinish(List<Integer> jobIdList){
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(jobIdList)){
+ List<PlatformJob> platformJobList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda()
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey()
+ ,Constants.PlatformJobStatus.WART_SIGN_IN.getKey()
+ ,Constants.PlatformJobStatus.WAIT_CALL.getKey())
+ .in(PlatformJob::getId,jobIdList)
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){
+
+ platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
+ .set(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey())
+ .set(PlatformJob::getDoneDate,new Date())
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getId,platformJobList.stream().map(i->i.getId()).collect(Collectors.toList())));
+ }
+
+ }
+
+
+ }
+
+ @Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ public PlatformJob restoreWork(JobOperateDTO jobOperateDTO){
+ if(Objects.isNull(jobOperateDTO)
+ || Objects.isNull(jobOperateDTO.getJobId())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
+ if(Objects.isNull(platformJob)||Constants.equalsInteger(platformJob.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,涓氬姟鐘舵�佸凡娴佽浆锛�");
+ }
+ Platform platform = platformJoinMapper.selectById(platformJob.getPlatformId());
+ if(Objects.isNull(platform)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈堝彴淇℃伅");
+ }
+ PlatformJob oldPlatformJob = new PlatformJob();
+ BeanUtils.copyProperties(platformJob,oldPlatformJob);
+ if(Objects.isNull(platformJob.getStartDate())){
+ platformJob.setStartDate(new Date());
+ }
+ platformJob.setStatus(Constants.PlatformJobStatus.WORKING.getKey());
+ platformJob.setEditDate(new Date());
+ platformJobMapper.updateById(platformJob);
+
+ //瀛樺偍鎿嶄綔鏃ュ織
+ savePlatformLog(Constants.PlatformJobLogType.WORKING.getKey(),oldPlatformJob,platformJob,
+ Constants.PlatformJobLogType.WORKING.getInfo().replace("{data}",platform.getName()));
+ return platformJob;
+ }
}
--
Gitblit v1.9.3