From b4b2da143af53a7422135abffd5306b282be6a39 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期三, 16 四月 2025 09:46:11 +0800 Subject: [PATCH] 2.0版本 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 86 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 76 insertions(+), 10 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 f5fb2df..bb7c306 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -35,6 +35,10 @@ private WaitPakinService waitPakinService; @Autowired private OrderDetlService orderDetlService; + @Autowired + private WrkMastLogService wrkMastLogService; + @Autowired + private WrkDetlLogService wrkDetlLogService; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -116,10 +120,13 @@ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if(orderDetl==null){ + orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); + } try { if(!Cools.isEmpty(orderDetl)){ if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - wrkDetl.getBatch(),wrkDetl.getAnfme())){ + orderDetl.getBatch(),wrkDetl.getAnfme())){ // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -153,9 +160,16 @@ } for (WrkDetl wrkDetl : wrkDetls53) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + LocDetl locDetl = new LocDetl(); + locDetl.sync(wrkDetl); + locDetl.setAnfme(wrkDetl.getPrice()-wrkDetl.getAnfme());//鏁伴噺 + locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� + locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 + locDetl.setModiTime(now); + locDetl.setAppeTime(now); + locDetl.setPrice(0.0); if (null != locDetl) { - if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { + if (!locDetlService.insert(locDetl)) { // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -164,10 +178,13 @@ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if(orderDetl==null){ + orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); + } try { if(!Cools.isEmpty(orderDetl)){ if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - wrkDetl.getBatch(),wrkDetl.getAnfme())){ + orderDetl.getBatch(),wrkDetl.getAnfme())){ // exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -178,7 +195,7 @@ } // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocSts().equals("Q")) { + if (locMast.getLocSts().equals("S")) { locMast.setLocSts("F"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); @@ -246,8 +263,25 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } - // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocSts().equals("Q")) { + for (WrkDetl wrkDetl:wrkDetls57){ + LocDetl locDetl = new LocDetl(); + locDetl.sync(wrkDetl); + locDetl.setAnfme(wrkDetl.getAnfme());//鏁伴噺 + locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� + locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 + locDetl.setModiTime(now); + locDetl.setAppeTime(now); + locDetl.setPrice(0.0); + if (null != locDetl) { + if (!locDetlService.insert(locDetl)) { +// exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + } + // 淇敼搴撲綅鐘舵�� S ====>> F + if (locMast.getLocSts().equals("S")) { locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); @@ -344,10 +378,13 @@ for (WrkDetl wrkDetl : wrkDetls101) { // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if(orderDetl==null){ + orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); + } try { if(!Cools.isEmpty(orderDetl)){ if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - wrkDetl.getBatch(),wrkDetl.getAnfme())){ + orderDetl.getBatch(),wrkDetl.getAnfme())){ // exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -373,6 +410,8 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } + // 淇敼宸ヤ綔涓绘。鐘舵�� + wrkMast.setWrkSts(15L); } break; // 绌烘澘鍑哄簱 @@ -388,13 +427,40 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } + // 淇敼宸ヤ綔涓绘。鐘舵�� + wrkMast.setWrkSts(15L); + } + break; + //鎷f枡鍜岀洏鐐瑰嚭搴� + case 103: + case 107: + if (locMast.getLocSts().equals("P")) { + locMast.setLocSts("O"); + locMast.setBarcode(""); + locMast.setModiTime(now); + locMast.setIoTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鎷f枡鍜岀洏鐐瑰嚭搴� ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + wrkMast.setWrkSts(16L);//绛夊緟鍏ュ簱 + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (!wrkMastLogService.save(wrkMast.getWrkNo())) { + exceptionHandle("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + } + if(!wrkMast.getEmptyMk().equals("Y")) { + // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 + if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { + exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + } + } } break; default: break; } - // 淇敼宸ヤ綔涓绘。鐘舵�� - wrkMast.setWrkSts(15L); + wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { // exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); -- Gitblit v1.9.1