From a378c8fbae0c40ae2b5387ba4ff052af27107aaf Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期三, 25 九月 2024 07:52:16 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 83 +++++++++++++++++++++++++++++++++++------ 1 files changed, 70 insertions(+), 13 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 760f212..9465115 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -37,6 +37,8 @@ private OrderDetlService orderDetlService; @Autowired private OrderService orderService; + @Autowired + private ManPakOutService manPakOutService; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -181,6 +183,19 @@ } } catch (Exception ignore){} + //鏇存柊鎷h揣鍗曞畬鎴愭暟閲� + EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>(); + manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo()); + manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr()); + ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); + if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){ + manPakOut.setStatus(1); + } + manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme()); + if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){ + return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�"); + } + } // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { @@ -323,10 +338,10 @@ } private ReturnT<String> doOut(WrkMast wrkMast){ - Date now = new Date(); - LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); + Date now = new Date(); //鑾峰彇褰撳墠鐨勬椂闂� + LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); //鑾峰彇宸ヤ綔妗� try { - if (null == locMast) { + if (null == locMast) { //濡傛灉宸ヤ綔妗d负绌猴紝鎶涘嚭寮傚父 // exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -347,17 +362,7 @@ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } - Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo()); - if (finsihed) { - Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo()); - if (mastFinished) { - Order order = orderService.selectByNo(wrkDetls101.get(0).getOrderNo()); - if (!Cools.isEmpty(order)) { - orderService.updateSettle(order.getId(),4L,1L); - } - } - } // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { @@ -377,6 +382,58 @@ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } + + for (WrkDetl wrkDetl: wrkDetls101) { + if(Cools.isEmpty(wrkDetl)){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 浠诲姟鏄庣粏涓虹┖; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + if (!wrkDetl.getOrderNo().isEmpty()){ + //鏇存柊璁㈠崟瀹屾垚鏁伴噺 + EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>(); + orderDetlEntityWrapper.eq("order_no",wrkDetl.getOrderNo()); + orderDetlEntityWrapper.eq("matnr",wrkDetl.getMatnr()); + + OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper); + + OrderDetl orderDetl1 = new OrderDetl(); + orderDetl1.setQty(orderDetl.getQty() + wrkDetl.getAnfme()); + orderDetl1.setUpdateTime(now); + if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){ + return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触"); + } + //鏇存柊绔嬪簱鎷h揣鍗曞畬鎴愭暟閲� + EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>(); + manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo()); + manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr()); + manPakOutEntityWrapper.eq("loc_no","绔嬪簱"); + ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); + if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){ + manPakOut.setStatus(1); + } + manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme()); + if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){ + return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�"); + } + } + } + + + + + Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo()); + if (finsihed) { + Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo()); + if (mastFinished) { + Order order = orderService.selectByNo(wrkDetls101.get(0).getOrderNo()); + if (!Cools.isEmpty(order)) { + orderService.updateSettle(order.getId(),4L,1L); + + } + } + } + + break; // 绌烘澘鍑哄簱 case 110: -- Gitblit v1.9.1