From dc3f9cc91759823ce59486f19b138be4b296a0f1 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 28 四月 2026 09:43:28 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/service/WrkCommandRollbackService.java | 68 ++++++++++++++++++++++++---------
1 files changed, 49 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/zy/core/service/WrkCommandRollbackService.java b/src/main/java/com/zy/core/service/WrkCommandRollbackService.java
index 580fded..d10bf93 100644
--- a/src/main/java/com/zy/core/service/WrkCommandRollbackService.java
+++ b/src/main/java/com/zy/core/service/WrkCommandRollbackService.java
@@ -1,6 +1,7 @@
package com.zy.core.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.domain.param.ManualRollbackTaskParam;
@@ -70,13 +71,21 @@
saveWrkLog(wrkMast.getWrkNo());
- wrkMast.setWrkSts(updateStatus);
- wrkMast.setSendFailCount(nextFailCount);
- wrkMast.setErrorTime(new Date());
- wrkMast.setErrorMemo(failMessage);
- wrkMast.setSystemMsg(failMessage);
- wrkMast.setModiTime(new Date());
- wrkMastService.updateById(wrkMast);
+ Long currentWrkSts = wrkMast.getWrkSts();
+ Date now = new Date();
+ boolean updated = wrkMastService.update(null, new UpdateWrapper<WrkMast>()
+ .set("wrk_sts", updateStatus)
+ .set("send_fail_count", nextFailCount)
+ .set("error_time", now)
+ .set("error_memo", failMessage)
+ .set("system_msg", failMessage)
+ .set("modi_time", now)
+ .eq("wrk_no", wrkMast.getWrkNo())
+ .eq("wrk_sts", currentWrkSts));
+ if (!updated) {
+ log.info("宸ヤ綔妗g姸鎬佸凡鍙樺寲锛岃烦杩囧懡浠ゅけ璐ュ洖婊氥�倃rkNo={}", wrkMast.getWrkNo());
+ return;
+ }
if (manualRequired) {
News.taskError(wrkMast.getWrkNo(), "{}涓嬪彂鍛戒护澶辫触锛屽凡杈惧埌鑷姩鍥炴粴涓婇檺({})锛岃鍦ㄥ伐浣滄。鎵嬪姩鍥炴粴銆傚師鍥�: {}", deviceName, rollbackLimit, failMessage);
@@ -99,11 +108,17 @@
saveWrkLog(wrkMast.getWrkNo());
- wrkMast.setWrkSts(rollbackStatus);
- wrkMast.setSendFailCount(0);
- wrkMast.setSystemMsg("浜哄伐鍥炴粴瀹屾垚锛岀瓑寰呴噸鏂颁笅鍙�");
- wrkMast.setModiTime(new Date());
- wrkMastService.updateById(wrkMast);
+ Long currentWrkSts = wrkMast.getWrkSts();
+ boolean updated = wrkMastService.update(null, new UpdateWrapper<WrkMast>()
+ .set("wrk_sts", rollbackStatus)
+ .set("send_fail_count", 0)
+ .set("system_msg", "浜哄伐鍥炴粴瀹屾垚锛岀瓑寰呴噸鏂颁笅鍙�")
+ .set("modi_time", new Date())
+ .eq("wrk_no", wrkMast.getWrkNo())
+ .eq("wrk_sts", currentWrkSts));
+ if (!updated) {
+ throw new CoolException("浠诲姟鐘舵�佸凡鍙樺寲锛岃鍒锋柊鍚庨噸璇�");
+ }
News.taskInfo(wrkMast.getWrkNo(), "浜哄伐鍥炴粴瀹屾垚锛屼换鍔$姸鎬佸凡鎭㈠涓哄緟鎵ц");
return true;
}
@@ -118,12 +133,17 @@
saveWrkLog(wrkMast.getWrkNo());
- wrkMast.setSendFailCount(0);
- wrkMast.setErrorTime(null);
- wrkMast.setErrorMemo(null);
- wrkMast.setSystemMsg("");
- wrkMast.setModiTime(new Date());
- wrkMastService.updateById(wrkMast);
+ boolean updated = wrkMastService.update(null, new UpdateWrapper<WrkMast>()
+ .set("send_fail_count", 0)
+ .set("error_time", null)
+ .set("error_memo", null)
+ .set("system_msg", "")
+ .set("modi_time", new Date())
+ .eq("wrk_no", wrkMast.getWrkNo())
+ .eq("wrk_sts", wrkMast.getWrkSts()));
+ if (!updated) {
+ log.info("宸ヤ綔妗g姸鎬佸凡鍙樺寲锛岃烦杩囨竻鐞嗕笅鍙戝け璐ユ爣璁般�倃rkNo={}", wrkMast.getWrkNo());
+ }
}
private WrkMast findWrkMast(Integer wrkNo, String taskNo) {
@@ -168,7 +188,8 @@
private boolean isSingleCrnRunStatus(Long wrkSts) {
return Long.valueOf(WrkStsType.INBOUND_RUN.sts).equals(wrkSts)
|| Long.valueOf(WrkStsType.OUTBOUND_RUN.sts).equals(wrkSts)
- || Long.valueOf(WrkStsType.LOC_MOVE_RUN.sts).equals(wrkSts);
+ || Long.valueOf(WrkStsType.LOC_MOVE_RUN.sts).equals(wrkSts)
+ || Long.valueOf(WrkStsType.CRN_MOVE_RUN.sts).equals(wrkSts);
}
private Long getRollbackStatus(Long wrkSts) {
@@ -180,6 +201,9 @@
}
if (Long.valueOf(WrkStsType.LOC_MOVE_RUN.sts).equals(wrkSts)) {
return WrkStsType.NEW_LOC_MOVE.sts;
+ }
+ if (Long.valueOf(WrkStsType.CRN_MOVE_RUN.sts).equals(wrkSts)) {
+ return WrkStsType.NEW_CRN_MOVE.sts;
}
return null;
}
@@ -194,6 +218,9 @@
if (Long.valueOf(WrkStsType.LOC_MOVE_RUN.sts).equals(wrkSts)) {
return WrkStsType.LOC_MOVE_MANUAL.sts;
}
+ if (Long.valueOf(WrkStsType.CRN_MOVE_RUN.sts).equals(wrkSts)) {
+ return WrkStsType.CRN_MOVE_MANUAL.sts;
+ }
return null;
}
@@ -207,6 +234,9 @@
if (Long.valueOf(WrkStsType.LOC_MOVE_MANUAL.sts).equals(wrkSts)) {
return WrkStsType.NEW_LOC_MOVE.sts;
}
+ if (Long.valueOf(WrkStsType.CRN_MOVE_MANUAL.sts).equals(wrkSts)) {
+ return WrkStsType.NEW_CRN_MOVE.sts;
+ }
return null;
}
}
--
Gitblit v1.9.1