From 1f0db72effe89280001306a0d95ae78ed0dd4db0 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 15 三月 2026 17:47:02 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

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();

--
Gitblit v1.9.1