From 98f2e843d13efe8e48a1bc210d82f3f85528f561 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 21 十月 2025 11:50:43 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 98 ++++++++++++++++++++++++++++++++++++-------------
1 files changed, 72 insertions(+), 26 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 cbef80e..5823fae 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
@@ -12,6 +12,7 @@
import com.doumee.core.haikang.model.param.respose.ParkReservationAddResponse;
import com.doumee.core.haikang.service.HKService;
import com.doumee.dao.business.dao.UserActionMapper;
+import com.doumee.dao.system.model.SystemDictData;
import com.doumee.service.business.third.WmsService;
import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.service.business.third.model.PageData;
@@ -695,10 +696,10 @@
savePlatformLog(Constants.PlatformJobLogType.SIGN.getKey(),oldPlatformJob,platformJob,
Constants.PlatformJobLogType.SIGN.getInfo());
//绛惧埌寰俊閫氱煡 2025骞�3鏈�26鏃�14:25:00
- logger.info("绛惧埌寰俊閫氱煡=========================>寮�濮�====绛惧埌绫诲瀷=>"+signInDTO.getSignType()+"===>浜哄憳涓婚敭=>"+platformGroup.getSignInNoticeUsers());
+ log.info("绛惧埌寰俊閫氱煡=========================>寮�濮�====绛惧埌绫诲瀷=>"+signInDTO.getSignType()+"===>浜哄憳涓婚敭=>"+platformGroup.getSignInNoticeUsers());
if(!Constants.equalsInteger(signInDTO.getSignType(),Constants.TWO)&&
StringUtils.isNotBlank(platformGroup.getSignInNoticeUsers())){
- logger.info("绛惧埌寰俊閫氱煡=========================>杩涘叆");
+ log.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(",")))
@@ -711,7 +712,7 @@
);
}
}
- logger.info("绛惧埌寰俊閫氱煡=========================>缁撴潫");
+ log.info("绛惧埌寰俊閫氱煡=========================>缁撴潫");
}
@@ -985,7 +986,7 @@
BeanUtils.copyProperties(platformJob,oldPlatformJob);
platformJob.setPlatformId(platform.getId());
platformJob.setInwaitDate(new Date());
- platformJob.setInwaitUserId(jobOperateDTO.getLoginUserInfo().getId());
+ platformJob.setInwaitUserId(Objects.isNull(jobOperateDTO.getLoginUserInfo())?null:jobOperateDTO.getLoginUserInfo().getId());
platformJob.setStatus(Constants.PlatformJobStatus.IN_WAIT.getKey());
platformJob.setEditDate(new Date());
platformJobMapper.updateById(platformJob);
@@ -1035,7 +1036,6 @@
- private Logger logger = LoggerFactory.getLogger(PlatformJobServiceImpl.class);
@Override
public void sendInPark(PlatformJob platformJob){
@@ -1226,7 +1226,7 @@
BeanUtils.copyProperties(platformJob,oldPlatformJob);
platformJob.setCallDate(Objects.isNull(platformJob.getCallDate())?new Date():null);
- platformJob.setCallUserId(jobOperateDTO.getLoginUserInfo().getId());
+ platformJob.setCallUserId(Objects.isNull(jobOperateDTO.getLoginUserInfo())?null:jobOperateDTO.getLoginUserInfo().getId());
platformJob.setStatus(Constants.PlatformJobStatus.CALLED.getKey());
platformJob.setPlatformId(jobOperateDTO.getPlatformId());
//鍒ゆ柇鏄惁闇�瑕佸~鍏呰繘鍘�
@@ -1709,7 +1709,7 @@
jobIds.add(job.getJobId());
}
}catch (Exception e){
- logger.error("=============鏇存柊鐢靛瓙閿佺姸鎬佷俊鎭紓甯革細"+e.getMessage());
+ log.error("=============鏇存柊鐢靛瓙閿佺姸鎬佷俊鎭紓甯革細"+e.getMessage());
}
}
}
@@ -2575,15 +2575,14 @@
return platformJob;
}
-
-
-
+ @Override
public void autoPlatformCallCar(WmsService wmsService){
//鏌ヨ褰撳墠寮�鍚殑鏈堝彴鏁版嵁
List<PlatformGroup> allPlatformGroup = platformGroupMapper.selectList(new QueryWrapper<PlatformGroup>().lambda().eq(PlatformGroup::getStatus,Constants.ZERO)
.eq(PlatformGroup::getIsdeleted,Constants.ZERO).eq(PlatformGroup::getAutoCall,Constants.ONE)
);
- if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(allPlatformGroup)){
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(allPlatformGroup)){
+ log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤鑷姩鍙彿鏈堝彴缁�");
return;
}
//杩囨护褰撳墠鏃堕棿娈典笉鍦ㄦ椂闂村唴鐨勬湀鍙扮粍 AUTO_CALL_END_TIME AUTO_CALL_START_TIME
@@ -2593,7 +2592,8 @@
&& Integer.valueOf(i.getAutoCallStartTime().replaceAll(":","")) < nowHm
&& Integer.valueOf(i.getAutoCallEndTime().replaceAll(":","")) > nowHm
).collect(Collectors.toList());
- if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(autoCallGroup)){
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(autoCallGroup)){
+ log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤宸ヤ綔鏃堕棿鍐� 鑷姩鍙彿鏈堝彴缁�");
return;
}
//鏌ヨ鎵�鏈夋湀鍙�
@@ -2601,15 +2601,18 @@
.lambda()
.eq(Platform::getIsdeleted,Constants.ZERO)
.eq(Platform::getStatus,Constants.ZERO)
- .in(Platform::getId,autoCallGroup.stream().map(i->i.getId()).collect(Collectors.toList()))
+ .isNotNull(Platform::getWorkingNum)
+ .in(Platform::getGroupId,autoCallGroup.stream().map(i->i.getId()).collect(Collectors.toList()))
);
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(platformList)){
+ log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤鑷姩鍙彿鏈堝彴");
return;
}
//寰幆鎵�鏈夎嚜鍔ㄥ彨鍙锋湀鍙�
for (PlatformGroup platformGroup:autoCallGroup) {
List<Platform> platforms = platformList.stream().filter(i->Constants.equalsInteger(i.getGroupId(),platformGroup.getId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(platforms)){
+ log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤鑷姩鍙彿鏈堝彴-"+platformGroup.getName());
continue;
}
Boolean isDefaul = false;
@@ -2627,7 +2630,6 @@
}
}
for (Platform platform:platforms) {
-
//鏈堝彴 鍙彿鍏ュ洯鏁伴噺
Integer workingNum = platform.getWorkingNum();
//鏌ヨ褰撳墠鏈堝彴鏄惁瀛樺湪鏈堝彴鍙彿鏁版嵁 濡傛灉澶т簬绛変簬鍙彨鍙锋暟閲� 鍒欒烦杩�
@@ -2636,6 +2638,7 @@
.eq(PlatformJob::getPlatformId,platform.getId())
.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey())).intValue();
if(workNum>=workingNum){
+ log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氳秴杩囪嚜鍔ㄥ彨鍙蜂綔涓氶檺鍒�-"+platform.getName());
continue;
};
@@ -2645,23 +2648,29 @@
.eq(PlatformJob::getIsdeleted,Constants.ZERO)
.eq(PlatformJob::getPlatformGroupId, platformGroup.getId())
.apply(" ( " +
- " ( t.`STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and t.PLATFORM_GROUP_ID = "+platformGroup.getId()+" )" +
+ " ( `STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and PLATFORM_GROUP_ID = "+platformGroup.getId()+" )" +
" or " +
- " (t.`STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" and and t.PLATFORM_ID = "+platform.getId()+" ) " +
+ " ( `STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" and PLATFORM_ID = "+platform.getId()+" ) " +
" or " +
- " (t.`STATUS` = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_ID = "+platform.getId()+" ) " +
+ " ( `STATUS` = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and PLATFORM_ID = "+platform.getId()+" ) " +
") "
)
//鎺掑簭鏂瑰紡 鏈堝彴浣滀笟绫诲瀷 锛堣浆绉讳腑 >鍙彿鍏ュ洯锛�> 鍔犳�� > 绛惧埌鏃堕棿
.orderByDesc(PlatformJob::getStatus,PlatformJob::getUrgeTime)
.orderByAsc(PlatformJob::getSignDate));
if(CollectionUtils.isEmpty(platformJobList)){
+ log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤婊¤冻鏉′欢鐨勪綔涓�1-"+platform.getName());
continue;
}
for (int i = 0; i < workingNum - workNum ; i++) {
PlatformJob platformJob = this.getAutoCallJob(platformJobList,platform,isDefaul,platformGroup);
+ if(Objects.isNull(platformJob)){
+ log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤婊¤冻鏉′欢鐨勪綔涓�2-"+platform.getName());
+ continue;
+ }
JobOperateDTO jobOperateDTO = new JobOperateDTO();
jobOperateDTO.setJobId(platformJob.getId());
+ jobOperateDTO.setPlatformId(platform.getId());
PlatformJob callPlatformJob = this.platformCallNumber(jobOperateDTO);
platformJobList = platformJobList.stream().filter(j->!Constants.equalsInteger(j.getId(),platformJob.getId())).collect(Collectors.toList());
try{
@@ -2674,7 +2683,7 @@
wmsService.orderPlatformBind(callPlatformJob);
}
}catch (Exception e){
- logger.error("鏈堝彴鑷姩鍙彿鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform));
+ log.error("鏈堝彴鑷姩鍙彿鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform));
}
}
}
@@ -2683,12 +2692,13 @@
+ @Override
public void autoCallInParkCar(WmsService wmsService){
//鏌ヨ褰撳墠寮�鍚殑鏈堝彴鏁版嵁
List<PlatformGroup> allPlatformGroup = platformGroupMapper.selectList(new QueryWrapper<PlatformGroup>().lambda().eq(PlatformGroup::getStatus,Constants.ZERO)
.eq(PlatformGroup::getIsdeleted,Constants.ZERO).eq(PlatformGroup::getAutoCall,Constants.ONE)
);
- if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(allPlatformGroup)){
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(allPlatformGroup)){
return;
}
//杩囨护褰撳墠鏃堕棿娈典笉鍦ㄦ椂闂村唴鐨勬湀鍙扮粍 AUTO_CALL_END_TIME AUTO_CALL_START_TIME
@@ -2698,7 +2708,7 @@
&& Integer.valueOf(i.getAutoCallStartTime().replaceAll(":","")) < nowHm
&& Integer.valueOf(i.getAutoCallEndTime().replaceAll(":","")) > nowHm
).collect(Collectors.toList());
- if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(autoCallGroup)){
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(autoCallGroup)){
return;
}
//鏌ヨ鎵�鏈夋湀鍙�
@@ -2706,7 +2716,8 @@
.lambda()
.eq(Platform::getIsdeleted,Constants.ZERO)
.eq(Platform::getStatus,Constants.ZERO)
- .in(Platform::getId,autoCallGroup.stream().map(i->i.getId()).collect(Collectors.toList()))
+ .isNotNull(Platform::getCallReadyNum)
+ .in(Platform::getGroupId,autoCallGroup.stream().map(i->i.getId()).collect(Collectors.toList()))
);
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(platformList)){
return;
@@ -2746,7 +2757,7 @@
.lambda()
.eq(PlatformJob::getIsdeleted,Constants.ZERO)
.eq(PlatformJob::getPlatformGroupId, platformGroup.getId())
- .apply(" t.`STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and t.PLATFORM_GROUP_ID = "+platformGroup.getId()+" ) ")
+ .apply(" ( `STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and PLATFORM_GROUP_ID = "+platformGroup.getId()+" ) ")
//鎺掑簭鏂瑰紡 鏈堝彴浣滀笟绫诲瀷 锛堝紓甯告寕璧�>鍙彿鍏ュ洯锛�> 鍔犳�� > 绛惧埌鏃堕棿
.orderByDesc(PlatformJob::getStatus,PlatformJob::getUrgeTime)
.orderByAsc(PlatformJob::getSignDate));
@@ -2770,7 +2781,7 @@
wmsService.orderPlatformBind(callPlatformJob);
}
}catch (Exception e){
- logger.error("鑷姩鍙彿鍏ュ洯鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform));
+ log.error("鑷姩鍙彿鍏ュ洯鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform));
}
}
}
@@ -2861,9 +2872,17 @@
if(Objects.isNull(platformWmsJob)){
continue;
}
- //TODO 鏆傛棤鍏ュ簱鐨勬暟鎹�
- if(platformWmsJob.getCarrierName().equals("1") && Constants.equalsInteger(platform.getType(),Constants.ONE)){
- return platformJob;
+ SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.IN_REPERTOTY_CODE);
+ if(Objects.nonNull(systemDictData)){
+ //鍒ゆ柇鏀剧疆浣嶇疆
+ if(platformWmsDetailMapper.selectCount(new QueryWrapper<PlatformWmsDetail>().lambda().eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
+ .eq(PlatformWmsDetail::getWmsJobId,platformWmsJob.getId())
+ .apply(" find_in_set(IN_REPERTOTY_CODE ,'"+systemDictData.getCode()+"')")
+ .eq(PlatformWmsDetail::getInRepertotyCode,"")
+ .isNotNull(PlatformWmsDetail::getInRepertotyCode)
+ ) > Constants.ZERO && Constants.equalsInteger(platform.getType(),Constants.ONE)){
+ return platformJob;
+ }
}
if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){
return platformJob;
@@ -2879,4 +2898,31 @@
return null;
}
+
+ @Override
+ public void jobUrge(Integer jobId,LoginUserInfo loginUserInfo){
+ if(Objects.isNull(jobId)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ PlatformJob platformJob = platformJobMapper.selectById(jobId);
+ if(Objects.isNull(platformJob)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
+ || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())
+ || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey()))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐘舵�佸凡娴佽浆");
+ }
+
+ platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
+ .set(PlatformJob::getUrgeUser,loginUserInfo.getId())
+ .set(PlatformJob::getUrgeTime,DateUtil.getCurrDateTime())
+ .set(PlatformJob::getEditDate,DateUtil.getCurrDateTime())
+ .eq(PlatformJob::getId,platformJob.getId())
+ );
+ }
+
+
+
+
}
--
Gitblit v1.9.3