From 4b6e6d95ae6fbbccc4351db366b99fa05288877f Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 11 六月 2025 10:09:38 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 134 +++++++++++++++++++++++++++++++------------- 1 files changed, 93 insertions(+), 41 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 a42383b..29cf116 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -188,12 +188,14 @@ 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揣鍗曞畬鎴愭暟閲忓け璐�"); + if (!Cools.isEmpty(manPakOut)){ + 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揣鍗曞畬鎴愭暟閲忓け璐�"); + } } } @@ -211,6 +213,45 @@ } break; // 骞舵澘鍏ュ簱 + case 55: + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls55 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls55.isEmpty()) { +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� + for (WrkDetl wrkDetl:wrkDetls55) { + + LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); + locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locDetl.getLocNo())); + locDetl = new LocDetl(); + locDetl.sync(wrkDetl); + locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� + locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺 + locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 + locDetl.setModiTime(now); + locDetl.setAppeTime(now); + if (!locDetlService.insert(locDetl)) { +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + // 淇敼搴撲綅鐘舵�� Q ====>> F + if (locMast.getLocSts().equals("Q")) { + locMast.setLocSts("F"); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + break; case 54: // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); @@ -257,6 +298,7 @@ } } break; + // 鐩樼偣鍏ュ簱 case 57: // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� @@ -382,50 +424,60 @@ 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("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触"); + for (WrkDetl wrkDetl: wrkDetls101) { + if(Cools.isEmpty(wrkDetl)){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 浠诲姟鏄庣粏涓虹┖; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } - //鏇存柊鎷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 (!wrkDetl.getOrderNo().isEmpty()){ + //鏇存柊璁㈠崟瀹屾垚鏁伴噺 + EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>(); + orderDetlEntityWrapper.eq("order_no",wrkDetl.getOrderNo()); + orderDetlEntityWrapper.eq("matnr",wrkDetl.getMatnr()); - if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){ - return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�"); - } - } + OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper); - - - 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); - + 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)) { +// order.setMemo("0");//鐘舵�佽浆鎹㈡垚寮�濮嬩笅鎺� +// orderService.updateById(order); +// orderService.updateSettle(order.getId(),4L,1L); +// +// } +// } +// } + + break; // 绌烘澘鍑哄簱 case 110: -- Gitblit v1.9.1