From b5b400a615743a74e9d127261bd3785554aa06aa Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期六, 10 一月 2026 13:34:40 +0800
Subject: [PATCH] #

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 34 insertions(+), 15 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 b33e26f..3670db5 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
@@ -19,6 +19,7 @@
 import com.vincent.rsf.server.api.controller.erp.params.TaskInParam;
 import com.vincent.rsf.server.api.entity.dto.SyncLocsDto;
 import com.vincent.rsf.server.api.entity.enums.CallBackEvent;
+import com.vincent.rsf.server.api.entity.enums.WcsMsgTypeEvent;
 import com.vincent.rsf.server.api.entity.params.*;
 import com.vincent.rsf.server.manager.controller.params.GenerateTaskParams;
 import com.vincent.rsf.server.manager.enums.*;
@@ -943,12 +944,23 @@
         if (Objects.isNull(deviceSite)) {
             throw new CoolException(params.getSourceStaNo()+"绔欑偣涓嶅瓨鍦紒锛�");
         }
+        if (deviceSite.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type.toString())) {
+            throw new CoolException(params.getSourceStaNo()+"绔欑偣闈炲厜鐢电珯鐐癸紒锛佽浣跨敤PDA缁戝畾鍏ュ簱");
+        }
+        Task one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, params.getBarcode()));
+        if (!Cools.isEmpty(one)) {
+            InTaskWcsReportParam inTaskWcsReportParam = new InTaskWcsReportParam();
+            inTaskWcsReportParam.setTaskNo(one.getTaskCode());
+            inTaskWcsReportParam.setLocNo(one.getTargLoc());
+            inTaskWcsReportParam.setTaskPri(one.getSort());
+            return R.ok("浠诲姟宸插瓨鍦ㄧ洿鎺ヤ笅鍙戯紒").add(inTaskWcsReportParam);
+        }
         GenerateTaskParams taskParams = new GenerateTaskParams();
         taskParams.setWaitPakins(waitPakins)
                 .setSiteId(deviceSite.getId());
-        R r = taskService.generateTasks(taskParams, 111L);
+        R r = taskService.generateTasksWcs(taskParams, 111L,params.getRowList());//lsh寰呬慨鏀�  WCS鐢ㄦ埛淇℃伅
         if (r.get("msg").equals("浠诲姟鐢熸垚瀹屾瘯锛�")) {
-            Task one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, params.getBarcode()));
+            one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, params.getBarcode()));
             InTaskWcsReportParam inTaskWcsReportParam = new InTaskWcsReportParam();
             inTaskWcsReportParam.setTaskNo(one.getTaskCode());
             inTaskWcsReportParam.setLocNo(one.getTargLoc());
@@ -962,7 +974,7 @@
     }
 
     /**
-     * WCS鍏ュ簱浠诲姟鐢宠
+     * WCS浠诲姟涓婃姤閫氱煡
      *
      * @return
      */
@@ -971,21 +983,28 @@
         if (Objects.isNull(params)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode()));
-        if (waitPakins.isEmpty()) {
-            throw new CoolException("鍗曟嵁涓嶅瓨鍦� 锛侊紒");
+        Task one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskCode, params.getSuperTaskNo()));
+        if (params.getMsgType().equals(WcsMsgTypeEvent.TASK_COMPLETE.event)){
+            if (!Cools.isEmpty(one)) {
+                one.setTaskStatus(one.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.AWAIT.id);
+                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("鏆備笉鍏佽鍙栨秷");
         }
-        GenerateTaskParams taskParams = new GenerateTaskParams();
-        taskParams.setWaitPakins(waitPakins)
-                .setSiteId(params.getSourceStaNo().longValue());
-        return R.ok(taskService.generateTasks(taskParams, 111L));
-//        return R.ok("浠诲姟鐢熸垚瀹屾瘯锛�");
-//        log.info(JSONObject.toJSONString(params));
-//        return R.ok(JSONObject.toJSONString(params));
+        return R.error("鏁版嵁寮傚父");
     }
 
     /**
-     * WCS鍏ュ簱浠诲姟鐢宠
+     * WCS鐢宠浠诲姟閲嶆柊鍒嗛厤鍏ュ簱
      *
      * @return
      */
@@ -1008,7 +1027,7 @@
     }
 
     /**
-     * WCS鍏ュ簱浠诲姟鐢宠
+     * WCS鐢宠鍦ㄥ簱搴撲綅鏇存崲搴撲綅
      *
      * @return
      */

--
Gitblit v1.9.1