From ed8bd2cd2634798298e90cf075a67173b154f0fa Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 18 八月 2025 14:19:05 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 115 insertions(+), 3 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..f549c1b 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,10 +117,11 @@
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("");
+// locDetl.setBatch("");
if (!locDetlService.insert(locDetl)) {
// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -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