From 0549921b6ec1197a65c096a3741ff92001f411cd Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期一, 26 一月 2026 14:00:16 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java |    8 ++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java  |    1 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java       |   24 ++++++++++++------------
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/WcsTaskParams.java |    3 +++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java |   14 ++++++++++++++
 5 files changed, 38 insertions(+), 12 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java
index 30a6c32..cafff1a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java
@@ -11,6 +11,7 @@
     CALL_BACK_EVENT_START("START", "鍙栫瀹屾垚"),
     CALL_BACK_EVENT_OBIT("OTBIN", "鎼繍涓�"),
     CALL_BACK_EVENT_END("END", "鏀剧瀹屾垚"),
+    CALL_BACK_EVENT_TRANSFER("TRANSFER", "涓浆"),
     ;
 
     CallBackEvent( String event,  String desc) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/WcsTaskParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/WcsTaskParams.java
index cf05a79..1c6e5e4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/WcsTaskParams.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/WcsTaskParams.java
@@ -17,6 +17,9 @@
     @ApiModelProperty("鏍囪绫诲瀷{HKRCS: 娴峰悍, WCS: 绔嬪簱WCS, OTHER: 鍏跺畠}")
     private String sign;
 
+    @ApiModelProperty("鏍囪绫诲瀷{0:绔欏埌搴�  1锛氬簱鍒扮珯 2锛氱珯鍒扮珯 3锛氬簱鍒板簱}")
+    private String signType = "0";
+
     @ApiModelProperty("鎵规")
     private String batch;
 
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 741226e..7b5f7a6 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
@@ -539,6 +539,20 @@
                     throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
                 }
             }
+        } else if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_TRANSFER.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.WCS_EXECUTE_IN.id)
+                        .eq(Task::getTaskCode, task.getTaskCode())
+                        .set(Task::getTaskStatus, TaskStsType.WCS_EXECUTE_IN.id))) {
+                    throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                }
+            }
         }
         log.info(JSONObject.toJSONString(params));
         return R.ok(JSONObject.toJSONString(params));
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java
index 4bcac1f..e7e4223 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java
@@ -3,12 +3,12 @@
 public enum TaskStsType {
     //浠诲姟鐘舵��
     GENERATE_IN("1", "鍒涘缓鍏ュ簱浠诲姟"),
-    WCS_EXECUTE_IN("2", "RCS浠诲姟宸蹭笅鍙�"),
-    WCS_CONTAINER_RECEIVE("3", "RCS瀹瑰櫒鍒拌揪"),
-    WCS_CONVEYOR_START("4", "RCS瀹瑰櫒娴佸姩浠诲姟宸蹭笅鍙�"),
-    WCS_TOTE_LOAD("5", "RCS鍙栫瀹屾垚"),
-    WCS_TOTE_UNLOAD("6", "RCS鏀剧瀹屾垚"),
-    WCS_PUTAWAY_SUCESS("7", "RCS浠诲姟瀹屾垚"),
+    WCS_EXECUTE_IN("2", "WCS銆丷CS浠诲姟宸蹭笅鍙�"),
+    WCS_CONTAINER_RECEIVE("3", "WCS銆丷CS瀹瑰櫒鍒拌揪"),
+    WCS_CONVEYOR_START("4", "WCS銆丷CS瀹瑰櫒娴佸姩浠诲姟宸蹭笅鍙�"),
+    WCS_TOTE_LOAD("5", "WCS銆丷CS鍙栫瀹屾垚"),
+    WCS_TOTE_UNLOAD("6", "WCS銆丷CS鏀剧瀹屾垚"),
+    WCS_PUTAWAY_SUCESS("7", "WCS銆丷CS浠诲姟瀹屾垚"),
 
 //    WCS_PUTAWAY_FAILED(11L, "浠诲姟澶辫触"),
 //
@@ -24,17 +24,17 @@
 
     GENERATE_OUT("101", "鍒涘缓鍑哄簱浠诲姟"),
 
-    WCS_EXECUTE_OUT("102", "RCS鍑哄簱浠诲姟宸蹭笅鍙�"),
+    WCS_EXECUTE_OUT("102", "WCS銆丷CS鍑哄簱浠诲姟宸蹭笅鍙�"),
 
-    WCS_EXECUTE_OUT_TOTE_LOAD("103", "RCS鍙栫瀹屾垚"),
+    WCS_EXECUTE_OUT_TOTE_LOAD("103", "WCS銆丷CS鍙栫瀹屾垚"),
 
-    WCS_EXECUTE_OUT_TOTE_UNLOAD("104", "RCS鏀剧瀹屾垚"),
+    WCS_EXECUTE_OUT_TOTE_UNLOAD("104", "WCS銆丷CS鏀剧瀹屾垚"),
 
-    WCS_EXECUTE_OUT_TASK_DONE("105", "RCS浠诲姟瀹屾垚"),
+    WCS_EXECUTE_OUT_TASK_DONE("105", "WCS銆丷CS浠诲姟瀹屾垚"),
 
-    WCS_EXECUTE_OUT_ARRIVED("106", "RCS瀹瑰櫒宸插埌杈�"),
+    WCS_EXECUTE_OUT_ARRIVED("106", "WCS銆丷CS瀹瑰櫒宸插埌杈�"),
 
-    WCS_EXECUTE_OUT_CONVEYOR("107", "RCS瀹瑰櫒娴佸姩浠诲姟宸蹭笅鍙�"),
+    WCS_EXECUTE_OUT_CONVEYOR("107", "WCS銆丷CS瀹瑰櫒娴佸姩浠诲姟宸蹭笅鍙�"),
 
     AWAIT("196","绛夊緟纭"),
 
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 f6ffb66..59808c6 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
@@ -411,6 +411,14 @@
                 if (stationS.getType().equals(StationTypeEnum.STATION_TYPE_MUTI.type)) {
                     taskParams.setSign(LocStsWcsOrOtherType.LOC_STS_TYPE_WCS.type);
                 } else {
+                    Loc locEnd = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getTargLoc()));
+                    if (Objects.isNull(locEnd)) {
+                        throw new CoolException("婧愬簱浣嶄笉瀛樺湪锛侊紒");
+                    }
+                    String type = LocStsWcsOrOtherType.getApiType(locEnd.getAreaId$());
+                    if (type.equals(LocStsWcsOrOtherType.LOC_STS_TYPE_WCS.type)) {
+                        taskParams.setSignType("2");
+                    }
                     taskParams.setSign(LocStsWcsOrOtherType.LOC_STS_TYPE_RCS.type);
                 }
             }

--
Gitblit v1.9.1