From 2ded9514aa9a93ee440af0b1437d788fb052028b Mon Sep 17 00:00:00 2001 From: pjb <pjb123456> Date: 星期六, 23 八月 2025 08:36:59 +0800 Subject: [PATCH] wms功能完善 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 306 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 233 insertions(+), 73 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 7bbe338..a713524 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; @@ -23,6 +24,8 @@ import com.zy.common.properties.SlaveProperties; import com.zy.common.service.CommonService; import com.zy.common.web.WcsController; +import com.zy.system.entity.Config; +import com.zy.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -93,6 +96,12 @@ @Resource private OrderPakoutService orderPakOutService; + + @Resource + private OrderDetlPakoutMapper orderDetlPakoutMapper; + + @Resource + private ConfigService configService; @Override @Transactional @@ -180,6 +189,16 @@ public void startupFullTakeStore(StockOutParam param, Long userId) { // 鐩爣绔欑偣鐘舵�佹娴� BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite()); + // 鍒ゆ柇浠诲姟鐩爣绔欑偣鏄惁鏄嚭搴撴ā寮� + if (param.getOutSite() == 1016 || param.getOutSite() == 1043) { + Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "inOrOutBoundMode").eq("status", 1)); + if (config != null && !Cools.isEmpty(config.getValue())) { + int value = Integer.parseInt(config.getValue()); + if (value != 2) { + throw new CoolException("鐩爣绔欑偣" + param.getOutSite() + "涓嶆槸鍑哄簱妯″紡锛屽綋鍓嶆ā寮忎负锛�" + value); + } + } + } // 鑾峰彇搴撲綅鏄庣粏 List<LocDetlDto> locDetlDtos = new ArrayList<>(); for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { @@ -336,7 +355,7 @@ wrkMast.setIoTime(now); wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� - wrkMast.setIoPri(13D); // 浼樺厛绾э細13 + wrkMast.setIoPri(staDesc.getStnNo() == 1064 || staDesc.getStnNo() == 1031 ? 14D: 13D); // 绌烘《鍑哄簱鍒颁簩鍙风綈瑁呯嚎,鍘绘墦鍖咃紝浼樺厛绾ф彁楂� wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔� @@ -347,6 +366,7 @@ wrkMast.setEmptyMk("N"); // 绌烘澘 wrkMast.setLinkMis("N"); wrkMast.setBarcode(locMast.getBarcode()); + wrkMast.setPdcType(dto.getLocDetlDtos().get(0).getLocDetl().getModel()); wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁 wrkMast.setAppeTime(now); wrkMast.setModiUser(userId); @@ -554,16 +574,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>() @@ -581,8 +604,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()); @@ -601,7 +624,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); @@ -643,8 +666,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()); @@ -658,13 +681,12 @@ wrkMast.setAppeTime(now); wrkMast.setModiUser(1L); wrkMast.setModiTime(now); - wrkMast.setMemo("鐢熸垚鑷姩绌烘澘鍑哄簱"); boolean res = wrkMastService.insert(wrkMast); if (!res) { 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(1L); locMast.setModiTime(now); @@ -734,7 +756,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 +778,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 +805,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); @@ -813,15 +835,33 @@ if (Cools.isEmpty(wrkMast)){ throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); } - if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) { + if (wrkMast.getStaNo() == 1090 && wrkMast.getLocNo() == null) { + throw new CoolException(workNo+"宸ヤ綔妗f棤娉曞畬鎴�,搴撲綅鍙蜂负绌猴紒"); + } + if (wrkMast.getWrkSts() == 4L || wrkMast.getWrkSts() == 14L || wrkMast.getWrkSts() == 54L) { throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚"); } + // 瀹屾垚绌烘《搴撳叆鍑哄簱浠诲姟鍙︿竴涓换鍔� + int workNoOther = 0; // 鍏ュ簱 + 搴撲綅杞Щ - if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) { + if ((wrkMast.getWrkSts() < 4 && wrkMast.getIoType() != 101 && wrkMast.getIoType() != 110) || (wrkMast.getWrkSts() > 10 + && wrkMast.getIoType()==11) || wrkMast.getIoType() == 10 || (wrkMast.getIoType() == 3)) { wrkMast.setWrkSts(4L); + workNoOther = wrkMast.getWorkNoOther(); // 鍑哄簱 - } else if (wrkMast.getWrkSts() > 10) { - wrkMast.setWrkSts(14L); + } else if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 110) { + if(wrkMast.getWrkSts() == 2) { + wrkMast.setWrkSts(15L); + } else { + wrkMast.setWrkSts(14L); + } + workNoOther = wrkMast.getWorkNoOther(); + } else if(wrkMast.getIoType() == 1 && wrkMast.getWrkSts() == 10) { + wrkMast.setWrkSts(2L); + wrkMast.setRgvFinishTime(new Date()); + } else if(wrkMast.getIoType() == 120) { + wrkMast.setWrkSts(54L); + wrkMast.setRgvFinishTime(new Date()); } Date now = new Date(); wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true)); @@ -833,12 +873,24 @@ if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("淇敼宸ヤ綔妗eけ璐�"); } + if(workNoOther != 0) { + WrkMast wrkMast1 = wrkMastService.selectById(workNoOther); + 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("搴撲綅涓嶅瓨鍦�"); @@ -860,7 +912,7 @@ wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceLocNo(locMast.getLocNo()); wrkMast.setLocNo(locMast.getLocNo()); - wrkMast.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮� + wrkMast.setBarcode(list.get(0).getZpallet()); // 鎵樼洏鐮� wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� @@ -877,6 +929,10 @@ boolean deleteFlag = true; boolean addFlag = true; + // 搴撲綅鐘舵�佹槸绌猴紝鍒欐坊鍔� + // 搴撲綅鐘舵�佸湪搴擄紝鏈夋彁浜ゆ暟鎹紝鍒欎慨鏀� + // 搴撲綅鐘舵�佸湪搴擄紝娌℃湁鎻愪氦鏁版嵁锛屽垯鍒犻櫎 + // 淇敼鏁伴噺 Iterator<LocDetl> iterator = locDetls.iterator(); while (iterator.hasNext()) { @@ -887,13 +943,20 @@ LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next(); if (adjust.getCount() == 0) { continue; } if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) { - if (!locDetl.getAnfme().equals(adjust.getCount())) { // todo 鐩樼偣璁板綍 // 淇敼搴撳瓨 - if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), - locDetl.getStandby1(),locDetl.getStandby2(),locDetl.getStandby3(),locDetl.getBoxType1(),locDetl.getBoxType2(),locDetl.getBoxType3())) { - throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触"); - } +// if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), +// locDetl.getStandby1(),locDetl.getStandby2(),locDetl.getStandby3(),locDetl.getBoxType1(),locDetl.getBoxType2(),locDetl.getBoxType3())) { +// throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触"); +// } + locDetl.setAnfme(adjust.getCount()); + locDetl.setZpallet(adjust.getZpallet()); + locDetl.setModel(adjust.getModel()); + locDetl.setManuDate(adjust.getManuDate()); + locDetl.setWeight(adjust.getWeight()); + locDetl.setManLength(adjust.getManLength()); + locDetl.setVolume(adjust.getVolume()); + locDetlService.update(locDetl,new EntityWrapper<LocDetl>().eq("loc_no",locDetl.getLocNo()).eq("matnr",locDetl.getMatnr()).eq("batch",locDetl.getBatch())); // 淇濆瓨璋冩暣璁板綍 AdjDetl adjDetl = new AdjDetl(); adjDetl.setLocNo(locDetl.getLocNo()); @@ -923,6 +986,13 @@ wrkDetl.setWrkNo(wrkMast.getWrkNo()); wrkDetl.setIoTime(wrkMast.getIoTime()); wrkDetl.setAnfme(adjust.getCount()); + wrkDetl.setAnfme(adjust.getCount()); + wrkDetl.setZpallet(adjust.getZpallet()); + wrkDetl.setModel(adjust.getModel()); + wrkDetl.setManuDate(adjust.getManuDate()); + wrkDetl.setWeight(adjust.getWeight()); + wrkDetl.setManLength(adjust.getManLength()); + wrkDetl.setVolume(adjust.getVolume()); wrkDetl.setAppeTime(now); wrkDetl.setModiTime(now); wrkMast.setAppeUser(userId); @@ -930,7 +1000,6 @@ if (!wrkDetlLogService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); } - } iterator.remove(); iterator1.remove(); } @@ -990,8 +1059,13 @@ locDetl.sync(mat); locDetl.setBatch(adjust.getBatch()); locDetl.setLocNo(locMast.getLocNo()); - locDetl.setZpallet(locMast.getBarcode()); + locDetl.setZpallet(adjust.getZpallet()); locDetl.setAnfme(adjust.getCount()); // 鏁伴噺 + locDetl.setModel(adjust.getModel()); + locDetl.setManuDate(adjust.getManuDate()); + locDetl.setWeight(adjust.getWeight()); + locDetl.setManLength(adjust.getManLength()); + locDetl.setVolume(adjust.getVolume()); locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅 locDetl.setModiTime(now); locDetl.setAppeUser(userId); @@ -1040,12 +1114,15 @@ int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); if (locMast.getLocSts().equals("F")) { if (count == 0) { - locMast.setLocSts("D"); + locMast.setLocSts("O"); + } else { + locMast.setBarcode(wrkMast.getBarcode()); } } if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O")) { if (count > 0) { locMast.setLocSts("F"); + locMast.setBarcode(wrkMast.getBarcode()); } } locMast.setModiUser(userId); @@ -1066,8 +1143,53 @@ } String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣� String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬� + Long wrkSts = wrkMast.getWrkSts(); + Integer ioType = wrkMast.getIoType(); + + // 浠诲姟瀹屾垚锛屾棤娉曞彇娑� + if(wrkSts == 4 || wrkSts == 5 || wrkSts == 14 || wrkSts == 15 || wrkSts == 54) { + throw new CoolException(workNo+"浠诲姟宸插畬鎴愶紝鏃犳硶鍙栨秷"); + } + + if(ioType == 101 || ioType == 110) { + if(wrkSts == 11 || wrkSts == 12) { + + } else { + throw new CoolException(workNo+"搴撳瓨淇℃伅宸叉洿鏂帮紝鏃犳硶鍙栨秷"); + } + } // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級 - if (wrkMast.getWrkSts() < 4) { +// if(ioType == 1 || ioType == 10) { +// if(wrkSts == 1 || wrkSts == 2|| wrkSts == 3 || wrkSts == 9 || wrkSts == 10) { +// locNo = wrkMast.getLocNo(); +// locSts = "O"; +// } else { +// throw new CoolException(workNo+"鍙栨秷澶辫触锛屽綋鍓嶇姸鎬侊細" + wrkSts); +// } +// } else if(ioType == 11){ +// if(wrkSts <= 10) { +// locNo = wrkMast.getLocNo(); +// locSts = "O"; +// // 搴撲綅杞Щ锛氭簮搴撲綅 +// LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); +// if (Cools.isEmpty(locMast)) { +// throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo()); +// } +// locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?wrkMast.getEmptyMk():"F"); +// locMast.setModiTime(now); +// locMast.setModiUser(userId); +// locMastService.updateById(locMast); +// } else { +// throw new CoolException(workNo+"鍙栨秷澶辫触锛屽綋鍓嶇姸鎬侊細" + wrkSts); +// } +// } else if(ioType == 3) { +// +// } else if(ioType == 101) { +// +// } else if(ioType == 110) { +// +// } + if (wrkMast.getWrkSts() <= 10 && wrkMast.getIoType()!=120) { locNo = wrkMast.getLocNo(); locSts = "O"; @@ -1078,23 +1200,27 @@ 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); } // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛� - } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) { + } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14 && wrkMast.getIoType()!=120) { locNo = wrkMast.getSourceLocNo(); - // 鍑哄簱 ===>> F.鍦ㄥ簱 - if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { + if (wrkMast.getIoType() == 110) { + if(wrkMast.getStaNo() == 1035) { // 瀛愭媶鐩樻満绔欑偣 + locSts = "Z"; + }else { + locSts = "M"; + } +// locSts = "D"; + } else if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { + // 鍑哄簱 ===>> F.鍦ㄥ簱 locSts = "F"; - // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� - } else if (wrkMast.getIoType() == 110) { - locSts = "D"; - // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� + // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� } else if (wrkMast.getIoType() == 11) { - locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"; + locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?wrkMast.getEmptyMk():"F"; // 搴撲綅杞Щ锛氱洰鏍囧簱浣� LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); if (Cools.isEmpty(locMast)) { @@ -1105,25 +1231,23 @@ locMast.setModiUser(userId); locMastService.updateById(locMast); } + } else if (wrkMast.getIoType()==120){ + // 鍙栨秷鎿嶄綔浜哄憳璁板綍 + wrkMast.setWrkSts(54L); + wrkMast.setManuType("鎵嬪姩鍙栨秷"); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐�"); + } + return; } else { throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); } - //鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊 - if(wrkMast.getIoType() == 1) { - List<WaitPakin> waitPakins=waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); - for (WaitPakin waitPakin:waitPakins){ - if (!Cools.isEmpty(waitPakin)) { - waitPakin.setIoStatus("N"); - waitPakin.setLocNo(""); - waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>() -// .eq("order_no", waitPakin.getOrderNo()) - .eq("zpallet",waitPakin.getZpallet()) - .eq("matnr", waitPakin.getMatnr()) - .eq("batch", waitPakin.getBatch())); - } - } - } + // 鍒犻櫎缁勬墭閫氱煡妗� + waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet",wrkMast.getBarcode())); + //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺 if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) { @@ -1133,9 +1257,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; @@ -1189,27 +1315,61 @@ } // 鍒犻櫎宸ヤ綔涓绘。 boolean wrkMastRes = wrkMastService.deleteById(wrkMast); + // 淇濆瓨鏄庣粏 + wrkDetlLogService.save(wrkMast.getWrkNo()); + // 鍒犻櫎宸ヤ綔妗f槑缁� + boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); - if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) { - // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 - if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { -// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo()); + // 绌烘《搴撲换鍔� + if(wrkMast.getWorkNoOther() != null && wrkMast.getWorkNoOther() != 0) { + WrkMast wrkMast1 = wrkMastService.selectById(wrkMast.getWorkNoOther()); + if (wrkMast1 != null) { + if(wrkMast1.getIoType() == 1) { + wrkMast1.setLocSts("O"); + } else { + wrkMast1.setLocSts("F"); + } + // 鍙栨秷鎿嶄綔浜哄憳璁板綍 + wrkMast1.setManuType("鎵嬪姩鍙栨秷"); + wrkMast1.setModiUser(userId); + wrkMast1.setModiTime(now); + + // 鍒犻櫎缁勬墭閫氱煡妗� + waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet",wrkMast1.getBarcode())); + // 鍒犻櫎宸ヤ綔涓绘。 + wrkMastService.deleteById(wrkMast1); + // 淇濆瓨宸ヤ綔鏄庣粏 + wrkDetlLogService.save(wrkMast1.getWrkNo()); + // 鍒犻櫎宸ヤ綔鏄庣粏 + wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast1.getWrkNo())); + // 淇敼搴撲綅鐘舵�� + LocMast locMast = locMastService.selectById(wrkMast1.getIoType() == 1 ? wrkMast1.getLocNo() : wrkMast1.getSourceLocNo()); + if (Cools.isEmpty(locMast)) { + throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo); + } + locMast.setLocSts(locSts); + locMast.setModiTime(now); + locMast.setModiUser(userId); + locMastService.updateById(locMast); } - // 鍒犻櫎宸ヤ綔妗f槑缁� - boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); } + // 淇敼搴撲綅鐘舵�� - 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("淇濆瓨鏁版嵁澶辫触"); + } + } } } @@ -1277,7 +1437,7 @@ } LocTypeDto locTypeDto = new LocTypeDto(); locTypeDto.setLocType1((short) 1); - return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list); + return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list.get(0),false); } @Override -- Gitblit v1.9.1