From 4d86df5389fb939e5a7a04af89afd8ca34b62fb5 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 13 十一月 2023 13:34:20 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 49 insertions(+), 9 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 c6c9dd4..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.鍏ュ簱瀹屾垚 @@ -180,6 +182,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 @@ -367,20 +382,45 @@ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } - EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>(); - orderDetlEntityWrapper.eq("order_no",wrkDetls101.get(0).getOrderNo()); - orderDetlEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr()); - OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper); + 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 orderDetl1 = new OrderDetl(); - orderDetl1.setQty(orderDetl.getQty() + wrkDetls101.get(0).getAnfme()); - orderDetl1.setUpdateTime(now); - if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){ - return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触"); + 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()); -- Gitblit v1.9.1