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 |   41 ++++++++++++++++++++++++++++++++---------
 1 files changed, 32 insertions(+), 9 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 6423c9f..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
@@ -4,7 +4,6 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.cfg.CoercionAction;
 import com.fasterxml.jackson.databind.cfg.CoercionInputShape;
@@ -56,6 +55,7 @@
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.client.HttpStatusCodeException;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.*;
@@ -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)
@@ -2219,6 +2233,13 @@
                     log.error("RCS璧勬簮璁块棶寮傚父锛屼换鍔′笅鍙戝け璐ワ紒浠诲姟缂栫爜锛歿}锛岄敊璇俊鎭細{}", task.getTaskCode(), errorMsg);
                 }
                 continue;
+            } catch (HttpStatusCodeException e) {
+                long endTime = System.currentTimeMillis();
+                log.error("========== RCS浠诲姟涓嬪彂寮傚父 ==========");
+                log.error("璇锋眰RCS-HTTP鐘舵�佸紓甯革紝鑰楁椂锛歿}ms锛屼换鍔$紪鐮侊細{}锛宻tatus锛歿}锛宐ody锛歿}", (endTime - startTime), task.getTaskCode(), e.getRawStatusCode(), e.getResponseBodyAsString(), e);
+                log.error("璇锋眰RCS-鍦板潃锛歿}", pubTakUrl);
+                log.error("璇锋眰RCS-鍙傛暟锛歿}", JSONObject.toJSONString(taskParams));
+                continue;
             } catch (Exception e) {
                 long endTime = System.currentTimeMillis();
                 log.error("========== RCS浠诲姟涓嬪彂寮傚父 ==========");
@@ -2747,7 +2768,9 @@
                         .setLocId(locId)
                         .setMatNr(item.getMatnrCode())
                         .setQty(item.getAnfme() != null ? String.valueOf(item.getAnfme()) : "0")
-                        .setBatch(item.getBatch());
+                        .setBatch(item.getBatch())
+                        .setInbound(isInbound)
+                        .setBarcode(task.getBarcode());
                 try {
                     String requestBody = om.writeValueAsString(param);
                     CloudWmsNotifyLog notifyLog = new CloudWmsNotifyLog()

--
Gitblit v1.9.1