From 57ec0546715a31867e9ebd1e38307845b737edc4 Mon Sep 17 00:00:00 2001
From: Administrator <1051256694@qq.com>
Date: 星期二, 07 四月 2026 14:25:38 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 63 +++++++++++++++++++++++++------
1 files changed, 50 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 9169502..8c4ef5a 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -20,6 +20,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Comparator;
@@ -124,6 +125,7 @@
return true;
}
+ @Transactional
public boolean cancelTask(CancelTaskParam param) {
WrkMast wrkMast = null;
Integer wrkNo = param.getWrkNo();
@@ -141,24 +143,59 @@
throw new CoolException("浠诲姟涓嶅瓨鍦�");
}
- boolean cancelSuccess = false;
- if (wrkMast.getIoType().equals(WrkIoType.IN.id) && !wrkMast.getWrkSts().equals(WrkStsType.NEW_INBOUND.sts)) {
- cancelSuccess = true;
- } else if (wrkMast.getIoType().equals(WrkIoType.OUT.id) && !wrkMast.getWrkSts().equals(WrkStsType.NEW_OUTBOUND.sts)) {
- cancelSuccess = true;
- } else if (wrkMast.getIoType().equals(WrkIoType.LOC_MOVE.id) && !wrkMast.getWrkSts().equals(WrkStsType.NEW_LOC_MOVE.sts)) {
- cancelSuccess = true;
- } else if (wrkMast.getIoType().equals(WrkIoType.CRN_MOVE.id) && !wrkMast.getWrkSts().equals(WrkStsType.NEW_CRN_MOVE.sts)) {
- cancelSuccess = true;
+ Long expectedWrkSts;
+ if (wrkMast.getIoType().equals(WrkIoType.IN.id)) {
+ expectedWrkSts = WrkStsType.NEW_INBOUND.sts;
+ } else if (wrkMast.getIoType().equals(WrkIoType.OUT.id)) {
+ expectedWrkSts = WrkStsType.NEW_OUTBOUND.sts;
+ } else if (wrkMast.getIoType().equals(WrkIoType.LOC_MOVE.id)) {
+ expectedWrkSts = WrkStsType.NEW_LOC_MOVE.sts;
+ } else if (wrkMast.getIoType().equals(WrkIoType.CRN_MOVE.id)) {
+ expectedWrkSts = WrkStsType.NEW_CRN_MOVE.sts;
+ } else {
+ throw new CoolException("浠诲姟绫诲瀷涓嶆敮鎸佸彇娑�");
}
- if (cancelSuccess) {
+ if (!expectedWrkSts.equals(wrkMast.getWrkSts())) {
throw new CoolException("浠诲姟宸叉墽琛岋紝鍙栨秷澶辫触");
}
- wrkMast.setMk("taskCancel");
- wrkMast.setModiTime(new Date());
- wrkMastService.updateById(wrkMast);
+ boolean updated = wrkMastService.update(null, new UpdateWrapper<WrkMast>()
+ .eq("wrk_no", wrkMast.getWrkNo())
+ .eq("wrk_sts", expectedWrkSts)
+ .set("mk", "taskCancel")
+ .set("modi_time", new Date()));
+ if (!updated) {
+ throw new CoolException("浠诲姟鐘舵�佸凡鍙樺寲锛屽彇娑堝け璐�");
+ }
+ return true;
+ }
+
+ @Transactional
+ public boolean forceCancelTask(CancelTaskParam param) {
+ WrkMast wrkMast = null;
+ Integer wrkNo = param.getWrkNo();
+ String taskNo = param.getTaskNo();//wms浠诲姟鍙�
+
+ if (wrkNo == null) {
+ if (!Cools.isEmpty(taskNo)) {
+ wrkMast = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wms_wrk_no", taskNo));
+ }
+ } else {
+ wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+ }
+
+ if (wrkMast == null) {
+ throw new CoolException("浠诲姟涓嶅瓨鍦�");
+ }
+
+ boolean updated = wrkMastService.update(null, new UpdateWrapper<WrkMast>()
+ .eq("wrk_no", wrkMast.getWrkNo())
+ .set("mk", "taskForceCancel")
+ .set("modi_time", new Date()));
+ if (!updated) {
+ throw new CoolException("浠诲姟寮哄埗鍙栨秷澶辫触");
+ }
return true;
}
--
Gitblit v1.9.1