From 3c048df38b6970f434c0672b5afb385dca750e66 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期五, 09 一月 2026 17:54:41 +0800
Subject: [PATCH] #wcs任务申请返回值实装

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/CreateInTaskParam.java    |    2 
 rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/WcsCreateInTaskParam.java  |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/InTaskWcsReportParam.java |   25 ++++++
 rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java      |    2 
 rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsWcsController.java         |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java                 |    7 +
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java           |   10 +-
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/ChangeLocParam.java       |   28 +++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java        |  112 +++++++++++++++++++++++++++
 9 files changed, 176 insertions(+), 14 deletions(-)

diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsWcsController.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsWcsController.java
index aaabf78..538e445 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsWcsController.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsWcsController.java
@@ -37,7 +37,7 @@
         if (Objects.isNull(params)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return R.ok().add(wmsWcsService.wcsCreateInTask(params));
+        return wmsWcsService.wcsCreateInTask(params);
     }
 
 
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/WcsCreateInTaskParam.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/WcsCreateInTaskParam.java
index 528cc0d..2d720b0 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/WcsCreateInTaskParam.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/WcsCreateInTaskParam.java
@@ -17,7 +17,7 @@
     private String barcode;
 
     @ApiModelProperty("婧愮珯")
-    private Integer sourceStaNo;
+    private String sourceStaNo;
 
     @ApiModelProperty("鍙敤鎺�")
     private List<Integer> rowList;
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java
index 3f8fd66..7de381d 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java
@@ -67,7 +67,7 @@
             try {
                 CommonResponse result = objectMapper.readValue(exchange.getBody(), CommonResponse.class);
                 if (result.getCode() == 200) {
-                    return R.ok();
+                    return R.ok().add(result.getData());
                 } else {
                     return R.error(result.getMsg());
 //                    throw new CoolException("浠诲姟鎵ц鐘舵�佷笂鎶ュけ璐ワ紒锛�");
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 4f163ef..8334ef3 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
@@ -130,7 +130,7 @@
     @OperationLog("WCS鍏ュ簱浠诲姟鐢宠")
     @PostMapping("/createInTask")
     public R wcsCreateInTask(@RequestBody CreateInTaskParam params) {
-        return R.ok();//lsh  寰呭畬鍠�
+        return wcsService.wcsCreateInTask(params);
     }
 
     /**
@@ -143,7 +143,7 @@
     @OperationLog("WCS浠诲姟涓婃姤閫氱煡")
     @PostMapping("/task/report")
     public R wcsTaskReport(@RequestBody TaskReportParam params) {
-        return R.ok();//lsh  寰呭畬鍠�
+        return wcsService.wcsTaskReport(params);
     }
 
     /**
@@ -156,7 +156,7 @@
     @OperationLog("WCS鐢宠浠诲姟閲嶆柊鍒嗛厤鍏ュ簱")
     @PostMapping("/reassign/loc")
     public R wcsReassignLoc(@RequestBody ReassignLocParam params) {
-        return R.ok();//lsh  寰呭畬鍠�
+        return wcsService.wcsReassignLoc(params);
     }
 
     /**
@@ -168,8 +168,8 @@
     @ApiOperation("WCS鐢宠鍦ㄥ簱搴撲綅鏇存崲搴撲綅")
     @OperationLog("WCS鐢宠鍦ㄥ簱搴撲綅鏇存崲搴撲綅")
     @PostMapping("/change/loc")
-    public R wcsChangeLoc(@RequestBody TaskReportParam params) {
-        return R.ok();//lsh  寰呭畬鍠�
+    public R wcsChangeLoc(@RequestBody ChangeLocParam params) {
+        return wcsService.wcsChangeLoc(params);
     }
 
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/ChangeLocParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/ChangeLocParam.java
new file mode 100644
index 0000000..455ceac
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/ChangeLocParam.java
@@ -0,0 +1,28 @@
+package com.vincent.rsf.server.api.entity.params;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "ChangeLocParam", description = "WCS浠诲姟涓婃姤閫氱煡")
+public class ChangeLocParam implements Serializable {
+
+    @ApiModelProperty("鎵樼洏鐮�")
+    private String barcode;
+
+    @ApiModelProperty("婧愮珯")
+    private Integer sourceStaNo;
+
+    @ApiModelProperty("鍙敤鎺�")
+    private List<Integer> rowList;
+
+    @ApiModelProperty("搴撲綅绫诲瀷")
+    private Integer locType1;
+
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/CreateInTaskParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/CreateInTaskParam.java
index ca98875..6c2bf26 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/CreateInTaskParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/CreateInTaskParam.java
@@ -17,7 +17,7 @@
     private String barcode;
 
     @ApiModelProperty("婧愮珯")
-    private Integer sourceStaNo;
+    private String sourceStaNo;
 
     @ApiModelProperty("鍙敤鎺�")
     private List<Integer> rowList;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/InTaskWcsReportParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/InTaskWcsReportParam.java
new file mode 100644
index 0000000..677c719
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/InTaskWcsReportParam.java
@@ -0,0 +1,25 @@
+package com.vincent.rsf.server.api.entity.params;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "InTaskWcsReportParam", description = "鍏ュ簱浠诲姟鐢宠杩斿洖鍙傛暟绫�")
+public class InTaskWcsReportParam implements Serializable {
+
+    @ApiModelProperty("浠诲姟鍙�")
+    private String taskNo;
+
+    @ApiModelProperty("鐩爣搴撲綅")
+    private String locNo;
+
+    @ApiModelProperty("浠诲姟浼樺厛绾�")
+    private Integer taskPri;
+
+}
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 049a1c7..a2ca17c 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
@@ -3,8 +3,7 @@
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto;
 import com.vincent.rsf.server.api.controller.erp.params.TaskInParam;
-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.*;
 
 public interface WcsService {
     InTaskMsgDto createInTask(TaskInParam param);
@@ -18,4 +17,8 @@
     R receiveExMsg(ExMsgParams params);
 
     R pubWcsTask(WcsTaskParams params);
+    R wcsCreateInTask(CreateInTaskParam params);
+    R wcsTaskReport(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 e7d2bc5..b33e26f 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,110 @@
         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("鍗曟嵁涓嶅瓨鍦� 锛侊紒");
+        }
+
+        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("浠诲姟鐢熸垚瀹屾瘯锛�")) {
+            Task 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