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 | 96 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 78 insertions(+), 18 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 f5fb2df..9465115 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -35,6 +35,10 @@ private WaitPakinService waitPakinService; @Autowired private OrderDetlService orderDetlService; + @Autowired + private OrderService orderService; + @Autowired + private ManPakOutService manPakOutService; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -107,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(); @@ -175,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 @@ -318,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() + "]"); @@ -341,21 +361,9 @@ 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()); - try { - if(!Cools.isEmpty(orderDetl)){ - if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - wrkDetl.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()); @@ -374,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