From 113b5a29d3a68bee7b3500bb7505fb937ae9ba8d Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 28 四月 2026 19:18:14 +0800
Subject: [PATCH] 修复移库任务下发给wcs
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 48 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 47 insertions(+), 1 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 f031611..087332a 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -10,6 +10,7 @@
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.common.entity.Parameter;
+import com.zy.integration.iot.biz.IotInstructionService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +19,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -49,6 +51,8 @@
private OrderPakinService orderPakinService;
@Autowired
private WorkService workService;
+ @Autowired
+ private IotInstructionService iotInstructionService;
@Value("${erp.switch.ErpReportOld}")
private boolean erpReportOld;
@@ -77,7 +81,7 @@
return false;
}
Integer ioType = wrkMast.getIoType();
- return ioType != null && (ioType == 1 || ioType == 8 || ioType == 53 || ioType == 54 || ioType == 57);
+ return ioType != null && (ioType == 1 || ioType == 5 || ioType == 11 || ioType == 53 || ioType == 54 || ioType == 57);
}
private boolean needOutboundErpReport(WrkMast wrkMast) {
@@ -135,6 +139,7 @@
locMast.setLocSts("D");
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setScWeight(wrkMast.getScWeight());
if (!locMastService.updateById(locMast)) {
// exceptionHandle("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -175,6 +180,7 @@
locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
locDetl.setModiTime(now);
locDetl.setAppeTime(now);
+ locDetl.setWeight(wrkDetl.getWeight());
if (!locDetlService.insert(locDetl)) {
// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -188,6 +194,7 @@
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setScWeight(wrkMast.getScWeight());
if (!locMastService.updateById(locMast)) {
// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -221,6 +228,7 @@
locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
locDetl.setModiTime(now);
locDetl.setAppeTime(now);
+ locDetl.setWeight(wrkDetl.getWeight());
if (!locDetlService.insert(locDetl)) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鎷f枡閫斾腑骞舵澘 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -291,6 +299,7 @@
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setScWeight(wrkMast.getScWeight());
if (!locMastService.updateById(locMast)) {
// exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -327,6 +336,7 @@
locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
locDetl.setModiTime(now);
locDetl.setAppeTime(now);
+ locDetl.setWeight(wrkDetl.getWeight());
if (!locDetlService.insert(locDetl)) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -355,6 +365,7 @@
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setScWeight(wrkMast.getScWeight());
if (!locMastService.updateById(locMast)) {
// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -392,6 +403,7 @@
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
+ locMast.setScWeight(wrkMast.getScWeight());
if (!locMastService.updateById(locMast)) {
// exceptionHandle("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -437,6 +449,36 @@
return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
break;
+ // 娴呭簱浣嶇Щ搴�
+ case 5:
+ String changeLocSts = "D";
+ if ("N".equals(wrkMast.getEmptyMk())) {
+ changeLocSts = "F";
+ if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("娴呭簱浣嶇Щ搴� ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ }
+ LocMast changeLocSource = locMastService.selectById(wrkMast.getSourceLocNo());
+ if (null != changeLocSource) {
+ changeLocSource.setBarcode("");
+ changeLocSource.setLocSts("O");
+ changeLocSource.setModiTime(now);
+ changeLocSource.setIoTime(now);
+ if (!locMastService.updateById(changeLocSource)) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("娴呭簱浣嶇Щ搴� ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ }
+ locMast.setLocSts(changeLocSts);
+ locMast.setBarcode(wrkMast.getBarcode());
+ locMast.setIoTime(now);
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("娴呭簱浣嶇Щ搴� ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ break;
default:
break;
}
@@ -456,6 +498,7 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
+ iotInstructionService.queueWorkCompletion(wrkMast);
} catch (Exception e) {
log.error("fail", e);
e.printStackTrace();
@@ -524,6 +567,7 @@
if (locMast.getLocSts().equals("R")) {
locMast.setLocSts("O");
locMast.setBarcode("");
+ locMast.setScWeight(BigDecimal.ZERO);
locMast.setModiTime(now);
locMast.setIoTime(now);
if (!locMastService.updateById(locMast)) {
@@ -573,6 +617,7 @@
if (locMast.getLocSts().equals("R")) {
locMast.setLocSts("O");
locMast.setBarcode("");
+ locMast.setScWeight(BigDecimal.ZERO);
locMast.setModiTime(now);
locMast.setIoTime(now);
if (!locMastService.updateById(locMast)) {
@@ -605,6 +650,7 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
}
+ iotInstructionService.queueWorkCompletion(wrkMast);
} catch (Exception e) {
log.error("fail", e);
e.printStackTrace();
--
Gitblit v1.9.1