From ccfa611b6c2e128c0e8191e458302a85cbf8c4ee Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期五, 10 四月 2026 16:41:41 +0800
Subject: [PATCH] 删除取消

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 6745e5d..d61e7ff 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -945,14 +945,24 @@
         List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_PICK_AGAIN_OUT.type,
                 TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_EMPITY_IN.type, TaskType.TASK_TYPE_LOC_MOVE.type,
                 TaskType.TASK_TYPE_EMPITY_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type);
-        List<Task> allTasks = this.list(new LambdaQueryWrapper<Task>()
-                .in(Task::getTaskType, list)
-                .in(Task::getId, (Object[]) ids));
-        
-        if (allTasks.isEmpty()) {
+        List<Task> tasksById = this.list(new LambdaQueryWrapper<Task>().in(Task::getId, (Object[]) ids));
+        if (tasksById.isEmpty()) {
             throw new CoolException("浠诲姟涓嶅瓨鍦紒锛�");
         }
-        
+        // 鎷f枡鍑哄簱/鐩樼偣鍑哄簱杩涘叆鍐嶅叆搴撻樁娈靛悗绂佹鍙栨秷锛堜换鍔$被鍨嬪凡鐢� 103/107 鍙樹负鍐嶅叆搴擄級
+        for (Task t : tasksById) {
+            if (TaskType.TASK_TYPE_PICK_IN.type.equals(t.getTaskType())
+                    || TaskType.TASK_TYPE_CHECK_IN.type.equals(t.getTaskType())) {
+                throw new CoolException("鎷f枡/鐩樼偣鍑哄簱宸茶繘鍏ュ啀鍏ュ簱闃舵锛岀姝㈠彇娑堬紒锛�");
+            }
+        }
+        List<Task> allTasks = tasksById.stream()
+                .filter(t -> list.contains(t.getTaskType()))
+                .collect(Collectors.toList());
+        if (allTasks.isEmpty()) {
+            throw new CoolException("褰撳墠浠诲姟绫诲瀷涓嶆敮鎸佸彇娑堬紒锛�");
+        }
+
         // 鏀堕泦闇�瑕佸彇娑堢殑RCS浠诲姟缂栧彿鍜屾壒娆$紪鍙凤紙涓嶉檺鍒剁姸鎬侊紝鍙宸蹭笅鍙戝埌RCS灏遍渶瑕佸彇娑堬級
         List<String> rcsTaskCodes = new ArrayList<>();
         String batchNo = null;
@@ -1029,6 +1039,10 @@
                 log.info("RCS鍙栨秷浠诲姟鍝嶅簲鐘舵�佺爜锛歿}", exchange.getStatusCode());
                 log.info("RCS鍙栨秷浠诲姟鍝嶅簲浣擄細{}", exchange.getBody());
 
+                if (!exchange.getStatusCode().is2xxSuccessful()) {
+                    throw new CoolException("RCS鍙栨秷浠诲姟澶辫触锛欻TTP " + exchange.getStatusCode().value());
+                }
+
                 if (Objects.isNull(exchange.getBody())) {
                     log.error("RCS鍙栨秷浠诲姟澶辫触锛氬搷搴斾綋涓虹┖");
                     throw new CoolException("RCS鍙栨秷浠诲姟澶辫触锛氬搷搴斾綋涓虹┖");
@@ -1058,7 +1072,7 @@
             }
         }
         
-        // 鍙彇娑堢姸鎬侊細鍘� 1/101锛堜笉鍚� 199锛夛紱鎷f枡/鐩樼偣鍑哄簱 RCS 鎵ц涓�(<198)锛涙嫞鏂�/鐩樼偣鍐嶅叆搴�(53/57)涓嶆敮鎸佸彇娑�
+        // 鍙彇娑堢姸鎬侊細鍘� 1/101锛堜笉鍚� 199锛夛紱鎷f枡/鐩樼偣鍑哄簱 RCS 鎵ц涓�(<198)锛涘啀鍏ュ簱(53/57)鍦ㄦ柟娉曞叆鍙e凡绂佹鍙栨秷
         List<Task> tasks = this.list(new LambdaQueryWrapper<Task>()
                 .in(Task::getTaskType, list)
                 .in(Task::getId, (Object[]) ids)

--
Gitblit v1.9.1