From 9079c4f09f4c267576638b5f41c8aa695742a66a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 06 四月 2026 21:00:46 +0800
Subject: [PATCH] #取消出库优化
---
src/main/java/com/zy/asrs/controller/OpenController.java | 11 +----
src/main/java/com/zy/asrs/task/WrkMastScheduler.java | 3 +
src/main/java/com/zy/asrs/controller/WrkMastController.java | 2
src/main/java/com/zy/common/service/CommonService.java | 49 ++++++++++++++++--------
4 files changed, 37 insertions(+), 28 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 669f683..062ca37 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -27,15 +27,12 @@
import com.zy.core.thread.StationThread;
import com.zy.system.entity.Config;
import com.zy.system.service.ConfigService;
-import com.zy.system.service.HighPrivilegeGrantService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
-
-import jakarta.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
@@ -63,10 +60,6 @@
private ConfigService configService;
@Autowired
private DeviceConfigService deviceConfigService;
- @Autowired
- private HighPrivilegeGrantService highPrivilegeGrantService;
- @Autowired
- private HttpServletRequest request;
// 绉诲簱浠诲姟
@PostMapping("/createLocMoveTask")
@@ -144,7 +137,7 @@
if (param == null) {
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
- boolean completeTask = commonService.cancelTask(param, false);
+ boolean completeTask = commonService.cancelTask(param);
if (completeTask) {
return R.ok();
}
@@ -170,7 +163,7 @@
if (param == null) {
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
- CancelTaskBatchResult result = commonService.cancelTaskBatch(param, false);
+ CancelTaskBatchResult result = commonService.cancelTaskBatch(param);
return R.ok().add(result);
}
diff --git a/src/main/java/com/zy/asrs/controller/WrkMastController.java b/src/main/java/com/zy/asrs/controller/WrkMastController.java
index 535c355..c27a3ae 100644
--- a/src/main/java/com/zy/asrs/controller/WrkMastController.java
+++ b/src/main/java/com/zy/asrs/controller/WrkMastController.java
@@ -90,7 +90,7 @@
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
highPrivilegeGrantService.assertGranted(request.getHeader("token"), "鍙栨秷浠诲姟");
- return commonService.cancelTask(param, true) ? R.ok() : R.error("浠诲姟鍙栨秷澶辫触");
+ return commonService.forceCancelTask(param) ? R.ok() : R.error("浠诲姟鍙栨秷澶辫触");
}
private <T> void convert(Map<String, Object> map, QueryWrapper<T> wrapper){
diff --git a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
index c7258ce..2d9ac1f 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
@@ -271,7 +271,8 @@
@Scheduled(cron = "0/1 * * * * ? ")
@Transactional
public void executeCancelTask(){
- List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>().eq("mk", "taskCancel"));
+ List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>()
+ .in("mk", "taskCancel", "taskForceCancel"));
if (wrkMasts.isEmpty()) {
return;
}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index c34ef3d..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,7 +125,8 @@
return true;
}
- public boolean cancelTask(CancelTaskParam param, boolean allowDirectCancel) {
+ @Transactional
+ public boolean cancelTask(CancelTaskParam param) {
WrkMast wrkMast = null;
Integer wrkNo = param.getWrkNo();
String taskNo = param.getTaskNo();//wms浠诲姟鍙�
@@ -139,17 +141,6 @@
if (null == wrkMast) {
throw new CoolException("浠诲姟涓嶅瓨鍦�");
- }
-
- if (allowDirectCancel) {
- boolean updated = wrkMastService.update(null, new UpdateWrapper<WrkMast>()
- .eq("wrk_no", wrkMast.getWrkNo())
- .set("mk", "taskCancel")
- .set("modi_time", new Date()));
- if (!updated) {
- throw new CoolException("浠诲姟鍙栨秷澶辫触");
- }
- return true;
}
Long expectedWrkSts;
@@ -176,6 +167,34 @@
.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;
}
@@ -282,10 +301,6 @@
}
public CancelTaskBatchResult cancelTaskBatch(CancelTaskBatchParam param) {
- return cancelTaskBatch(param, false);
- }
-
- public CancelTaskBatchResult cancelTaskBatch(CancelTaskBatchParam param, boolean allowDirectCancel) {
if (param == null) {
throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
}
@@ -305,7 +320,7 @@
boolean cancelStatus = false;
try {
- cancelStatus = cancelTask(cancelTaskParam, allowDirectCancel);
+ cancelStatus = cancelTask(cancelTaskParam);
} catch (Exception e) {
}
--
Gitblit v1.9.1