From 2d81e5e2ff8de4e97633e86b5605b6c787660cd5 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期五, 20 六月 2025 12:58:22 +0800 Subject: [PATCH] #工作档手动完成 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 114 insertions(+), 2 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 93032b4..dbc1353 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.zy.asrs.entity.*; +import com.zy.asrs.mapper.LocDetlMapper; import com.zy.asrs.mapper.OrderDetlMapper; import com.zy.asrs.mapper.OrderMapper; import com.zy.asrs.service.*; @@ -17,6 +18,7 @@ import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.Optional; import java.util.stream.Collectors; /** @@ -43,6 +45,9 @@ private OrderDetlMapper orderDetlMapper; @Resource + private LocDetlMapper locDetlMapper; + + @Resource private OrderMapper orderMapper; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -59,7 +64,7 @@ Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); try { - if (null == locMast) { + if (null == locMast && wrkMast.getIoType() != 3) { // exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]"); @@ -112,7 +117,8 @@ locDetl.sync(wrkDetl); locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺 - locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 + locDetl.setZpallet(wrkMast.getBarcode()); // 鎵樼洏鏉$爜 + locDetl.setBarcode(wrkMast.getBarcode()); locDetl.setModiTime(now); locDetl.setAppeTime(now); locDetl.setBatch(""); @@ -198,6 +204,10 @@ // } catch (Exception ignore){} } + + // 淇敼鎹℃枡鍏ュ簱鐨勫簱瀛樻槑缁嗙殑鐞嗚揣鐘舵�佷负寰呯悊璐� + locDetlMapper.updateLhStsByLocNo(wrkMast.getLocNo(),0); + // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { locMast.setLocSts("F"); @@ -364,6 +374,108 @@ return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } break; + // 璺ㄥ贩閬撳簱浣嶇Щ杞畬鎴� + case 12: + // 榛樿鐩爣搴撲綅鏄┖鏉� + String locSts2 = "D"; + // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞� + if (wrkMast.getEmptyMk().equals("N")) { + locSts2 = "F"; + // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣� + if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { +// exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + // 璺ㄥ贩閬撶Щ搴擄紝鏇存柊璁㈠崟鏄庣粏鍙婅鍗曠姸鎬� + List<WrkDetl> wrkDetlList2 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (!wrkDetlList2.isEmpty()) { + // 鍒ゆ柇鏈夋棤鍗曟嵁缂栧彿 + Optional<WrkDetl> any = wrkDetlList2.stream().filter(wrkDetl -> wrkDetl.getOrderNo() != null).findAny(); + if (any.isPresent()) { + String orderNo = any.get().getOrderNo(); + // 鏍规嵁鍗曟嵁缂栧彿鍜屽簱浣嶅彿鏌ヨ鍗曟嵁鏄庣粏 + List<OrderDetl> orderDetlList = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().in("order_no",orderNo).eq("specs",wrkMast.getSourceLocNo())); + // 鏇存柊鍗曟嵁鏄庣粏鐨勭Щ搴撶姸鎬� + for(OrderDetl orderDetl: orderDetlList) { + orderDetl.setDanger(2); + orderDetl.setUpdateTime(now); + orderDetlMapper.updateById(orderDetl); + } + // 鍒ゆ柇鍗曟嵁鏄庣粏鏄笉鏄叏閮ㄧЩ搴撳畬鎴� + Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().lt("danger", 2).eq("order_no", orderNo)); + if (count == 0) { + // 鏇存柊鍗曟嵁涓哄凡瀹屾垚 + // 鐩存帴鏇存柊涓�6宸蹭笂鎶ワ紝鏂逛究杞偍鍘嗗彶 + orderMapper.updateSettleByOrderNo(orderNo,6,null); + } + } + } else { // 绌烘澘杞Щ娌℃湁宸ヤ綔鏄庣粏,浣嗘槸瑕佹洿鏂板崟鎹槑缁嗙姸鎬� + + // 鍙湁涓�鏉′綔涓氫腑鐨勭Щ搴撳崟鎹� + List<Order> orderList = orderMapper.selectList(new EntityWrapper<Order>().eq("doc_type", 24).le("settle", 3)); + if(orderList.isEmpty()) { + log.error("娌℃湁鑾峰彇鍒版鍦ㄦ墽琛屼腑鐨勭Щ搴撳崟鎹�"); + } else { + Order order = orderList.get(0); + // 鏍规嵁鍗曟嵁缂栧彿鍜屽簱浣嶅彿鏌ヨ鍗曟嵁鏄庣粏 + List<OrderDetl> orderDetlList = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().in("order_no",order.getOrderNo()).eq("specs",wrkMast.getSourceLocNo())); + // 鏇存柊鍗曟嵁鏄庣粏鐨勭Щ搴撶姸鎬� + for(OrderDetl orderDetl: orderDetlList) { + orderDetl.setDanger(2); + orderDetl.setUpdateTime(now); + orderDetlMapper.updateById(orderDetl); + } + // 鍒ゆ柇鍗曟嵁鏄庣粏鏄笉鏄叏閮ㄧЩ搴撳畬鎴� + Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().lt("danger", 2).eq("order_no", order.getOrderNo())); + if (count == 0) { + // 鏇存柊鍗曟嵁涓哄凡瀹屾垚 + orderMapper.updateSettleByOrderNo(order.getOrderNo(),6,null); + } + } + + } + + // 淇敼婧愬簱浣嶇姸鎬� ==> O + LocMast sourceLoc2 = locMastService.selectById(wrkMast.getSourceLocNo()); + if (null != sourceLoc2) { + sourceLoc2.setBarcode(""); + sourceLoc2.setLocSts("O"); + sourceLoc2.setSheetNo("0"); + sourceLoc2.setModiTime(now); + sourceLoc2.setIoTime(now); + if (!locMastService.updateById(sourceLoc2)) { +// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts + locMast.setLocSts(locSts2); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setSheetNo("0"); + 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 59: + + // 淇敼搴撲綅鐘舵�� S ====>> F + if (locMast.getLocSts().equals("S")) { + locMast.setLocSts("F"); + locMast.setModiTime(now); + locMastService.updateById(locMast); + } + + // 淇敼绌洪棽鐞嗚揣鍏ュ簱鐨勫簱瀛樻槑缁嗙殑鐞嗚揣鐘舵�佷负寰呯悊璐� + locDetlMapper.updateLhStsByLocNo(wrkMast.getLocNo(),0); + break; default: break; } -- Gitblit v1.9.1