From 130734fae9297d84be9ea6d50a8e8c1a7f3747ce Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期一, 21 四月 2025 16:04:15 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 113 insertions(+), 0 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 800325a..42ba93d 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -53,6 +53,10 @@ // 14.鍑哄簱瀹屾垚 } else if (wrkMast.getWrkSts() == 14) { return doOut(wrkMast); + } else if (wrkMast.getWrkSts() == 108) { + return doOut2_5(wrkMast); + } else if (wrkMast.getWrkSts() == 109) { + return doOut2_5(wrkMast); } return SUCCESS; } @@ -479,4 +483,113 @@ return SUCCESS; } + + private ReturnT<String> doOut2_5(WrkMast wrkMast) { + Date now = new Date(); + LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); + try { + if (null == locMast) { +// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + assert locMast != null; + switch (wrkMast.getIoType()) { + // 鍏ㄦ澘鍑哄簱 + case 101: + List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkMast.getStaNo() == 1135) { + //閭i渶瑕佺敓鎴愪竴鏉″洓椤瑰簱鐨勫叆搴撲换鍔� + workService.toSxk(wrkMast, wrkDetls101, (short) 1); + } else if (wrkMast.getStaNo() == 1031) { + //閭i渶瑕佺敓鎴愪竴鏉″洓椤瑰簱鐨勫叆搴撲换鍔� + workService.toCrn(wrkMast, wrkDetls101, (short) 1); + } + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + if (wrkDetls101.isEmpty()) { +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + 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(), + orderDetl.getBatch(), 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()))) { +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + // 淇敼婧愬簱浣嶇姸鎬� R ===>> O + if (locMast.getLocSts().equals("R")) { + 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("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + } + break; + // 绌烘澘鍑哄簱 + case 110: + if (wrkMast.getStaNo() == 1135) { + //閭i渶瑕佺敓鎴愪竴鏉″洓椤瑰簱鐨勫叆搴撲换鍔� + workService.toSxk(wrkMast, null, (short) 1); + } else if (wrkMast.getStaNo() == 1031) { + //閭i渶瑕佺敓鎴愪竴鏉″洓椤瑰簱鐨勫叆搴撲换鍔� + workService.toCrn(wrkMast, null, (short) 1); + } + // 淇敼搴撲綅鐘舵�� R ===>> O + if (locMast.getLocSts().equals("R")) { + 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("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + } + break; + default: + break; + } + // 淇敼宸ヤ綔涓绘。鐘舵�� + wrkMast.setWrkSts(15L); + wrkMast.setModiTime(now); + if (!wrkMastService.updateById(wrkMast)) { +// exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + } catch (Exception e) { + log.error("fail", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } + return SUCCESS; + } + + } -- Gitblit v1.9.1