From dd448977e5c770bf3ae600ee782e3445e8100d99 Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期二, 21 十月 2025 16:05:05 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 100 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 73 insertions(+), 27 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..dd04be4 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)); } } } @@ -2805,7 +2816,7 @@ // 3锛夊鑻ヤ笉婊¤冻浠ヤ笂涓ょ偣锛屽垯鑷姩鍒嗛厤鑷虫暎浠舵湀鍙拌繘琛屼綔涓氾紱 if(Constants.equalsInteger(platformGroup.getType(),Constants.ONE)){ //瑁呰揣鏈堝彴 - 鍑哄簱 - if(Objects.nonNull(platformJob.getWmsId())){ + if(Constants.equalsInteger(platformJob.getOrigin(),Constants.ONE)){ // WM鎺ㄩ�佷换鍔� List<PlatformWmsDetail> platformWmsDetailList = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>().lambda() .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO) @@ -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