From 047fda05a26ce9a9786ec5f1dca0f82a95d30bed Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 28 六月 2023 09:56:24 +0800 Subject: [PATCH] #pda订单下架重量空优化、订单出库批量出库优化 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 77 +++++++++++++++++++++++++++++++++----- 1 files changed, 66 insertions(+), 11 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 450a109..67a1fc6 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.鍏ュ簱瀹屾垚 @@ -109,6 +111,9 @@ locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 locDetl.setModiTime(now); locDetl.setAppeTime(now); + locDetl.setOwner(wrkDetl.getOwner()); + locDetl.setPayment(wrkDetl.getPayment()); + locDetl.setWeight(wrkDetl.getWeight()); if (!locDetlService.insert(locDetl)) { // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -177,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 @@ -320,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() + "]"); @@ -344,14 +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()); - orderService.updateSettle(order.getId(),4L,1L); - } - } + // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { @@ -371,6 +382,50 @@ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } + if (!wrkDetls101.get(0).getOrderNo().isEmpty()){ + //鏇存柊璁㈠崟瀹屾垚鏁伴噺 + 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); + + OrderDetl orderDetl1 = new OrderDetl(); + orderDetl1.setQty(orderDetl.getQty() + wrkDetls101.get(0).getAnfme()); + orderDetl1.setUpdateTime(now); + if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){ + return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触"); + } + //鏇存柊鎷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); + if (manPakOut.getCount() + wrkDetls101.get(0).getAnfme() >= manPakOut.getAnfme()){ + manPakOut.setStatus(1); + } + manPakOut.setCount(manPakOut.getCount() + wrkDetls101.get(0).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