From 3b0c9e51e16619e59b58e4ce9870e8f69e89259b Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期二, 21 十月 2025 17:42:11 +0800 Subject: [PATCH] 月台自动叫号处理问题 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 79 ++++++++++++++++++++------------------- 1 files changed, 40 insertions(+), 39 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 d60b9ac..157418c 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 @@ -696,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(","))) @@ -712,7 +712,7 @@ ); } } - logger.info("绛惧埌寰俊閫氱煡=========================>缁撴潫"); + log.info("绛惧埌寰俊閫氱煡=========================>缁撴潫"); } @@ -1036,7 +1036,6 @@ - private Logger logger = LoggerFactory.getLogger(PlatformJobServiceImpl.class); @Override public void sendInPark(PlatformJob platformJob){ @@ -1710,7 +1709,7 @@ jobIds.add(job.getJobId()); } }catch (Exception e){ - logger.error("=============鏇存柊鐢靛瓙閿佺姸鎬佷俊鎭紓甯革細"+e.getMessage()); + log.error("=============鏇存柊鐢靛瓙閿佺姸鎬佷俊鎭紓甯革細"+e.getMessage()); } } } @@ -2576,9 +2575,6 @@ return platformJob; } - - - @Override public void autoPlatformCallCar(WmsService wmsService){ //鏌ヨ褰撳墠寮�鍚殑鏈堝彴鏁版嵁 @@ -2586,6 +2582,7 @@ .eq(PlatformGroup::getIsdeleted,Constants.ZERO).eq(PlatformGroup::getAutoCall,Constants.ONE) ); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(allPlatformGroup)){ + log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤鑷姩鍙彿鏈堝彴缁�"); return; } //杩囨护褰撳墠鏃堕棿娈典笉鍦ㄦ椂闂村唴鐨勬湀鍙扮粍 AUTO_CALL_END_TIME AUTO_CALL_START_TIME @@ -2596,6 +2593,7 @@ && Integer.valueOf(i.getAutoCallEndTime().replaceAll(":","")) > nowHm ).collect(Collectors.toList()); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(autoCallGroup)){ + log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤宸ヤ綔鏃堕棿鍐� 鑷姩鍙彿鏈堝彴缁�"); return; } //鏌ヨ鎵�鏈夋湀鍙� @@ -2607,12 +2605,14 @@ .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; @@ -2630,7 +2630,6 @@ } } for (Platform platform:platforms) { - //鏈堝彴 鍙彿鍏ュ洯鏁伴噺 Integer workingNum = platform.getWorkingNum(); //鏌ヨ褰撳墠鏈堝彴鏄惁瀛樺湪鏈堝彴鍙彿鏁版嵁 濡傛灉澶т簬绛変簬鍙彨鍙锋暟閲� 鍒欒烦杩� @@ -2639,6 +2638,7 @@ .eq(PlatformJob::getPlatformId,platform.getId()) .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey())).intValue(); if(workNum>=workingNum){ + log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氳秴杩囪嚜鍔ㄥ彨鍙蜂綔涓氶檺鍒�-"+platform.getName()); continue; }; @@ -2659,11 +2659,13 @@ .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(); @@ -2681,7 +2683,7 @@ wmsService.orderPlatformBind(callPlatformJob); } }catch (Exception e){ - logger.error("鏈堝彴鑷姩鍙彿鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform)); + log.error("鏈堝彴鑷姩鍙彿鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform)); } } } @@ -2779,7 +2781,7 @@ wmsService.orderPlatformBind(callPlatformJob); } }catch (Exception e){ - logger.error("鑷姩鍙彿鍏ュ洯鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform)); + log.error("鑷姩鍙彿鍏ュ洯鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform)); } } } @@ -2814,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) @@ -2829,30 +2831,30 @@ //鍗曚竴鍝佺被 涓斿綋鍓嶅惊鐜湀鍙颁负鏁存墭鐩樻湀鍙� return platformJob; }else if(!Constants.equalsInteger(materialNameSet.size(),Constants.ONE)){ - if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){ - //闈炲崟涓�鍝佺被 - //濡傛灉鍗曚釜杩愬崟鍖呭惈涓や釜鍙婁互涓婄殑鍝佽锛屽垯闇�瑕佸垽鏂槸鍚﹀瓨鍦ㄥ崟涓搧瑙勮秴杩� 500 浠朵笖璇ュ搧瑙勬暟閲忓崰鏁翠釜杩愬崟浠诲姟閲忕殑 60%鍙婁互涓婏紝鍒欒嚜鍔ㄥ垎閰嶈嚦鍦ㄦ暣鎵樼洏 鏈堝彴杩涜鏈堝彴锛� - BigDecimal total = platformWmsDetailList.stream().map(i->i.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add); - BigDecimal compareTotal = new BigDecimal("500"); - if((total.multiply(new BigDecimal("0.6")).compareTo(compareTotal)>Constants.ZERO)){ - compareTotal = total.multiply(new BigDecimal("0.6")); - } - for (String name:materialNameSet) { - BigDecimal quanlity = platformWmsDetailList.stream().filter(i->i.getMaterialName().equals(name)).map(i->i.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add); - if(quanlity.compareTo(compareTotal)>Constants.ZERO){ - //瓒呰繃瑙勫畾鏁伴噺 涓斿綋鍓嶆湀鍙颁负鏁存墭鏈堝彴 - return platformJob; - } + //闈炲崟涓�鍝佺被 + //濡傛灉鍗曚釜杩愬崟鍖呭惈涓や釜鍙婁互涓婄殑鍝佽锛屽垯闇�瑕佸垽鏂槸鍚﹀瓨鍦ㄥ崟涓搧瑙勮秴杩� 500 浠朵笖璇ュ搧瑙勬暟閲忓崰鏁翠釜杩愬崟浠诲姟閲忕殑 60%鍙婁互涓婏紝鍒欒嚜鍔ㄥ垎閰嶈嚦鍦ㄦ暣鎵樼洏 鏈堝彴杩涜鏈堝彴锛� + BigDecimal total = platformWmsDetailList.stream().map(i->i.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add); + BigDecimal compareTotal = new BigDecimal("500"); + if((total.multiply(new BigDecimal("0.6")).compareTo(compareTotal)>Constants.ZERO)){ + compareTotal = total.multiply(new BigDecimal("0.6")); + } + Boolean flag = false; //鏄惁瀛樺湪澶т簬鎬昏繍鍗�60%鏁伴噺鐨勬暟鎹� + for (String name:materialNameSet) { + BigDecimal quanlity = platformWmsDetailList.stream().filter(i->i.getMaterialName().equals(name)).map(i->i.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add); + if(quanlity.compareTo(compareTotal)>Constants.ZERO){ + flag = true; + break; } } - } - //寰幆WMS浠诲姟 鏈垎閰嶈嚦鏁存墭鐩樻湀鍙板垯鐩存帴鍒嗛厤鍒版暎鎵樼洏鏈堝彴 - if(Constants.equalsInteger(platform.getType(),Constants.ONE)){ - return platformJob; + if(Constants.equalsInteger(platform.getType(),Constants.ZERO)&&flag){ + return platformJob; + }else if(Constants.equalsInteger(platform.getType(),Constants.ONE)&&!flag){ + return platformJob; + } } }else{ //鐗╂祦杞﹂绾︾殑浠诲姟 鐩存帴鍒嗛厤 鏁f墭鐩樻湀鍙� - if(Constants.equalsInteger(platform.getType(),Constants.TWO)){ + if(Constants.equalsInteger(platform.getType(),Constants.ONE)){ return platformJob; } } @@ -2872,21 +2874,20 @@ } 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) + Boolean flag = 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)){ + ) > Constants.ZERO; + //鍒ゆ柇鍙戣揣鐐逛俊鎭� + if(flag && Constants.equalsInteger(platform.getType(),Constants.ONE)){ + return platformJob; + }else if(!flag && Constants.equalsInteger(platform.getType(),Constants.ZERO)){ return platformJob; } } - if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){ - return platformJob; - } }else{ - //鐗╂祦杞﹂绾︾殑浠诲姟 鐩存帴鍒嗛厤 鏁f墭鐩樻湀鍙� + //鐗╂祦杞﹂绾︾殑浠诲姟 鐩存帴鍒嗛厤 鏁存墭鐩樻湀鍙� if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){ return platformJob; } -- Gitblit v1.9.3