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-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java |   80 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 74 insertions(+), 6 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 703afe3..13a9301 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
@@ -3,7 +3,10 @@
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto;
-import com.vincent.rsf.server.api.controller.params.TaskInParam;
+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.common.annotation.OperationLog;
 import com.vincent.rsf.server.manager.enums.TaskType;
 import com.vincent.rsf.server.api.service.WcsService;
 import com.vincent.rsf.server.system.controller.BaseController;
@@ -15,6 +18,8 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 @RestController
 @RequestMapping("/wcs")
 @Api(tags = "wcs鎺ュ彛瀵规帴")
@@ -22,6 +27,7 @@
 
     @Autowired
     private WcsService wcsService;
+
 
     @ApiOperation(value = "wcs鐢熸垚鍏ュ簱浠诲姟鎺ュ彛")
     @PostMapping("/create/in/task")
@@ -40,8 +46,6 @@
         }
         InTaskMsgDto msgDto = wcsService.createInTask(param);
         return R.ok(msgDto);
-
-
     }
 
     @ApiOperation(value = "agv鍙栬揣瀹屾垚鎺ュ彛")
@@ -67,8 +71,7 @@
 
     /**
      * 鎺ユ敹WCS璋冨害锛屽洖浼犳墽琛岀姸鎬�
-     *  //TODO 1. 鎷f枡鍑哄簱锛屽啀鍏ュ簱鎵ц锛屼慨鏀圭姸鎬佷负199.浠诲姟瀹屾垚  骞惰褰曞叆搴撶珯鐐癸紙婧愮珯鐐癸級锛屾坊鍔犱换鍔″彿鍙傛暟
-     *
+     *  TODO 1. 鎷f枡鍑哄簱锛屽啀鍏ュ簱鎵ц锛屼慨鏀圭姸鎬佷负199.浠诲姟瀹屾垚  骞惰褰曞叆搴撶珯鐐癸紙婧愮珯鐐癸級锛屾坊鍔犱换鍔″彿鍙傛暟
      * @param param
      * @return
      */
@@ -78,11 +81,76 @@
         if (Cools.isEmpty(param)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-
         return R.ok();
     }
 
+    /**
+     * @author Ryan
+     * @date 2025/8/27
+     * @description: RCS搴撲綅淇℃伅鍚屾
+     * @version 1.0
+     */
+    @ApiOperation("RCS搴撲綅淇℃伅鍚屾")
+    @OperationLog("RCS搴撲綅淇℃伅鍚屾")
+    @PostMapping("/sync/locs")
+    public R syncLocsToWms() {
+         wcsService.syncLocsToWms();
+         return R.ok();
+    }
 
+    /**
+     * 涓嬪彂浠诲姟鑷砏CS锛孉PI涓浆
+     * @param
+     * @return
+     */
+    @ApiOperation("涓嬪彂浠诲姟鑷砏CS")
+    @OperationLog("涓嬪彂浠诲姟鑷砏CS")
+    @PostMapping("/pub/task/wcs")
+    public R pubTaskToWcs(@RequestBody WcsTaskParams params) {
+        return wcsService.pubWcsTask(params);
+    }
+
+    /**
+     * @author Ryan
+     * @date 2025/8/28
+     * @description: RCS涓婃姤寮傚父淇℃伅
+     * @version 1.0
+     */
+    @ApiOperation("RCS涓婃姤寮傚父鎵ц淇℃伅")
+    @OperationLog("RCS涓婃姤寮傚父鎵ц淇℃伅")
+    @PostMapping("/receive/ex/msg")
+    public R receiveExMsg(@RequestBody ExMsgParams params) {
+        return wcsService.receiveExMsg(params);
+    }
+
+    /**
+     * @author Ryan
+     * @date 2026/2/6
+     * @description: 鐢宠鍏ュ簱浠诲姟锛屽垎閰嶅簱浣嶏紙鍐呴儴鎺ュ彛锛�
+     * @version 1.0
+     */
+    @ApiOperation("鐢宠鍏ュ簱浠诲姟锛屽垎閰嶅簱浣�")
+    @PostMapping("/allocate/location")
+    public R allocateLocation(@RequestBody Map<String, Object> params) {
+        if (Cools.isEmpty(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        String barcode = (String) params.get("barcode");
+        String staNo = (String) params.get("staNo");
+        Integer type = params.get("type") != null ? Integer.valueOf(params.get("type").toString()) : null;
+        
+        if (Cools.isEmpty(barcode)) {
+            return R.error("鏂欑鐮佷笉鑳戒负绌猴紒锛�");
+        }
+        if (Cools.isEmpty(staNo)) {
+            return R.error("鍏ュ簱绔欑偣涓嶈兘涓虹┖锛侊紒");
+        }
+        if (type == null) {
+            return R.error("鍏ュ簱绫诲瀷涓嶈兘涓虹┖锛侊紒");
+        }
+        
+        return wcsService.allocateLocation(barcode, staNo, type);
+    }
 
 
 }

--
Gitblit v1.9.1