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/service/impl/WcsServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 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 a014e06..2500a3a 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
@@ -914,6 +914,7 @@
         int deviceNo = 0;
         Loc loc = new Loc();
         InTaskMsgDto inTaskMsgDto = new InTaskMsgDto();
+        locTypeDto.setLocType1(18);
         List<Loc> loc1 = locService.list(new LambdaQueryWrapper<Loc>()
                 .eq(Loc::getAreaId, area)
                 .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
@@ -969,4 +970,46 @@
         inTaskMsgDto.setLocNo(locNo);
         return inTaskMsgDto;
     }
+
+    /**
+     * @author Ryan
+     * @date 2026/2/6
+     * @description: 鐢宠鍏ュ簱浠诲姟锛屽垎閰嶅簱浣�
+     * @version 1.0
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R allocateLocation(String barcode, String staNo, Integer type) {
+        log.info("========== 寮�濮嬬敵璇峰叆搴撲换鍔★紝鍒嗛厤搴撲綅 ==========");
+        log.info("鏂欑鐮侊細{}锛屽叆搴撶珯鐐癸細{}锛屽叆搴撶被鍨嬶細{}", barcode, staNo, type);
+
+        // 鏋勫缓 TaskInParam 鍙傛暟锛屼笌 /wcs/create/in/task 鎺ュ彛鍙傛暟涓�鑷�
+        TaskInParam param = new TaskInParam();
+        param.setBarcode(barcode);
+        param.setSourceStaNo(staNo);
+        param.setIoType(TaskType.TASK_TYPE_IN.type); // 鍏ュ簱绫诲瀷
+        param.setLocType1(type); // 搴撲綅绫诲瀷锛堥珮浣庢娴嬩俊鍙凤級
+        param.setUser(1L); // 榛樿鐢ㄦ埛ID锛屽彲浠ユ牴鎹疄闄呴渶姹傝皟鏁�
+
+        // 璋冪敤 createInTask 鏂规硶锛屽垱寤哄畬鏁寸殑鍏ュ簱浠诲姟
+        // 璇ユ柟娉曚細鎵ц浠ヤ笅娴佺▼锛�
+        // 1. 楠岃瘉璁惧绔欑偣
+        // 2. 楠岃瘉缁勬嫋鐘舵��
+        // 3. 鐢熸垚浠诲姟缂栫爜
+        // 4. 鑾峰彇搴撲綅鍙�
+        // 5. 鍒涘缓骞朵繚瀛樹换鍔�
+        // 6. 鏇存柊搴撲綅鐘舵��
+        // 7. 鑾峰彇骞堕獙璇佺粍鎷栨槑缁�
+        // 8. 鍒涘缓骞朵繚瀛樹换鍔℃槑缁�
+        // 9. 鏇存柊缁勬墭鐘舵��
+        InTaskMsgDto msgDto = createInTask(param);
+        
+        log.info("========== 鐢宠鍏ュ簱浠诲姟鎴愬姛 ==========");
+        log.info("浠诲姟缂栫爜锛歿}锛屽簱浣嶅彿锛歿}", msgDto.getWorkNo(), msgDto.getLocNo());
+
+        // 杩斿洖缁撴灉锛屽彧杩斿洖搴撲綅鍙凤紙鏍规嵁鎺ュ彛鏂囨。瑕佹眰锛�
+        JSONObject result = new JSONObject();
+        result.put("locNo", msgDto.getLocNo());
+        return R.ok(result);
+    }
 }

--
Gitblit v1.9.1