From b5ca846c41affe2c41d719be38be326a1931b3de Mon Sep 17 00:00:00 2001 From: pjb <pjb123456> Date: 星期一, 21 七月 2025 09:47:22 +0800 Subject: [PATCH] 手动完成空桶库任务问题修复 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 80 ++++++++++++++++++++++++---------------- 1 files changed, 48 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 779f42d..5dd01a3 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -14,6 +14,7 @@ import com.zy.asrs.entity.param.StockOutParam; import com.zy.asrs.mapper.LocMastMapper; import com.zy.asrs.entity.result.FindLocNoAttributeVo; +import com.zy.asrs.mapper.OrderDetlPakoutMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.asrs.utils.Utils; @@ -93,6 +94,9 @@ @Resource private OrderPakoutService orderPakOutService; + + @Resource + private OrderDetlPakoutMapper orderDetlPakoutMapper; @Override @Transactional @@ -555,16 +559,19 @@ throw new CoolException(firstFrozenLocNo + "搴撲綅宸茶鍐荤粨!"); } + if (Cools.isEmpty(param.getOutSite())) { + throw new CoolException("绔欑偣涓嶅瓨鍦�"); + } for (String locNo : param.getLocNos()) { // 鑾峰彇宸ヤ綔鍙� - int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); + int workNo = commonService.getWorkNo(2); // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�"); } - if (!locMast.getLocSts().equals("D")){ - throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); + if (!locMast.getLocSts().equals("M") && !locMast.getLocSts().equals("Z")) { + throw new CoolException("搴撲綅鐘舵�佹湁璇細" + locMast.getLocSts()); } // 鑾峰彇婧愮珯 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() @@ -582,8 +589,8 @@ wrkMast.setWrkNo(workNo); wrkMast.setIoTime(now); wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID - wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱 - wrkMast.setIoPri(10D); + wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬� + wrkMast.setIoPri(14D); wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯 wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔� wrkMast.setCrnNo(locMast.getCrnNo()); @@ -602,7 +609,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害 - if (locMast.getLocSts().equals("D")){ + if (locMast.getLocSts().equals("M") || locMast.getLocSts().equals("Z")){ locMast.setLocSts("R"); locMast.setModiUser(userId); locMast.setModiTime(now); @@ -734,7 +741,7 @@ throw new CoolException(locDetl.getLocNo() + "," + locDetl.getMatnr() + "," + locDetl.getBatch() + "搴撳瓨鏄庣粏宸茶鍐荤粨!"); } - if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){ + if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("M") && !sourceLoc.getLocSts().equals("Z"))){ throw new CoolException("搴撲綅鐘舵�佸凡鏀瑰彉"); } if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) { @@ -756,7 +763,7 @@ wrkMast.setFullPlt(Cools.isEmpty(locDetls)?"N":"Y"); // 婊℃澘锛歒 wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� - wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘 + wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("M") ? "M" : sourceLoc.getLocSts().equals("Z") ? "Z" : "N"); // 绌烘澘 wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮� wrkMast.setLinkMis("N"); wrkMast.setAppeUser(userId); @@ -783,7 +790,7 @@ } } // 淇敼婧愬簱浣嶇姸鎬� - if (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) { + if (sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("M") || sourceLoc.getLocSts().equals("Z")) { sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害 sourceLoc.setModiUser(userId); sourceLoc.setModiTime(now); @@ -834,6 +841,9 @@ wrkMast.setWrkSts(14L); } workNoOther = wrkMast.getWorkNoOther(); + } else if(wrkMast.getIoType() == 1 && wrkMast.getWrkSts() == 10) { + wrkMast.setWrkSts(2L); + wrkMast.setRgvFinishTime(new Date()); } Date now = new Date(); wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true)); @@ -847,20 +857,22 @@ } if(workNoOther != 0) { WrkMast wrkMast1 = wrkMastService.selectById(workNoOther); - wrkMast1.setWrkSts(wrkMast.getWrkSts()); - wrkMast1.setCrnStrTime(wrkMast.getCrnStrTime()); - wrkMast1.setCrnEndTime(now); - wrkMast1.setModiTime(now); - wrkMast1.setModiUser(userId); - wrkMast1.setManuType("鎵嬪姩瀹屾垚"); - wrkMastService.updateById(wrkMast1); + if (wrkMast1 != null) { + wrkMast1.setWrkSts(wrkMast.getWrkSts()); + wrkMast1.setCrnStrTime(wrkMast.getCrnStrTime()); + wrkMast1.setCrnEndTime(now); + wrkMast1.setModiTime(now); + wrkMast1.setModiUser(userId); + wrkMast1.setManuType("鎵嬪姩瀹屾垚"); + wrkMastService.updateById(wrkMast1); + } } } @Override @Transactional public void adjustLocDetl(LocDetlAdjustParam param, Long userId) { - param.integrate(); +// param.integrate(); LocMast locMast = locMastService.selectById(param.getLocNo()); if (Cools.isEmpty(locMast)) { throw new CoolException("搴撲綅涓嶅瓨鍦�"); @@ -1100,7 +1112,7 @@ if (Cools.isEmpty(locMast)) { throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo()); } - locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"); + locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?wrkMast.getEmptyMk():"F"); locMast.setModiTime(now); locMast.setModiUser(userId); locMastService.updateById(locMast); @@ -1147,9 +1159,11 @@ // if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { // throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); // } - OrderInAndOutUtil.decrease(Boolean.FALSE,wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(), - wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(), wrkDetl.getAnfme()); +// OrderInAndOutUtil.decrease(Boolean.FALSE,wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(), +// wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), +// wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(), wrkDetl.getAnfme()); + orderDetlPakoutMapper.increaseQtyByOrderNoNew(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), + wrkDetl.getBatch(),wrkDetl.getModel(),wrkDetl.getVolume(),wrkDetl.getAnfme()); //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼 boolean flag = true; @@ -1244,17 +1258,19 @@ // 淇敼搴撲綅鐘舵�� - if(locNo != null) { - LocMast locMast = locMastService.selectById(locNo); - if (Cools.isEmpty(locMast)) { - throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo); - } - locMast.setLocSts(locSts); - locMast.setModiTime(now); - locMast.setModiUser(userId); - boolean locMastRes = locMastService.updateById(locMast); - if (!wrkMastRes || !locMastRes) { - throw new CoolException("淇濆瓨鏁版嵁澶辫触"); + if (locNo != null) { + if (wrkMast.getIoType() != 3) { + LocMast locMast = locMastService.selectById(locNo); + if (Cools.isEmpty(locMast)) { + throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo); + } + locMast.setLocSts(locSts); + locMast.setModiTime(now); + locMast.setModiUser(userId); + boolean locMastRes = locMastService.updateById(locMast); + if (!wrkMastRes || !locMastRes) { + throw new CoolException("淇濆瓨鏁版嵁澶辫触"); + } } } } -- Gitblit v1.9.1