From 29de5e9bf0fcd2771836f3135214e9de9e7f5204 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期三, 14 一月 2026 16:46:55 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java |    7 ++++++-
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java               |    1 +
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java         |    3 +++
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/TaskReportParam.java    |    3 +++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java      |   34 ++++++++++++++++++++++++++++++++++
 5 files changed, 47 insertions(+), 1 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java
index 8334ef3..b5daeb8 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java
@@ -143,6 +143,9 @@
     @OperationLog("WCS浠诲姟涓婃姤閫氱煡")
     @PostMapping("/task/report")
     public R wcsTaskReport(@RequestBody TaskReportParam params) {
+        if (params.getType() != 0){
+            return wcsService.wcsTaskReport2(params);
+        }
         return wcsService.wcsTaskReport(params);
     }
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/TaskReportParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/TaskReportParam.java
index a10c4d8..2bd3bc1 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/TaskReportParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/TaskReportParam.java
@@ -37,4 +37,7 @@
     @ApiModelProperty("娑堟伅鏁版嵁")
     private String data;
 
+    @ApiModelProperty("绫诲埆")
+    private Integer type = 0;
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java
index a2ca17c..9c1db28 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java
@@ -19,6 +19,7 @@
     R pubWcsTask(WcsTaskParams params);
     R wcsCreateInTask(CreateInTaskParam params);
     R wcsTaskReport(TaskReportParam params);
+    R wcsTaskReport2(TaskReportParam params);
     R wcsReassignLoc(ReassignLocParam params);
     R wcsChangeLoc(ChangeLocParam params);
 }
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 d8c0989..2698e82 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
@@ -1007,6 +1007,40 @@
     }
 
     /**
+     * WCS浠诲姟涓婃姤閫氱煡
+     *
+     * @return
+     */
+    @Override
+    public R wcsTaskReport2(TaskReportParam params) {
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        Task one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskCode, params.getSuperTaskNo()));
+        if (Cools.isEmpty(one)) {
+            return R.error(params.getSuperTaskNo()+"浠诲姟鍙�==>鏈煡璇㈠埌鐩稿叧浠诲姟锛侊紒锛�");
+        }
+        if (params.getMsgType().equals(WcsMsgTypeEvent.TASK_COMPLETE.event)){
+            if (!Cools.isEmpty(one)) {
+                one.setTaskStatus(TaskStsType.GENERATE_IN.id);
+                one.setOrgSite(one.getTargSite());
+                if (!taskService.updateById(one)) {
+//                    throw new CoolException("瀹屾垚浠诲姟澶辫触");
+                    return R.error("瀹屾垚浠诲姟澶辫触").add(one);
+                }
+                return R.ok("浠诲姟瀹屾垚鎴愬姛").add(one);
+            }
+        } else if (params.getMsgType().equals(WcsMsgTypeEvent.TASK_CANCEL.event)){
+//            if (!Cools.isEmpty(one)) {
+//                one.setTaskStatus(one.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.AWAIT.id);
+//                return R.ok("锛�").add(one);
+//            }
+            return R.error("鏆備笉鍏佽鍙栨秷");
+        }
+        return R.error("鏁版嵁寮傚父");
+    }
+
+    /**
      * WCS鐢宠浠诲姟閲嶆柊鍒嗛厤鍏ュ簱
      *
      * @return
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 2f3fb15..7853ac6 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
@@ -624,6 +624,11 @@
             if (StringUtils.isBlank(ruleCode)) {
                 throw new CoolException("缂栫爜閿欒锛氳纭缂栫爜銆孲YS_TASK_CODE銆嶆槸鍚﹀凡鐢熸垚!!");
             }
+
+            String staNoEnd = basStation.getStationName();
+            if (basStation.getIsWcs()!=0){
+                staNoEnd = "B102";
+            }
             Task task = new Task();
             task.setTaskCode(ruleCode)
                     .setTaskStatus(TaskStsType.WCS_EXECUTE_IN.id)
@@ -632,7 +637,7 @@
                     .setTargLoc(targetLoc)
                     .setBarcode(pakin.getBarcode())
                     .setOrgSite(basStation.getStationName())
-                    .setTargSite(basStation.getStationName())
+                    .setTargSite(staNoEnd)
                     .setCreateBy(loginUserId)
                     .setUpdateBy(loginUserId);
 

--
Gitblit v1.9.1