From 6f01b51fc0770fda7787076caf0314be7a7f6656 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 27 六月 2025 10:58:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 391 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 293 insertions(+), 98 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index 2326428..aaa1f36 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -2,10 +2,14 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.SnowflakeIdWorker; +import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.utils.MathUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -39,19 +43,28 @@ private OrderDetlPakinService orderDetlPakinService; @Autowired private OrderDetlPakoutService orderDetlPakoutService; + @Autowired + private OrderService orderService; + @Autowired + private StoreTypeService storeTypeService; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private DocTypeService docTypeService; + public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 if (wrkMast.getWrkSts() == 4) { return doIn(wrkMast); - // 14.鍑哄簱瀹屾垚 - } else if (wrkMast.getWrkSts() == 14) { + // 14.鍑哄簱瀹屾垚 + } else if (wrkMast.getWrkSts() == 14) { return doOut(wrkMast); } return SUCCESS; } - private ReturnT<String> doIn(WrkMast wrkMast){ + private ReturnT<String> doIn(WrkMast wrkMast) { Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); try { @@ -96,11 +109,9 @@ // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� for (WrkDetl wrkDetl : wrkDetls) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand() - ,wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3() - ,wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3())) { + if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -121,27 +132,24 @@ } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem - (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); - if (orderDetlPakin==null){ - orderDetlPakin = orderDetlPakinService.selectItem - (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), - wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + if (orderDetlPakin == null) { + orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); } try { - if(!Cools.isEmpty(orderDetlPakin)){ - if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakin.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){ + if (!Cools.isEmpty(orderDetlPakin)) { +// if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), +// wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { + if (!orderDetlPakinService.increaseQtyByOrderNo(orderDetlPakin.getOrderNo(), orderDetlPakin.getMatnr(), orderDetlPakin.getBatch(), orderDetlPakin.getBrand(), orderDetlPakin.getStandby1(), orderDetlPakin.getStandby2(), orderDetlPakin.getStandby3(), orderDetlPakin.getBoxType1(), orderDetlPakin.getBoxType2(), orderDetlPakin.getBoxType3(), wrkDetl.getAnfme())) { // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } - } catch (Exception ignore){} + } catch (Exception ignore) { + } } // 淇敼搴撲綅鐘舵�� S ====>> F @@ -168,11 +176,9 @@ // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� for (WrkDetl wrkDetl : wrkDetls8) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand() - , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme() + locDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3() - , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { + if (!locDetlService.updateAnfme(wrkDetl.getAnfme() + locDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } @@ -192,9 +198,7 @@ if (!Cools.isEmpty(wrkDetl.getOrderNo())) { // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), - wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { + if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } @@ -210,13 +214,71 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } + + + + // 鍒ゆ柇鏄惁涓鸿浆搴撳嚭搴� + StoreType storeType = null; + Order order = null; + if (!Cools.isEmpty(wrkMast.getPacked())) { + storeType = storeTypeService.selectById(wrkMast.getPacked()); + if (null != storeType) { + DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "杞簱-鍑哄簱")); + String convert = DateUtils.convert(now, DateUtils.yyyyMMdd); + order = new Order( + String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] + convert + "_" + wrkMast.getPacked() + "_" + wrkMast.getWrkNo(), // 璁㈠崟缂栧彿 + DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 + docType.getDocId(), // 鍗曟嵁绫诲瀷 + storeType.getStoreId(), // 椤圭洰缂栧彿 + storeType.getStoreName(), // + null, // 璋冩嫧椤圭洰缂栧彿 + null, // 鍒濆绁ㄦ嵁鍙� + null, // 绁ㄦ嵁鍙� + null, // 瀹㈡埛缂栧彿 + null, // 瀹㈡埛 + null, // 鑱旂郴鏂瑰紡 + wrkMast.getAppeUser$(), // 鎿嶄綔浜哄憳 + null, // 鍚堣閲戦 + null, // 浼樻儬鐜� + null, // 浼樻儬閲戦 + null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 + null, // 瀹炰粯閲戦 + null, // 浠樻绫诲瀷 + null, // 涓氬姟鍛� + null, // 缁撶畻澶╂暟 + null, // 閭垂鏀粯绫诲瀷 + null, // 閭垂 + null, // 浠樻鏃堕棿 + null, // 鍙戣揣鏃堕棿 + null, // 鐗╂祦鍚嶇О + null, // 鐗╂祦鍗曞彿 + 1L, // 璁㈠崟鐘舵�� + 4, // 鐘舵�� + wrkMast.getAppeUser(), // 娣诲姞浜哄憳 + now, // 娣诲姞鏃堕棿 + wrkMast.getAppeUser(), // 淇敼浜哄憳 + now, // 淇敼鏃堕棿 + null, // 澶囨敞 + docType.getPakin() == 1 ? 1 : 2 + ); + if (!orderService.insert(order)) { + throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触"); + } + } + + } + + + + + + for (WrkDetl wrkDetl : wrkDetls53) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand() - ,wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); if (null != locDetl) { - if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3() - ,wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3())) { + if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -224,27 +286,32 @@ } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem - (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(), - wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); - if (orderDetlPakin==null){ - orderDetlPakin = orderDetlPakinService.selectItem - (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + //addOrderDetlQty(wrkMast, wrkDetl); + OrderDetlPakout orderDetlPakout; + if (!Cools.isEmpty(wrkDetl.getThreeCode())) { + orderDetlPakout = orderDetlPakoutService.selectById(Long.parseLong(wrkDetl.getThreeCode())); + } else { + orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + if (orderDetlPakout == null) { + orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + } } try { - if(!Cools.isEmpty(orderDetlPakin)){ - if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakin.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){ + if (!Cools.isEmpty(orderDetlPakout)) { +// if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), +// wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { + if (!orderDetlPakoutService.increaseQtyById(orderDetlPakout.getId(), wrkDetl.getAnfme())) { + + //if (!orderDetlPakoutService.increaseQtyByOrderNo(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3(), wrkDetl.getAnfme())) { // exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } - } catch (Exception ignore){} + } catch (Exception ignore) { + } } // 淇敼搴撲綅鐘舵�� Q ====>> F @@ -252,6 +319,8 @@ locMast.setLocSts("F"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); + //鏍囪璇ュ簱浣嶅凡缁忔嫞鏂欒繃 + locMast.setPdcType("pick"); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); @@ -270,13 +339,11 @@ return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� - for (WrkDetl wrkDetl:wrkDetls54) { + for (WrkDetl wrkDetl : wrkDetls54) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand() - ,wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3() - ,wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3())) { + if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { // exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -296,17 +363,20 @@ } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(), wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + + OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); try { - if(!Cools.isEmpty(orderDetlPakin)){ - if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakin.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){ + if (!Cools.isEmpty(orderDetlPakin)) { +// if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), +// wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { + + if (!orderDetlPakinService.increaseQtyByOrderNo(orderDetlPakin.getOrderNo(), orderDetlPakin.getMatnr(), orderDetlPakin.getBatch(), orderDetlPakin.getBrand(), orderDetlPakin.getStandby1(), orderDetlPakin.getStandby2(), orderDetlPakin.getStandby3(), orderDetlPakin.getBoxType1(), orderDetlPakin.getBoxType2(), orderDetlPakin.getBoxType3(), wrkDetl.getAnfme())) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } - } catch (Exception ignore){ + } catch (Exception ignore) { } @@ -334,23 +404,23 @@ return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } for (WrkDetl wrkDetl : wrkDetls57) { - if (!Cools.isEmpty(wrkDetl.getOrderNo())) { - // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), - wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); - if (!Cools.isEmpty(orderDetlPakout)) { - if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), - wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); - } - } - } +// if (!Cools.isEmpty(wrkDetl.getOrderNo())) { +// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 +// OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); +// if (!Cools.isEmpty(orderDetlPakout)) { +//// if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +//// orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), +//// wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { +// if (!orderDetlPakoutService.increaseQtyByOrderNo(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3(), wrkDetl.getAnfme())) { +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); +// } +// } +// } } // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { - locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D"); + locMast.setLocSts(wrkMast.getFullPlt().equals("Y") ? "F" : "D"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); @@ -419,7 +489,7 @@ return SUCCESS; } - private ReturnT<String> doOut(WrkMast wrkMast){ + private ReturnT<String> doOut(WrkMast wrkMast) { Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); try { @@ -443,26 +513,98 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } - for (WrkDetl wrkDetl : wrkDetls101) { - // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); - if (orderDetlPakout==null){ - orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + // 鍒ゆ柇鏄惁涓鸿浆搴撳嚭搴� + StoreType storeType = null; + Order order = null; + if (!Cools.isEmpty(wrkMast.getPacked())) { + storeType = storeTypeService.selectById(wrkMast.getPacked()); + if (null != storeType) { + DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "杞簱-鍑哄簱")); + String convert = DateUtils.convert(now, DateUtils.yyyyMMdd); + order = new Order( + String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] + convert + "_" + wrkMast.getPacked() + "_" + wrkMast.getWrkNo(), // 璁㈠崟缂栧彿 + DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 + docType.getDocId(), // 鍗曟嵁绫诲瀷 + storeType.getStoreId(), // 椤圭洰缂栧彿 + storeType.getStoreName(), // + null, // 璋冩嫧椤圭洰缂栧彿 + null, // 鍒濆绁ㄦ嵁鍙� + null, // 绁ㄦ嵁鍙� + null, // 瀹㈡埛缂栧彿 + null, // 瀹㈡埛 + null, // 鑱旂郴鏂瑰紡 + wrkMast.getAppeUser$(), // 鎿嶄綔浜哄憳 + null, // 鍚堣閲戦 + null, // 浼樻儬鐜� + null, // 浼樻儬閲戦 + null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 + null, // 瀹炰粯閲戦 + null, // 浠樻绫诲瀷 + null, // 涓氬姟鍛� + null, // 缁撶畻澶╂暟 + null, // 閭垂鏀粯绫诲瀷 + null, // 閭垂 + null, // 浠樻鏃堕棿 + null, // 鍙戣揣鏃堕棿 + null, // 鐗╂祦鍚嶇О + null, // 鐗╂祦鍗曞彿 + 1L, // 璁㈠崟鐘舵�� + 4, // 鐘舵�� + wrkMast.getAppeUser(), // 娣诲姞浜哄憳 + now, // 娣诲姞鏃堕棿 + wrkMast.getAppeUser(), // 淇敼浜哄憳 + now, // 淇敼鏃堕棿 + null, // 澶囨敞 + docType.getPakin() == 1 ? 1 : 2 + ); + if (!orderService.insert(order)) { + throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触"); + } } - try { - if(!Cools.isEmpty(orderDetlPakout)){ - if(!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakout.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){ -// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", -// wrkMast.getWrkNo(), wrkMast.getLocNo()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + + } + for (WrkDetl wrkDetl : wrkDetls101) { + if (storeType != null) { + OrderDetl orderDetl = new OrderDetl(); + orderDetl.sync(wrkDetl); + orderDetl.setOrderId(order.getId()); + orderDetl.setOrderNo(order.getOrderNo()); + orderDetl.setCreateBy(order.getCreateBy()); + orderDetl.setCreateTime(now); + orderDetl.setUpdateBy(order.getCreateBy()); + orderDetl.setUpdateTime(now); + orderDetl.setStatus(1); + orderDetl.setQty(wrkDetl.getAnfme()); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); + } + } else { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + //addOrderDetlQty(wrkMast, wrkDetl); + OrderDetlPakout orderDetlPakout; + if (!Cools.isEmpty(wrkDetl.getThreeCode())) { + orderDetlPakout = orderDetlPakoutService.selectById(Long.parseLong(wrkDetl.getThreeCode())); + } else { + orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + if (orderDetlPakout == null) { + orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); } } - } catch (Exception ignore){} + + try { + if (!Cools.isEmpty(orderDetlPakout)) { + if (!orderDetlPakoutService.increaseQtyById(orderDetlPakout.getId(), wrkDetl.getAnfme())) { +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +// wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + } + } catch (Exception ignore) { + } + } + } // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { @@ -492,28 +634,24 @@ return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } for (WrkDetl wrkDetl : wrkDetls108) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand() - ,wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); if (null != locDetl) { - if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3() - ,wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3())) { + if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); try { - if(!Cools.isEmpty(orderDetlPakout)){ - if(!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakout.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){ + if (!Cools.isEmpty(orderDetlPakout)) { + if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } - } catch (Exception ignore){} + } catch (Exception ignore) { + } } break; // 绌烘澘鍑哄簱 @@ -551,4 +689,61 @@ return SUCCESS; } + + private ReturnT<String> addOrderDetlQty(WrkMast wrkMast, WrkDetl wrkDetl) { + Order order = orderService.selectByNo(wrkDetl.getOrderNo()); + if (!Cools.isEmpty(order)) { + OrderDetlPakout orderDetlPakout; + switch (order.getDocType$()) { + case "閿�鍞彂璐�": + orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + if (Cools.isEmpty(orderDetlPakout)) { + orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + } + if (!Cools.isEmpty(orderDetlPakout)) { + OrderDetl orderDetl = orderDetlService.selectItem(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), wrkDetl.getBatch(), orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3()); + if (orderDetl == null) { + orderDetl = orderDetlService.selectItem(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), null, orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3()); + OrderDetl orderDetl2 = new OrderDetl(); + orderDetl2.sync(orderDetl); + if (orderDetl.getAnfme() <= wrkDetl.getAnfme()) { + orderDetlService.deleteById(orderDetl.getId()); + } else { + orderDetl.setAnfme(MathUtils.subtract(orderDetl.getAnfme(), wrkDetl.getAnfme())); + orderDetlService.updateById(orderDetl); + } + orderDetl2.setId(null); + orderDetl2.setQty(wrkDetl.getAnfme()); + orderDetl2.setBatch(wrkDetl.getBatch()); + orderDetlService.insert(orderDetl2); + log.info("鎻掑叆-------------------------{}", orderDetl2.getOrderNo()); + } else { + OrderDetl orderDetl2 = orderDetlService.selectItem(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), null, orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3()); + if (orderDetl2.getAnfme() <= wrkDetl.getAnfme()) { + orderDetlService.deleteById(orderDetl2.getId()); + } + orderDetl.setQty(orderDetl.getQty() + wrkDetl.getAnfme()); + orderDetl.setBatch(wrkDetl.getBatch()); + orderDetlService.updateById(orderDetl); + } + boolean b = orderDetlPakoutService.increaseQtyByOrderNo(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3(), wrkDetl.getAnfme()); + if (!b) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + } + break; + default: + orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + if (!Cools.isEmpty(orderDetlPakout)) { + if (!orderDetlPakoutService.increaseQtyByOrderNo(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3(), wrkDetl.getAnfme())) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + } + break; + } + } + return SUCCESS; + } } -- Gitblit v1.9.1