From 4e7fce25f60aaf58603a3d2f3d749d1a83675c44 Mon Sep 17 00:00:00 2001 From: pjb <123456> Date: 星期四, 04 七月 2024 15:33:12 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 60 ++++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 36 insertions(+), 24 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 79fb6e8..9465115 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -188,10 +188,10 @@ manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo()); manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr()); ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); - manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme()); - if (manPakOut.getCount() + wrkDetl.getAnfme() == manPakOut.getAnfme()){ + 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揣鍗曞畬鎴愭暟閲忓け璐�"); } @@ -382,31 +382,43 @@ 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揣鍗曞畬鎴愭暟閲忓け璐�"); + } + } } - //鏇存柊鎷h揣鍗曞畬鎴愭暟閲� - EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>(); - manPakOutEntityWrapper.eq("doc_num",wrkDetls101.get(0).getOrderNo()); - manPakOutEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr()); - ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); - manPakOut.setCount(manPakOut.getCount() + wrkDetls101.get(0).getAnfme()); - if (manPakOut.getCount() + wrkDetls101.get(0).getAnfme() == manPakOut.getAnfme()){ - manPakOut.setStatus(1); - } - if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){ - return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�"); - } + + Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo()); -- Gitblit v1.9.1