From 8f8b6a47ce277cad0b640c328ab3962419e1c024 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期五, 06 二月 2026 13:00:47 +0800
Subject: [PATCH] RCS完整流程

---
 rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsRcsController.java |   79 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 72 insertions(+), 7 deletions(-)

diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsRcsController.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsRcsController.java
index db251dd..46913ef 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsRcsController.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsRcsController.java
@@ -2,10 +2,17 @@
 
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.openApi.entity.dto.CommonResponse;
+import com.vincent.rsf.openApi.entity.params.ExMsgCallbackParams;
+import com.vincent.rsf.openApi.entity.params.LocSiteParams;
+import com.vincent.rsf.openApi.entity.params.LocationAllocateParams;
 import com.vincent.rsf.openApi.entity.params.RcsPubTaskParams;
+import com.vincent.rsf.openApi.entity.params.SyncRcsLocsParam;
+import com.vincent.rsf.openApi.entity.params.TaskReportParams;
 import com.vincent.rsf.openApi.service.WmsRcsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -15,6 +22,7 @@
 import java.util.Map;
 import java.util.Objects;
 
+@Slf4j
 @RestController
 @Api("RCS璋冨害浜や簰鎺ュ彛")
 @RequestMapping("/rcs")
@@ -31,7 +39,7 @@
      */
     @ApiOperation("璋冨害浠诲姟涓嬪彂")
     @PostMapping("/pub/task")
-    public R pubTasks(@RequestBody RcsPubTaskParams params) {
+    public CommonResponse pubTasks(@RequestBody RcsPubTaskParams params) {
         if (Objects.isNull(params)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
@@ -46,7 +54,7 @@
      */
     @ApiOperation("鍙栨秷璋冨害浠诲姟")
     @PostMapping("/cancel/task")
-    public R cancelTasks(@RequestBody Map<String, Object> params) {
+    public CommonResponse cancelTasks(@RequestBody Map<String, Object> params) {
         return wmsRcsService.cancelTasks(params);
     }
 
@@ -56,9 +64,9 @@
      * @description: 浠诲姟鍥炶皟锛岀姸鎬佸洖鍐�
      * @version 1.0
      */
-    @ApiOperation("寮傚父浠诲姟鍥炶皟")
+    @ApiOperation("鐘舵�佷笂鎶ュ洖璋�")
     @PostMapping("/callback/event")
-    public R callBackEvent(@RequestBody Map<String, Object> params) {
+    public CommonResponse callBackEvent(@RequestBody ExMsgCallbackParams params) {
         return wmsRcsService.callBackEvent(params);
     }
 
@@ -71,10 +79,67 @@
      */
     @ApiOperation("RCS搴撲綅淇℃伅鍚屾")
     @PostMapping("/sync/locs")
-    public R syncLocsToWms() {
-         wmsRcsService.syncLocs();
-         return R.ok();
+    public R syncLocsToWms(@RequestBody SyncRcsLocsParam params) {
+         if (Objects.isNull(params)) {
+             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+         }
+         return R.ok().add(wmsRcsService.syncLocs(params));
     }
 
+    /**
+     * @author Ryan
+     * @date 2025/11/10
+     * @description: WMS 鍑哄簱鎴愬姛鍚庯紝淇敼搴撲綅銆佺珯鐐圭姸鎬�
+     * @version 1.0
+     */
+    @ApiOperation("RCS淇敼搴撲綅鎴栫珯鐐圭姸鎬�")
+    @PostMapping("/modify/status")
+    public R modifyLocOrSite(@RequestBody LocSiteParams params) {
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return wmsRcsService.modifyLocOrSite(params);
+    }
+
+    /**
+     * @author Ryan
+     * @date 2026/2/3
+     * @description: RCS鍥炶皟鎺ュ彛
+     * @version 1.0
+     */
+    @ApiOperation("RCS鍥炶皟鎺ュ彛")
+    @PostMapping("/api/open/task/report")
+    public CommonResponse reportTask(@RequestBody TaskReportParams params) {
+        log.debug("RCS鍥炶皟锛歿}", params);
+        if (Objects.isNull(params)) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return wmsRcsService.reportTask(params);
+    }
+
+    /**
+     * @author Ryan
+     * @date 2026/2/6
+     * @description: 鐢宠鍏ュ簱浠诲姟
+     * @version 1.0
+     */
+    @ApiOperation("鐢宠鍏ュ簱浠诲姟")
+    @PostMapping("/api/open/location/allocate")
+    public R allocateLocation(@RequestBody LocationAllocateParams params) {
+        log.info("鐢宠鍏ュ簱浠诲姟锛岃姹傚弬鏁帮細{}", params);
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(params.getBarcode()) || params.getBarcode().isEmpty()) {
+            return R.error("鏂欑鐮佷笉鑳戒负绌猴紒锛�");
+        }
+        if (Objects.isNull(params.getStaNo()) || params.getStaNo().isEmpty()) {
+            return R.error("鍏ュ簱绔欑偣涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(params.getType())) {
+            params.setType(18);
+        }
+        return wmsRcsService.allocateLocation(params);
+    }
 
 }

--
Gitblit v1.9.1