From 1e1cedc70758a7c17ccf63ea11d1db70c409aa66 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期五, 05 九月 2025 09:45:15 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java |   40 ++++++++++++++++++++++++++++------------
 1 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
index 40d4c5d..3005f19 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -469,19 +469,15 @@
         if (Objects.isNull(task)) {
             throw new CoolException("浠诲姟涓嶅瓨鍦ㄥ彲宸茬粨鏉燂紒锛�");
         }
-        /**鍙栫瀹屾垚*/
-        if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) {
+
+        /**鏂欑鎼繍涓紝 淇敼绔欑偣鐘舵��*/
+        if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_OBIT.event)) {
             if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
-                if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode())
-                        .set(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id))) {
-                    throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-                }
-
                 if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
                     BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getOrgSite()));
                     if (Objects.isNull(station)) {
@@ -499,10 +495,6 @@
                     || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_OUT.type)) {
-                if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode())
-                        .set(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id))) {
-                    throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-                }
                 /**淇敼鍑哄簱绔欑偣鐘舵��*/
                 BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
                         .eq(BasStation::getStationName, task.getTargSite()));
@@ -516,8 +508,32 @@
                     }
                 }
             }
+            /**鍙栫瀹屾垚锛� 淇敼浠诲姟鐘舵��*/
+        } else if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) {
+            if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
+                if (!taskService.update(new LambdaUpdateWrapper<Task>()
+                        .lt(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id)
+                        .eq(Task::getTaskCode, task.getTaskCode())
+                        .set(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id))) {
+                    throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                }
+            } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_OUT.type)) {
+                if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode())
+                        .lt(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id)
+                        .set(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id))) {
+                    throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                }
+            }
         }
-
         log.info(JSONObject.toJSONString(params));
         return R.ok(JSONObject.toJSONString(params));
     }

--
Gitblit v1.9.1