From 53bbc5731dd8c78490a27211aea331ff1360ed4e Mon Sep 17 00:00:00 2001 From: pjb <pjb123456> Date: 星期六, 28 六月 2025 09:34:19 +0800 Subject: [PATCH] wms功能完善 --- src/main/java/com/zy/common/service/CommonService.java | 67 +++++++++++++++++++++------------ 1 files changed, 43 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index fc0c51e..54280cc 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -316,11 +316,7 @@ locMast = locMastList.get(0); } else { // 濂囨暟锛屼笉鍙互鍏ュ簱 // 鑷姩缁欏墠闈换鍔¤ˉ灏炬《淇″彿 - if (wrkMast.getCtnType() == 0) { - wrkMast.setCtnType(1); - wrkMastService.updateById(wrkMast); - log.info("鑷姩琛ュ熬妗朵俊鍙锋垚鍔�,浠诲姟鍙凤細{}",wrkMast.getCtnType()); - } + wrkMastService.updateCtnType(wrkMast); log.error("-----涓庡墠闈㈡《绫诲瀷涓嶄竴鏍凤紝鍓嶉潰妗朵笉鏄熬妗讹紝鍓嶉潰璇ユ《绫诲瀷浠诲姟鏁颁笉鏄伓鏁帮紝涓嶈兘鍏ュ簱----"); throw new CoolException("涓庡墠闈㈡《绫诲瀷涓嶄竴鏍凤紝鍓嶉潰妗朵笉鏄熬妗讹紝鍓嶉潰璇ユ《绫诲瀷浠诲姟鏁颁笉鏄伓鏁帮紝涓嶈兘鍏ュ簱"); } @@ -338,31 +334,54 @@ throw new CoolException("鍏ュ簱璇锋眰搴撲綅澶辫触锛屾病鏈夎仈鏈哄爢鍨涙満鎴栧爢鍨涙満寮傚父"); } - List<Integer> crnList = basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList()); + List<BasCrnp> basCrnpList = new ArrayList<>(); + for(BasCrnp basCrnp: basCrnps) { + Integer count = locMastMapper.selectCount(new EntityWrapper<LocMast>().eq("crn_no", basCrnp.getCrnNo()).eq("loc_sts", "S")); + basCrnp.setWrkNo(count); + basCrnpList.add(basCrnp); + } + + basCrnpList = basCrnpList.stream().sorted(Comparator.comparing(BasCrnp::getWrkNo)).collect(Collectors.toList()); // 鍏ュ簱妗跺瀷 String model = findLocNoAttributeVo.getModel(); - Wrapper<LocMast> wrapper = new EntityWrapper<LocMast>().eq("loc_sts", 'O') - .in("crn_no", crnList).orderBy("lev1").orderBy("bay1").orderBy("row1"); - // 鍏ュ簱妗跺瀷鏄笉鏄�208L - if (model == null || !model.equals("208L")) { - wrapper.ne("lev1", 11); - } - locMast = locMastService.selectOne(wrapper.in("row1", 1, 4, 5, 6, 7, 8)); - // 娣卞簱浣嶆病鏈変簡鍒欒幏鍙栦竴涓祬搴撲綅 - if (locMast == null) { - locMast = locMastService.selectOne(wrapper.in("row1", 2, 3)); - if (locMast == null) { - log.error("-----搴撲綅涓嶈冻----"); - throw new CoolException("搴撲綅涓嶈冻"); - } else { - int count = locMastService.selectCount(wrapper.in("row1", 2, 3)); - if (count <= 10) { - log.error("-----搴撲綅涓嶈冻锛岄鐣�10涓簱浣嶇敤鏉ュ簱浣嶈浆绉�----"); - throw new CoolException("搴撲綅涓嶈冻锛岄鐣�10涓簱浣嶇敤鏉ュ簱浣嶈浆绉�"); + + locMast = null; + + for(BasCrnp basCrnp:basCrnpList) { + Integer crnNo = basCrnp.getCrnNo(); + Wrapper<LocMast> wrapper = new EntityWrapper<LocMast>().eq("loc_sts", 'O') + .eq("crn_no", crnNo).orderBy("lev1").orderBy("bay1").orderBy("row1"); + // 鍏ュ簱妗跺瀷鏄笉鏄�208L + if (model == null || !model.equals("208L")) { + wrapper.ne("lev1", 11); + } + if (crnNo == 1) { + wrapper.in("row1", 1, 4); + } + locMast = locMastService.selectOne(wrapper); + if (locMast != null) { + break; + } + // 娣卞簱浣嶆病鏈変簡鍒欒幏鍙栦竴涓祬搴撲綅 + if (crnNo == 1) { + locMast = locMastService.selectOne(wrapper.in("row1", 2, 3)); + if (locMast != null) { + int count = locMastService.selectCount(wrapper); + if (count <= 10) { + locMast = null; + } else { + break; + } } } } + + if (locMast == null) { + List<Integer> collect = basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList()); + log.error("-----{}鍫嗗灈鏈哄簱浣嶄笉瓒�----",collect.toString()); + throw new CoolException(collect.toString() + "鍫嗗灈鏈哄簱浣嶄笉瓒�"); + } } else { log.error("鍏ュ簱绫诲瀷閿欒锛宻taDescId={}", staDescId); throw new CoolException("鍏ュ簱绫诲瀷閿欒锛宻taDescId=" + staDescId); -- Gitblit v1.9.1