From 69a3c374ca3afb770e3b9ffcbdda07ce362cbf58 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期五, 09 一月 2026 19:59:29 +0800
Subject: [PATCH] #

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 117 insertions(+), 3 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 e7d2bc5..30b10da 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,9 +19,8 @@
 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.params.CommonRequest;
-import com.vincent.rsf.server.api.entity.params.ExMsgParams;
-import com.vincent.rsf.server.api.entity.params.WcsTaskParams;
+import com.vincent.rsf.server.api.entity.params.*;
+import com.vincent.rsf.server.manager.controller.params.GenerateTaskParams;
 import com.vincent.rsf.server.manager.enums.*;
 import com.vincent.rsf.server.api.service.WcsService;
 import com.vincent.rsf.server.api.utils.LocUtils;
@@ -44,6 +43,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.Random;
@@ -923,4 +923,118 @@
         inTaskMsgDto.setLocNo(locNo);
         return inTaskMsgDto;
     }
+
+    /**
+     * WCS鍏ュ簱浠诲姟鐢宠
+     *
+     * @return
+     */
+    @Override
+    public R wcsCreateInTask(CreateInTaskParam params) {
+        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::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);
+        }
+
+        DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>().eq(DeviceSite::getSite,params.getSourceStaNo()).orderByDesc(DeviceSite::getId),false);
+        if (Objects.isNull(deviceSite)) {
+            throw new CoolException(params.getSourceStaNo()+"绔欑偣涓嶅瓨鍦紒锛�");
+        }
+        GenerateTaskParams taskParams = new GenerateTaskParams();
+        taskParams.setWaitPakins(waitPakins)
+                .setSiteId(deviceSite.getId());
+        R r = taskService.generateTasks(taskParams, 111L);
+        if (r.get("msg").equals("浠诲姟鐢熸垚瀹屾瘯锛�")) {
+            one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, params.getBarcode()));
+            InTaskWcsReportParam inTaskWcsReportParam = new InTaskWcsReportParam();
+            inTaskWcsReportParam.setTaskNo(one.getTaskCode());
+            inTaskWcsReportParam.setLocNo(one.getTargLoc());
+            inTaskWcsReportParam.setTaskPri(one.getSort());
+            return R.ok("浠诲姟鐢熸垚瀹屾瘯锛�").add(inTaskWcsReportParam);
+        }
+        return R.error();
+//        return R.ok("浠诲姟鐢熸垚瀹屾瘯锛�");
+//        log.info(JSONObject.toJSONString(params));
+//        return R.ok(JSONObject.toJSONString(params));
+    }
+
+    /**
+     * WCS鍏ュ簱浠诲姟鐢宠
+     *
+     * @return
+     */
+    @Override
+    public R wcsTaskReport(TaskReportParam params) {
+        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("鍗曟嵁涓嶅瓨鍦� 锛侊紒");
+        }
+        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));
+    }
+
+    /**
+     * WCS鍏ュ簱浠诲姟鐢宠
+     *
+     * @return
+     */
+    @Override
+    public R wcsReassignLoc(ReassignLocParam params) {
+        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("鍗曟嵁涓嶅瓨鍦� 锛侊紒");
+        }
+        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));
+    }
+
+    /**
+     * WCS鍏ュ簱浠诲姟鐢宠
+     *
+     * @return
+     */
+    @Override
+    public R wcsChangeLoc(ChangeLocParam params) {
+        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("鍗曟嵁涓嶅瓨鍦� 锛侊紒");
+        }
+        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));
+    }
 }

--
Gitblit v1.9.1