From 5ffe34a87c27f73bc92b2ac0c58e6894ec61792b Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期三, 22 十月 2025 08:46:32 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 289 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 198 insertions(+), 91 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 16f88e7..c130195 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 @@ -1000,11 +1000,40 @@ emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(), SmsConstants.platformJobContent.platformJobCallIn,null,null ); - + //鍏紬鍙锋ā鏉挎秷鎭� if(Objects.nonNull(platformJob.getDrivierPhone())) { - this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobCallIn,platformJob); + this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobCallIn,platformJob); } + return platformJob; + } + public PlatformJob platformInParkBiz(PlatformJob platformJob, Platform platform ){ + platformJob.setPlatformId(platform.getId()); + platformJob.setPlatformName(platform.getName()); + //鍒ゆ柇鏄惁闇�瑕佸~鍏呰繘鍘� + if(StringUtils.isBlank(platformJob.getPlatforms())){ + platformJob.setPlatforms(platform.getId().toString()); + platformJob.setPlatformNames(platform.getName()); + }else{ + if(!Constants.equalsInteger(platform.getId(),platformJob.getPlatformId())){ + platformJob.setPlatforms(platformJob.getPlatforms() + "," +platformJob.getPlatformId().toString()); + platformJob.setPlatformNames(platformJob.getPlatformNames() + "," +platform.getName()); + } + } + + PlatformJob oldPlatformJob = new PlatformJob(); + BeanUtils.copyProperties(platformJob,oldPlatformJob); + platformJob.setPlatformId(platform.getId()); + platformJob.setInwaitDate(new Date()); + platformJob.setStatus(Constants.PlatformJobStatus.IN_WAIT.getKey()); + platformJob.setEditDate(new Date()); + platformJobMapper.updateById(platformJob); + + //瀛樺偍鎿嶄綔鏃ュ織 + savePlatformLog(Constants.PlatformJobLogType.IN_WAIT.getKey(),oldPlatformJob,platformJob, + Constants.PlatformJobLogType.IN_WAIT.getInfo()); + + return platformJob; } @@ -1207,7 +1236,7 @@ ) ){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,涓氬姟鐘舵�佸凡娴佽浆锛�"); } - + Platform platform = platformJoinMapper.selectById(jobOperateDTO.getPlatformId()); if(Objects.isNull(platform)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈堝彴淇℃伅"); @@ -1226,6 +1255,7 @@ BeanUtils.copyProperties(platformJob,oldPlatformJob); platformJob.setCallDate(Objects.isNull(platformJob.getCallDate())?new Date():null); + platformJob.setCallWay(0); platformJob.setCallUserId(Objects.isNull(jobOperateDTO.getLoginUserInfo())?null:jobOperateDTO.getLoginUserInfo().getId()); platformJob.setStatus(Constants.PlatformJobStatus.CALLED.getKey()); platformJob.setPlatformId(jobOperateDTO.getPlatformId()); @@ -1265,6 +1295,34 @@ Constants.PlatformBroadcastContent.CALLING.getInfo()+ Constants.PlatformBroadcastContent.CALLING.getInfo() + Constants.PlatformBroadcastContent.CALLING.getInfo() ); + platformJob.setPlatformWmsCode(platform.getCode()); + return platformJob; + } + public PlatformJob platformCallNumberBiz( PlatformJob platformJob ,Platform platform ){ + platformJob.setPlatformId(platform.getId()); + PlatformJob oldPlatformJob = new PlatformJob(); + BeanUtils.copyProperties(platformJob,oldPlatformJob); + platformJob.setCallDate(Objects.isNull(platformJob.getCallDate())?new Date():null); + platformJob.setCallWay(Constants.ONE); + platformJob.setStatus(Constants.PlatformJobStatus.CALLED.getKey()); + platformJob.setPlatformId(platform.getId()); + //鍒ゆ柇鏄惁闇�瑕佸~鍏呰繘鍘� + if(StringUtils.isBlank(platformJob.getPlatforms())){ + platformJob.setPlatforms(platform.getId().toString()); + platformJob.setPlatformNames(platform.getName()); + }else{ + if(!Constants.equalsInteger(platform.getId(),platformJob.getPlatformId())){ + platformJob.setPlatforms(platformJob.getPlatforms() + "," +platform.getId().toString()); + platformJob.setPlatformNames(platformJob.getPlatformNames() + "," +platform.getName()); + } + } + platformJob.setEditDate(new Date()); + platformJobMapper.updateById(platformJob); + + //瀛樺偍鎿嶄綔鏃ュ織 + savePlatformLog(Constants.PlatformJobLogType.CALLED.getKey(),oldPlatformJob,platformJob, + Constants.PlatformJobLogType.CALLED.getInfo().replace("{data}",platform.getName())); + platformJob.setPlatformName(platform.getName()); platformJob.setPlatformWmsCode(platform.getCode()); return platformJob; } @@ -2576,6 +2634,7 @@ } @Override + @Transactional public void autoPlatformCallCar(WmsService wmsService){ //鏌ヨ褰撳墠寮�鍚殑鏈堝彴鏁版嵁 List<PlatformGroup> allPlatformGroup = platformGroupMapper.selectList(new QueryWrapper<PlatformGroup>().lambda().eq(PlatformGroup::getStatus,Constants.ZERO) @@ -2608,6 +2667,8 @@ log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤鑷姩鍙彿鏈堝彴"); return; } + + List<PlatformJob> noticeList = new ArrayList<>(); //寰幆鎵�鏈夎嚜鍔ㄥ彨鍙锋湀鍙� for (PlatformGroup platformGroup:autoCallGroup) { List<Platform> platforms = platformList.stream().filter(i->Constants.equalsInteger(i.getGroupId(),platformGroup.getId())).collect(Collectors.toList()); @@ -2615,23 +2676,30 @@ log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤鑷姩鍙彿鏈堝彴-"+platformGroup.getName()); continue; } + log.error("========鏈堝彴鑷姩鍙彿============鏈夎嚜鍔ㄥ彨鍙锋湀鍙�--"+platformGroup.getName()); Boolean isDefaul = false; if(Constants.equalsInteger(platforms.size(),Constants.ONE)){ isDefaul = true; }else{ + int t1 =0,t0=0; //鏌ヨ鏈堝彴缁勪笅鐨勬湀鍙版槸鍚﹀悓鏃跺瓨鍦ㄦ暣鎵樺拰鏁f墭鏈堝彴 - if(( - ((platforms.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).collect(Collectors.toList()).size()>Constants.ZERO)?Constants.ONE:Constants.ZERO) - + - ((platforms.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).collect(Collectors.toList()).size()>Constants.ZERO)?Constants.ONE:Constants.ZERO) - )==Constants.ONE - ){ + for(Platform i : platforms){ + if(Constants.equalsInteger(i.getType(),Constants.ONE)){ + t1 ++; + }else{ + t0 ++; + } + } + if(t1 == 0 || t0 ==0){ isDefaul = true; } } + + for (Platform platform:platforms) { + log.error("========鏈堝彴鑷姩鍙彿============寮�濮嬪鐞嗘壘鏈堝彴浣滀笟--"+platform.getName()); //鏈堝彴 鍙彿鍏ュ洯鏁伴噺 - Integer workingNum = platform.getWorkingNum(); + Integer workingNum = Constants.formatIntegerNum(platform.getWorkingNum()); //鏌ヨ褰撳墠鏈堝彴鏄惁瀛樺湪鏈堝彴鍙彿鏁版嵁 濡傛灉澶т簬绛変簬鍙彨鍙锋暟閲� 鍒欒烦杩� Integer workNum = platformJobJoinMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() .eq(PlatformJob::getIsdeleted,Constants.ZERO) @@ -2659,33 +2727,60 @@ .orderByDesc(PlatformJob::getStatus,PlatformJob::getUrgeTime) .orderByAsc(PlatformJob::getSignDate)); if(CollectionUtils.isEmpty(platformJobList)){ - log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤婊¤冻鏉′欢鐨勪綔涓�1-"+platform.getName()); + log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤婊¤冻鏉′欢鐨勯泦鍚�1-"+platform.getName()); continue; } - for (int i = 0; i < workingNum - workNum ; i++) { + log.error("========鏈堝彴鑷姩鍙彿============鏈夋弧瓒虫潯浠剁殑浣滀笟闆嗗悎--"+platform.getName()); + for (int i = 0; i < workingNum - workNum && platformJobList.size()>0; i++) { + if(platformJobList== null || platformJobList.size() ==0){ + break; + } PlatformJob platformJob = this.getAutoCallJob(platformJobList,platform,isDefaul,platformGroup); if(Objects.isNull(platformJob)){ log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤婊¤冻鏉′欢鐨勪綔涓�2-"+platform.getName()); - continue; + break; } - 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{ - if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){ - this.sendInPark(platformJob); + PlatformJob callPlatformJob = this.platformCallNumberBiz(platformJob,platform); + noticeList.add(callPlatformJob ); + List<PlatformJob> newList = new ArrayList<>(); + for(PlatformJob j :platformJobList ){ + if(!Constants.equalsInteger(j.getId(),platformJob.getId())){ + newList.add(j); } - if(!Constants.equalsInteger(platformJob.getType(),Constants.FOUR) - && StringUtils.isNotBlank(platformJob.getBillCode())){ - //閫氱煡WMS缁戝畾鏈堝彴淇℃伅 - wmsService.orderPlatformBind(callPlatformJob); - } - }catch (Exception e){ - log.error("鏈堝彴鑷姩鍙彿鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform)); } + platformJobList = newList; +// platformJobList = platformJobList.stream().filter(j->!Constants.equalsInteger(j.getId(),platformJob.getId())).collect(Collectors.toList()); } + } + } + if(noticeList.size()>0){ + for(PlatformJob platformJob : noticeList){ + //鍙戦�佺煭淇′俊鎭� + SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz, + emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(), + SmsConstants.platformJobContent.platformJobSingIn,platformJob.getPlatformName(),null + ); + + //鍏紬鍙锋ā鏉挎秷鎭� + if(Objects.nonNull(platformJob.getDrivierPhone())){ + this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobSingIn,platformJob); + } + //骞挎挱 led閫氱煡 + platformJob.setPlatformName(platformJob.getPlatformName()); + this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.CALLING.getInfo(), + Constants.PlatformBroadcastContent.CALLING.getInfo()+ Constants.PlatformBroadcastContent.CALLING.getInfo() + Constants.PlatformBroadcastContent.CALLING.getInfo() + ); + try{ + this.sendInPark(platformJob); + if(!Constants.equalsInteger(platformJob.getType(),Constants.FOUR) + && StringUtils.isNotBlank(platformJob.getBillCode())){ + //閫氱煡WMS缁戝畾鏈堝彴淇℃伅 + wmsService.orderPlatformBind(platformJob); + } + }catch (Exception e){ + log.error("鏈堝彴鑷姩鍙彿鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platformJob)); + } + } } } @@ -2693,6 +2788,7 @@ @Override + @Transactional public void autoCallInParkCar(WmsService wmsService){ //鏌ヨ褰撳墠寮�鍚殑鏈堝彴鏁版嵁 List<PlatformGroup> allPlatformGroup = platformGroupMapper.selectList(new QueryWrapper<PlatformGroup>().lambda().eq(PlatformGroup::getStatus,Constants.ZERO) @@ -2716,12 +2812,13 @@ .lambda() .eq(Platform::getIsdeleted,Constants.ZERO) .eq(Platform::getStatus,Constants.ZERO) - .isNotNull(Platform::getCallReadyNum) +// .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; } + List<PlatformJob> noticeList = new ArrayList<>(); //寰幆鎵�鏈夎嚜鍔ㄥ彨鍙锋湀鍙� for (PlatformGroup platformGroup:autoCallGroup) { List<Platform> platforms = platformList.stream().filter(i->Constants.equalsInteger(i.getGroupId(),platformGroup.getId())).collect(Collectors.toList()); @@ -2743,7 +2840,7 @@ } for (Platform platform:platforms) { //鏈堝彴 鍙彿鍏ュ洯鏁伴噺 - Integer callReadyNum = platform.getCallReadyNum(); + Integer callReadyNum = Constants.formatIntegerNum(platform.getCallReadyNum()); //鏌ヨ褰撳墠鏈堝彴鏄惁瀛樺湪寰呭紑濮嬩綔涓氭暟鎹� 濡傛灉瀛樺湪鍒欑洿鎺ヨ烦杩囧綋鍓嶆湀鍙� Integer callNum = platformJobJoinMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() .eq(PlatformJob::getIsdeleted,Constants.ZERO) @@ -2752,6 +2849,7 @@ if(callNum>=callReadyNum){ continue; }; + //鏌ヨ鏈堝彴涓� 鍙互杩涜鍙彿鐨勬暟鎹� List<PlatformJob> platformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>() .lambda() @@ -2764,25 +2862,40 @@ if(CollectionUtils.isEmpty(platformJobList)){ continue; } - for (int i = 0; i < callReadyNum - callNum ; i++) { - PlatformJob platformJob = this.getAutoCallJob(platformJobList,platform,isDefaul,platformGroup); - JobOperateDTO jobOperateDTO = new JobOperateDTO(); - jobOperateDTO.setJobId(platformJob.getId()); - jobOperateDTO.setPlatformId(platform.getId()); - PlatformJob callPlatformJob = this.platformInPark(jobOperateDTO); - platformJobList = platformJobList.stream().filter(j->!Constants.equalsInteger(j.getId(),platformJob.getId())).collect(Collectors.toList()); - try{ - if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){ - this.sendInPark(platformJob); - } - if(!Constants.equalsInteger(platformJob.getType(),Constants.FOUR) - && StringUtils.isNotBlank(platformJob.getBillCode())){ - //閫氱煡WMS缁戝畾鏈堝彴淇℃伅 - wmsService.orderPlatformBind(callPlatformJob); - } - }catch (Exception e){ - log.error("鑷姩鍙彿鍏ュ洯鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform)); + for (int i = 0; i < callReadyNum - callNum && platformJobList.size()>0 ; i++) { + if(platformJobList== null || platformJobList.size() ==0){ + break; } + PlatformJob platformJob = this.getAutoCallJob(platformJobList,platform,isDefaul,platformGroup); + if(platformJob ==null){ + break; + } + PlatformJob callPlatformJob = this.platformInParkBiz(platformJob,platform); + noticeList.add(callPlatformJob); + platformJobList = platformJobList.stream().filter(j->!Constants.equalsInteger(j.getId(),platformJob.getId())).collect(Collectors.toList()); + } + } + } + if(noticeList.size()>0){ + for(PlatformJob platformJob :noticeList){ + //鍙戦�佺煭淇′俊鎭� + SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz, + emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(), + SmsConstants.platformJobContent.platformJobCallIn,null,null + ); + //鍏紬鍙锋ā鏉挎秷鎭� + if(Objects.nonNull(platformJob.getDrivierPhone())) { + this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobCallIn,platformJob); + } + try{ + this.sendInPark(platformJob); + if(!Constants.equalsInteger(platformJob.getType(),Constants.FOUR) + && StringUtils.isNotBlank(platformJob.getBillCode())){ + //閫氱煡WMS缁戝畾鏈堝彴淇℃伅 + wmsService.orderPlatformBind(platformJob); + } + }catch (Exception e){ + log.error("鑷姩鍙彿鍏ュ洯鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platformJob)); } } } @@ -2790,31 +2903,37 @@ + /** * 鏈堝彴鍒嗛厤浠诲姟 * @param platformJobList 鎵�鏈夋湀鍙颁笅鍙互鍒嗛厤鐨勪换鍔� * @param platform 鏈堝彴 - * @param isDefaul 鏄惁鍙湁鍗曠被鏈堝彴鎴栬�呭彧鏈変竴涓湀鍙� true / false * @param platformGroup 鏈堝彴缁� * @return */ public PlatformJob getAutoCallJob(List<PlatformJob> platformJobList, Platform platform,Boolean isDefaul,PlatformGroup platformGroup){ + if(platformJobList.size() ==0){ + return null; + } if(isDefaul){ //鏈堝彴涓嬪彧鏈変竴绫绘湀鍙� 鐩存帴杩斿洖绗竴涓换鍔� return platformJobList.get(Constants.ZERO); } for (PlatformJob platformJob:platformJobList) { + log.error("鏈堝彴鑷姩鍙彿========寮�濮嬫壘浣滀笟锛�"+platformJob.getId()); //鍙彿鍏ュ洯 鎴栬�呭紓甯告寕璧� 鍒欑洿鎺ヨ繘琛屽彨鍙� if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey()) || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())){ return platformJob; } + int typeParam = 1;// 0鏁存墭 1鏁d欢 //鏍规嵁鏈堝彴缁勫垽鏂� 鍙彿閫昏緫 // 鏂板簱鍑哄簱鑷姩鍙彿瑙勫垯 // 1锛夊鏋滃崟涓繍鍗曚粎鍖呭惈鍗曚竴鍝佽锛屽垯鑷姩鍒嗛厤鑷冲湪鏁存墭鐩樻湀鍙拌繘琛屼綔涓氾紱 // 2锛夊鏋滃崟涓繍鍗曞寘鍚袱涓強浠ヤ笂鐨勫搧瑙勶紝鍒欓渶瑕佸垽鏂槸鍚﹀瓨鍦ㄥ崟涓搧瑙勮秴杩� 500 浠朵笖璇ュ搧瑙勬暟閲忓崰鏁翠釜杩愬崟浠诲姟閲忕殑 60%鍙婁互涓婏紝鍒欒嚜鍔ㄥ垎閰嶈嚦鍦ㄦ暣鎵樼洏 鏈堝彴杩涜鏈堝彴锛� // 3锛夊鑻ヤ笉婊¤冻浠ヤ笂涓ょ偣锛屽垯鑷姩鍒嗛厤鑷虫暎浠舵湀鍙拌繘琛屼綔涓氾紱 if(Constants.equalsInteger(platformGroup.getType(),Constants.ONE)){ + typeParam = 1; //瑁呰揣鏈堝彴 - 鍑哄簱 if(Constants.equalsInteger(platformJob.getOrigin(),Constants.ONE)){ // WM鎺ㄩ�佷换鍔� @@ -2827,79 +2946,67 @@ //WMS鎺ㄩ�佷换鍔� 杩愬崟浠呭寘鍚崟涓�鍝佽锛堝晢鍝佺被鍨嬪彧鏈変竴绫伙級锛屽垯鑷姩鍒嗛厤鑷冲湪鏁存墭鐩樻湀鍙拌繘琛屼綔涓氾紱 List<String> materialNameList = platformWmsDetailList.stream().map(i->i.getMaterialName()).collect(Collectors.toList()); Set<String> materialNameSet = new HashSet<>(materialNameList); - if(Constants.equalsInteger(materialNameSet.size(),Constants.ONE)&&Constants.equalsInteger(platform.getType(),Constants.ZERO)){ + if(Constants.equalsInteger(materialNameSet.size(),Constants.ONE)){ //鍗曚竴鍝佺被 涓斿綋鍓嶅惊鐜湀鍙颁负鏁存墭鐩樻湀鍙� - 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; - } + typeParam = 0;// 0鏁存墭 + }else if(materialNameSet.size()> Constants.ONE){ + boolean isZhengtuo = false; + //闈炲崟涓�鍝佺被 + //濡傛灉鍗曚釜杩愬崟鍖呭惈涓や釜鍙婁互涓婄殑鍝佽锛屽垯闇�瑕佸垽鏂槸鍚﹀瓨鍦ㄥ崟涓搧瑙勮秴杩� 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(Constants.formatBigdecimal(quanlity).compareTo(compareTotal)>Constants.ZERO){ + //瓒呰繃瑙勫畾鏁伴噺 涓斿綋鍓嶆湀鍙颁负鏁存墭鏈堝彴 + isZhengtuo =true; + typeParam = 0;// 0鏁存墭 } } } - return null; -// //寰幆WMS浠诲姟 鏈垎閰嶈嚦鏁存墭鐩樻湀鍙板垯鐩存帴鍒嗛厤鍒版暎鎵樼洏鏈堝彴 -// if(Constants.equalsInteger(platform.getType(),Constants.ONE)){ -// return platformJob; -// } - }else{ - //鐗╂祦杞﹂绾︾殑浠诲姟 鐩存帴鍒嗛厤 鏁f墭鐩樻湀鍙� - if(Constants.equalsInteger(platform.getType(),Constants.TWO)){ - return platformJob; - } } }else{ + typeParam = 0;//榛樿鏁存墭 //鍗歌揣鏈堝彴 - 鍏ュ簱 // 1锛夊彂璐у湴涓烘寚瀹氬湴鍖猴紝濡傜渷澶�/鑺滄箹锛屽垯鑷姩鍒嗛厤鑷虫暎浠舵湀鍙拌繘琛屼綔涓氾紱锛堣仈钀ュ姞宸ユ儏鍐碉級 // 2锛夊叾瀹冨満鏅紝鍧囪嚜鍔ㄥ垎閰嶈嚦鏁存墭鐩樻湀鍙拌繘琛屼綔涓� - if(Objects.nonNull(platformJob.getWmsId())){ + if(Constants.equalsInteger(platformJob.getOrigin(),Constants.ONE)){ PlatformWmsJob platformWmsJob = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda() .eq(PlatformWmsJob::getIsdeleted,Constants.ZERO) .eq(PlatformWmsJob::getJobId,platformJob.getId()) .orderByDesc(PlatformWmsJob::getId) - .last(" limit 1") - ); + .last(" limit 1")); if(Objects.isNull(platformWmsJob)){ continue; } SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.IN_REPERTOTY_CODE); - if(Objects.nonNull(systemDictData)){ + 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; + ) > Constants.ZERO ){//鎸囧畾鍖哄煙鍒嗛厤鍒版暎浠舵湀鍙� + typeParam = 1;// } } - if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){ - return platformJob; - } - }else{ - //鐗╂祦杞﹂绾︾殑浠诲姟 鐩存帴鍒嗛厤 鏁f墭鐩樻湀鍙� - if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){ - return platformJob; - } } + } + + log.error("鏈堝彴鑷姩鍙彿========寮�濮嬫壘浣滀笟缁撴灉锛�"+platformJob.getId()+"============"+platform.getType()+"===="+typeParam); + if( Constants.equalsInteger(platform.getType(),typeParam)){ + log.error("鏈堝彴鑷姩鍙彿========鎵惧埌浜嗕綔涓氾細"+platform.getName() ); + return platformJob; } } return null; } + @Override public void jobUrge(Integer jobId,LoginUserInfo loginUserInfo){ if(Objects.isNull(jobId)){ -- Gitblit v1.9.3