From 291ee8ac048cba919628d60d5d6f2dcfc8e6bea0 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期二, 10 二月 2026 16:15:31 +0800
Subject: [PATCH] 入库回复库位

---
 rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsRcsServiceImpl.java |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsRcsServiceImpl.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsRcsServiceImpl.java
index b8a3d84..1a0bb6e 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsRcsServiceImpl.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsRcsServiceImpl.java
@@ -50,7 +50,17 @@
     @Autowired
     private RestTemplate restTemplate;
 
-
+    /**
+     * 鑾峰彇 WMS 鍩虹 URL锛坔ost:port锛夛紝鏈厤缃椂鎶涘嚭寮傚父锛岄伩鍏嶄骇鐢� null:null 瀵艰嚧 URISyntaxException銆�
+     */
+    private String getWmsBaseUrl() {
+        if (wmsApi == null || wmsApi.getHost() == null || wmsApi.getHost().isEmpty()
+                || wmsApi.getPort() == null || wmsApi.getPort().isEmpty()) {
+            log.error("WMS鍦板潃鏈厤缃�傝鍦ㄩ厤缃枃浠朵腑璁剧疆 platform.wms.host 涓� platform.wms.port");
+            throw new CoolException("WMS鍥炶皟鍦板潃鏈厤缃紝璇烽厤缃� platform.wms.host 鍜� platform.wms.port");
+        }
+        return wmsApi.getHost() + ":" + wmsApi.getPort();
+    }
 
     /**
      * @author Ryan
@@ -213,7 +223,7 @@
             log.warn("RCS鍥炶皟浜嬩欢鍙傛暟eventType涓虹┖锛佸畬鏁村弬鏁帮細{}", JSONObject.toJSONString(params));
         }
         
-        String callUrl =  wmsApi.getHost() + ":" + wmsApi.getPort() + WmsConstant.callBack;
+        String callUrl = getWmsBaseUrl() + WmsConstant.callBack;
         /**WMS鍩虹閰嶇疆閾炬帴*/
         log.info("浠诲姟鎵ц鐘舵�佷笂鎶ワ紝璇锋眰鍦板潃锛� {}锛� 璇锋眰鍙傛暟锛� {}", callUrl , JSONObject.toJSONString(params));
         HttpHeaders headers = new HttpHeaders();
@@ -355,15 +365,17 @@
         
         // 灏員askReportParams杞崲涓篍xMsgParams鏍煎紡锛坱askNo -> seqNum锛�
         // 鏍规嵁RCS鏂版帴鍙h鑼冿紝taskNo瀵瑰簲鏃ф帴鍙g殑seqNum
+        // 鎵规鍙风敤浜庨獙璇佷换鍔′富琛紝浠诲姟鍙风敤浜庢煡璇㈠拰鍏宠仈鏄庣粏
         JSONObject exMsgParams = new JSONObject();
         exMsgParams.put("seqNum", params.getTaskNo()); // taskNo鏄犲皠鍒皊eqNum
+        exMsgParams.put("batchNo", params.getBatchNo()); // 鎵规鍙风敤浜庣簿纭叧鑱�
         // eventType璁剧疆涓篍ND锛岃〃绀轰换鍔″畬鎴愶紙鏍规嵁涓氬姟闇�姹傚彲鑳介渶瑕佽皟鏁达級
         exMsgParams.put("eventType", "END");
         exMsgParams.put("robotCode", null);
         exMsgParams.put("zpallet", null);
         
-        // 灏嗕换鍔′笂鎶ュ洖璋冭浆鍙戝埌WMS绯荤粺
-        String callUrl = wmsApi.getHost() + ":" + wmsApi.getPort() + WmsConstant.callBack;
+        // 灏嗕换鍔′笂鎶ュ洖璋冭浆鍙戝埌WMS绯荤粺锛堥渶閰嶇疆 platform.wms.host 涓� platform.wms.port锛�
+        String callUrl = getWmsBaseUrl() + WmsConstant.callBack;
         log.info("RCS鍥炶皟-WMS-SERVER浠诲姟涓婃姤-锛岃姹傚湴鍧�锛� {}锛� 杞崲鍚庡弬鏁帮細 {}", callUrl, exMsgParams.toJSONString());
         HttpHeaders headers = new HttpHeaders();
         headers.add("Content-Type", "application/json");
@@ -417,7 +429,7 @@
         log.info("鏂欑鐮侊細{}锛屽叆搴撶珯鐐癸細{}锛屽叆搴撶被鍨嬶細{}", params.getBarcode(), params.getStaNo(), params.getType());
         
         // 璋冪敤WMS server鍐呴儴鎺ュ彛杩涜搴撲綅鍒嗛厤
-        String wmsUrl = wmsApi.getHost() + ":" + wmsApi.getPort() + "/rsf-server/wcs/allocate/location";
+        String wmsUrl = getWmsBaseUrl() + "/rsf-server/wcs/allocate/location";
         log.info("WMS璇锋眰鍦板潃锛歿}", wmsUrl);
         
         // 鏋勫缓璇锋眰鍙傛暟
@@ -455,11 +467,15 @@
                     JSONObject data = responseJson.getJSONObject("data");
                     if (data != null) {
                         String locNo = data.getString("locNo");
+                        String batchNo = data.getString("batchNo");
+                        String taskNo = data.getString("taskNo");
                         log.info("========== 鐢宠鍏ュ簱浠诲姟鎴愬姛 ==========");
-                        log.info("鍒嗛厤搴撲綅鍙凤細{}", locNo);
+                        log.info("鍒嗛厤搴撲綅鍙凤細{}锛屾壒娆″彿锛歿}锛屼换鍔″彿锛歿}", locNo, batchNo, taskNo);
                         
                         LocationAllocateResponse response = new LocationAllocateResponse();
                         response.setLocNo(locNo);
+                        response.setBatchNo(batchNo);
+                        response.setTaskNo(taskNo);
                         return R.ok(response);
                     } else {
                         log.error("========== 鐢宠鍏ュ簱浠诲姟澶辫触 ==========");

--
Gitblit v1.9.1