From 7e52962b703cdb572885cc394d039bc635d979fd Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 13 三月 2026 13:27:22 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/OpenController.java | 11 +++++
src/main/resources/docs/WCS外部HTTP API接口V1.8.docx | 0
src/main/java/com/zy/asrs/domain/param/CancelTaskBatchParam.java | 12 ++++++
src/main/java/com/zy/asrs/domain/Result/CancelTaskBatchResult.java | 14 +++++++
src/main/java/com/zy/common/service/CommonService.java | 51 +++++++++++++++++++++++++
5 files changed, 88 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 9bbe2f5..6f0447b 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -4,6 +4,7 @@
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
+import com.zy.asrs.domain.Result.CancelTaskBatchResult;
import com.zy.asrs.domain.param.*;
import com.zy.asrs.entity.DeviceConfig;
import com.zy.asrs.entity.LocMast;
@@ -151,6 +152,16 @@
return R.error("浠诲姟鍙栨秷澶辫触");
}
+ @PostMapping("/cancelTaskBatch")
+ @OpenApiLog(memo = "浠诲姟鎵归噺鍙栨秷")
+ public R cancelTaskBatch(@RequestBody CancelTaskBatchParam param) {
+ if (param == null) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖");
+ }
+ CancelTaskBatchResult result = commonService.cancelTaskBatch(param);
+ return R.ok().add(result);
+ }
+
@PostMapping("/deviceStatus")
// @OpenApiLog(memo = "鑾峰彇璁惧鐘舵��")
public R getDeviceStatus() {
diff --git a/src/main/java/com/zy/asrs/domain/Result/CancelTaskBatchResult.java b/src/main/java/com/zy/asrs/domain/Result/CancelTaskBatchResult.java
new file mode 100644
index 0000000..a8169f2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/Result/CancelTaskBatchResult.java
@@ -0,0 +1,14 @@
+package com.zy.asrs.domain.Result;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CancelTaskBatchResult {
+
+ private List<String> successList;
+
+ private List<String> failList;
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/param/CancelTaskBatchParam.java b/src/main/java/com/zy/asrs/domain/param/CancelTaskBatchParam.java
new file mode 100644
index 0000000..eb0c6dc
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/CancelTaskBatchParam.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CancelTaskBatchParam {
+
+ private List<CancelTaskParam> taskList;
+
+}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index c5283be..cc2f16c 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
+import com.zy.asrs.domain.Result.CancelTaskBatchResult;
import com.zy.asrs.domain.param.*;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
@@ -129,12 +130,62 @@
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;
+ }
+
+ if (cancelSuccess) {
+ throw new CoolException("浠诲姟宸叉墽琛岋紝鍙栨秷澶辫触");
+ }
+
wrkMast.setMk("taskCancel");
wrkMast.setModiTime(new Date());
wrkMastService.updateById(wrkMast);
return true;
}
+ public CancelTaskBatchResult cancelTaskBatch(CancelTaskBatchParam param) {
+ if (param == null) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ List<CancelTaskParam> taskList = param.getTaskList();
+ if (taskList == null || taskList.isEmpty()) {
+ throw new CoolException("浠诲姟鍙傛暟鍒楄〃涓虹┖");
+ }
+
+ List<String> successList = new ArrayList<>();
+ List<String> failList = new ArrayList<>();
+
+ for (CancelTaskParam cancelTaskParam : taskList) {
+ if (cancelTaskParam == null) {
+ throw new CoolException("浠诲姟鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ boolean cancelStatus = false;
+ try {
+ cancelStatus = cancelTask(cancelTaskParam);
+ } catch (Exception e) {
+ }
+
+ if (cancelStatus) {
+ successList.add(cancelTaskParam.getTaskNo());
+ }else {
+ failList.add(cancelTaskParam.getTaskNo());
+ }
+ }
+
+ CancelTaskBatchResult result = new CancelTaskBatchResult();
+ result.setSuccessList(successList);
+ result.setFailList(failList);
+ return result;
+ }
+
//绉诲簱浠诲姟
public boolean createLocMoveTask(CreateLocMoveTaskParam param) {
Date now = new Date();
diff --git "a/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.8.docx" "b/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.8.docx"
new file mode 100644
index 0000000..688ada3
--- /dev/null
+++ "b/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.8.docx"
Binary files differ
--
Gitblit v1.9.1