From 52985bb39bdeb8e0d6ac04327c703c148bda3b6e Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 11 十月 2025 15:53:41 +0800
Subject: [PATCH] 修复自动移库BUG
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 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..b55dbde 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,8 @@
private WaitPakinService waitPakinService;
@Autowired
private OrderDetlService orderDetlService;
+ @Autowired
+ private BasDevpService basDevpService;
public ReturnT<String> start(WrkMast wrkMast) {
// 4.鍏ュ簱瀹屾垚
@@ -50,6 +52,7 @@
private ReturnT<String> doIn(WrkMast wrkMast){
Date now = new Date();
LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ BasDevp basDevp = new BasDevp();
try {
if (null == locMast) {
// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -74,6 +77,7 @@
return FAIL.setMsg("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
}
+ basDevp=basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",100));
break;
// 鍏ㄦ澘鍏ュ簱
case 1:
@@ -116,10 +120,13 @@
// 鏇存柊璁㈠崟瀹屾垚鏁伴噺
OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+ if (orderDetl==null){
+ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+ }
try {
if(!Cools.isEmpty(orderDetl)){
if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(),wrkDetl.getAnfme())){
+ orderDetl.getBatch(),wrkDetl.getAnfme())){
// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
// wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -141,6 +148,7 @@
return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
}
+ basDevp=basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",200));
break;
// 鎷f枡鍏ュ簱
case 53:
@@ -164,10 +172,13 @@
// 鏇存柊璁㈠崟瀹屾垚鏁伴噺
OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+ if (orderDetl==null){
+ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+ }
try {
if(!Cools.isEmpty(orderDetl)){
if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(),wrkDetl.getAnfme())){
+ orderDetl.getBatch(),wrkDetl.getAnfme())){
// exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
// wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -289,7 +300,7 @@
// 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts
locMast.setLocSts(locSts);
locMast.setBarcode(wrkMast.getBarcode());
- locMast.setIoTime(now);
+// locMast.setIoTime(now);
locMast.setModiTime(now);
if (!locMastService.updateById(locMast)) {
// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -299,6 +310,11 @@
break;
default:
break;
+ }
+ if(!Cools.isEmpty(basDevp)){
+ basDevp.setLoading("N");
+ basDevp.setModiTime(now);
+ basDevpService.update(basDevp,new EntityWrapper<BasDevp>().eq("dev_no",wrkMast.getSourceStaNo()));
}
// 淇敼宸ヤ綔涓绘。鐘舵��
wrkMast.setWrkSts(5L);
@@ -326,6 +342,13 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
+ BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",wrkMast.getStaNo()));
+ if(Cools.isEmpty(basDevp)){
+ return FAIL.setMsg("娌℃湁鎵惧埌璇ュ嚭搴撶珯鐐�; [workNo=" + wrkMast.getWrkNo() + "],[devNo=" + wrkMast.getLocNo() + "]");
+ }
+ basDevp.setLoading("Y");
+ basDevp.setModiTime(now);
+ basDevpService.updateById(basDevp);
assert locMast != null;
switch (wrkMast.getIoType()) {
// 鍏ㄦ澘鍑哄簱
@@ -344,10 +367,13 @@
for (WrkDetl wrkDetl : wrkDetls101) {
// 鏇存柊璁㈠崟瀹屾垚鏁伴噺
OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+ if (orderDetl==null){
+ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+ }
try {
if(!Cools.isEmpty(orderDetl)){
if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(),wrkDetl.getAnfme())){
+ orderDetl.getBatch(),wrkDetl.getAnfme())){
// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
// wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -393,6 +419,7 @@
default:
break;
}
+
// 淇敼宸ヤ綔涓绘。鐘舵��
wrkMast.setWrkSts(15L);
wrkMast.setModiTime(now);
--
Gitblit v1.9.1