From 2ee70a38e4c832e3888b12d29ebf962456069cdb Mon Sep 17 00:00:00 2001 From: whycq <123456> Date: 星期三, 03 七月 2024 14:30:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/phpsasrs' into phpsasrs --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 72 ++++++++++++++++++++++++++--------- 1 files changed, 53 insertions(+), 19 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 943152a..f821f84 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; +import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; @@ -23,6 +24,9 @@ @Transactional public class WorkMastHandler extends AbstractHandler<String> { + + @Autowired + private MatService matService; @Autowired private WrkMastService wrkMastService; @Autowired @@ -161,6 +165,10 @@ return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } for (WrkDetl wrkDetl : wrkDetls53) { + String matnr = wrkDetl.getMatnr(); + if (matnr.substring(0,1).equals("B")) { + wrkDetl.setMatnr(matnr.substring(1)); + } LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); if (null != locDetl) { @@ -168,6 +176,21 @@ // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } else { + LocDetl detl = new LocDetl(); + +// Mat mat = matService.selectByMatnr(wrkDetl.getMatnr()); +// detl.sync(mat); + detl.sync(wrkDetl); + detl.setOrderNo(wrkDetl.getOrderNo());//璁㈠崟缂栧彿 + detl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� + detl.setAnfme(Math.abs(wrkDetl.getAnfme())); // 鏁伴噺 + detl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 + detl.setModiTime(now); + detl.setAppeTime(now); + if (!locDetlService.insert(detl)) { + return FAIL.setMsg("琛ユ枡 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } @@ -204,19 +227,15 @@ // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); if (wrkDetls54.isEmpty()) { -// exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); } // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� for (WrkDetl wrkDetl:wrkDetls54) { LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { -// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + if (!locDetlService.updateAnfme(locDetl.getAnfme() + wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { + exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); } } else { locDetl = new LocDetl(); @@ -227,11 +246,25 @@ locDetl.setModiTime(now); locDetl.setAppeTime(now); if (!locDetlService.insert(locDetl)) { -// exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); } } + + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if (orderDetl == null) { + orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + } + try { + if(!Cools.isEmpty(orderDetl)){ + if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), + orderDetl.getBatch(), wrkDetl.getAnfme())) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + } catch (Exception ignore){} + } // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { @@ -240,9 +273,7 @@ locMast.setIoTime(now); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { -// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); } } break; @@ -272,6 +303,7 @@ case 11: // 榛樿鐩爣搴撲綅鏄┖鏉� String locSts = "D"; + Long modiUser = wrkMast.getModiUser(); // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞� if (wrkMast.getEmptyMk().equals("N")) { locSts = "F"; @@ -289,6 +321,7 @@ sourceLoc.setLocSts("O"); sourceLoc.setModiTime(now); sourceLoc.setIoTime(now); + sourceLoc.setModiUser(modiUser); if (!locMastService.updateById(sourceLoc)) { // exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -300,6 +333,7 @@ locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); + locMast.setModiUser(modiUser); if (!locMastService.updateById(locMast)) { // exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -353,12 +387,12 @@ for (WrkDetl w: wrkDetls101) { //鏇存敼璁㈠崟鏁伴噺 - OrderDetl orderDetl=orderDetlService.selectItem(w.getOrderNo(),w.getMatnr(),w.getBatch()); - orderDetl.setQty(orderDetl.getQty()+w.getAnfme()); - if(!orderDetlService.updateById(orderDetl)){ - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼璁㈠崟鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); - } +// OrderDetl orderDetl=orderDetlService.selectItem(w.getOrderNo(),w.getMatnr(),w.getBatch()); +// orderDetl.setQty(orderDetl.getQty()+w.getAnfme()); +// if(!orderDetlService.updateById(orderDetl)){ +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼璁㈠崟鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); +// } } // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� -- Gitblit v1.9.1