From ac0aa960be6abbbc5122944d27323b8db4893ee7 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期日, 20 七月 2025 20:39:55 +0800 Subject: [PATCH] 出库订单扣减出库完成数量 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 57 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 34 insertions(+), 23 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 26ee004..6925ad8 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); @@ -823,7 +830,7 @@ int workNoOther = 0; // 鍏ュ簱 + 搴撲綅杞Щ if ((wrkMast.getWrkSts() < 4 && wrkMast.getIoType() != 101 && wrkMast.getIoType() != 110) || (wrkMast.getWrkSts() > 10 - && wrkMast.getIoType()==11) || wrkMast.getIoType() == 10) { + && wrkMast.getIoType()==11) || wrkMast.getIoType() == 10 || (wrkMast.getIoType() == 3)) { wrkMast.setWrkSts(4L); workNoOther = wrkMast.getWorkNoOther(); // 鍑哄簱 @@ -860,7 +867,7 @@ @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 +1107,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 +1154,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 +1253,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