From c81fc5e2a4f4153be2bb8602ed14a0743e6ecd29 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期四, 05 三月 2026 11:14:50 +0800
Subject: [PATCH] RCS对接优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java |   51 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index b0f52cc..84c2299 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -598,25 +598,40 @@
             }
             List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
 
+            // 涓婃姤ERP鏆傛椂娉ㄩ噴锛�/rsf-open-api/erp/report/order锛�
+            // if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)) {
+            //     for (TaskItem taskItem : taskItems) {
+            //         if (Objects.isNull(taskItem.getOrderId())) {
+            //             continue;
+            //         }
+            //         WkOrder order = asnOrderService.getById(taskItem.getOrderId());
+            //         if (Objects.isNull(order)) {
+            //             continue;
+            //         }
+            //         // 鍏ュ簱鍗曚换鍔℃槑缁嗕笂鎶ワ細浼樺厛鎸� orderItemId锛堝崟鎹槑缁咺D锛夋煡锛屽惁鍒欐寜 orderId+matnrId(+fieldsIndex) 鏌ワ紝纭繚鑳芥壘鍒板崟鎹槑缁�
+            //         WkOrderItem wkOrderItem = null;
+            //         if (taskItem.getOrderItemId() != null) {
+            //             wkOrderItem = asnOrderItemService.getById(taskItem.getOrderItemId());
+            //         }
+            //         if (wkOrderItem == null) {
+            //             LambdaQueryWrapper<WkOrderItem> qw = new LambdaQueryWrapper<WkOrderItem>()
+            //                     .eq(WkOrderItem::getOrderId, order.getId())
+            //                     .eq(WkOrderItem::getMatnrId, taskItem.getMatnrId());
+            //             if (StringUtils.isNotBlank(taskItem.getFieldsIndex())) {
+            //                 qw.eq(WkOrderItem::getFieldsIndex, taskItem.getFieldsIndex());
+            //             }
+            //             wkOrderItem = asnOrderItemService.getOne(qw);
+            //         }
+            //         if (Objects.isNull(wkOrderItem)) {
+            //             logger.warn("浠诲姟鍘嗗彶妗e鐞嗭細鍗曟嵁鏄庣粏涓嶅瓨鍦ㄦ垨宸插畬鎴愶紝璺宠繃涓婃姤 - taskId={}, orderId={}, orderItemId={}, matnrId={}, fieldsIndex={}", task.getId(), order.getId(), taskItem.getOrderItemId(), taskItem.getMatnrId(), taskItem.getFieldsIndex());
+            //             continue;
+            //         }
+            //         /**鍏ュ簱鍗曟槑缁嗕笂鎶�*/
+            //         reportMsgService.reportOrderItem(wkOrderItem);
+            //     }
+            // } else
             if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)) {
-                for (TaskItem taskItem : taskItems) {
-                    if (Objects.isNull(taskItem.getOrderId())) {
-                        continue;
-                    }
-                    WkOrder order = asnOrderService.getById(taskItem.getOrderId());
-                    if (Objects.isNull(order)) {
-                        continue;
-                    }
-                    //鍏ュ簱鍗曚换鍔℃槑缁嗕笂鎶�
-                    WkOrderItem wkOrderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<WkOrderItem>()
-                            .eq(WkOrderItem::getOrderId, order.getId())
-                            .eq(WkOrderItem::getFieldsIndex, taskItem.getFieldsIndex()));
-                    if (Objects.isNull(wkOrderItem)) {
-                        throw new CoolException("鏁版嵁閿欒锛屽崟鎹槑缁嗕笉瀛樺湪鎴栧凡瀹屾垚锛侊紒");
-                    }
-                    /**鍏ュ簱鍗曟槑缁嗕笂鎶�*/
-                    reportMsgService.reportOrderItem(wkOrderItem);
-                }
+                // 鍏ュ簱绫诲瀷浠呰浆鍘嗗彶锛屼笉涓婃姤ERP锛堝凡娉ㄩ噴锛�
             } else if ((task.getTaskType() >= TaskType.TASK_TYPE_OUT.type && task.getTaskType() <= TaskType.TASK_TYPE_EMPITY_OUT.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)) {
                 /**鍒ゆ柇鍗曟嵁鏄惁瀹屾垚锛氭尝娆′笅鍙戙�佹寜鍗曚笅鍙戯紙鐐瑰嚮涓嬪彂浠诲姟锛夊畬鎴愬悗鍧囧皢鍑哄簱鍗曠疆涓哄畬缁�*/

--
Gitblit v1.9.1