From bb36bbb0968f6f599e18a651f5e385b98c4e1532 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期四, 30 四月 2026 12:13:09 +0800
Subject: [PATCH] 日志打印增加

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/CloudWmsReportServiceImpl.java |   94 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 70 insertions(+), 24 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/CloudWmsReportServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/CloudWmsReportServiceImpl.java
index fbaa4ca..45960c9 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/CloudWmsReportServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/CloudWmsReportServiceImpl.java
@@ -20,7 +20,7 @@
 import java.util.Map;
 
 /**
- * 绔嬪簱渚ц姹備簯浠擄細9.1 榧庢嵎 ilcwmsplus 鍏�/鍑哄簱涓ゆ帴鍙o紱9.2 浠嶄负 /api/report/inventoryAdjust锛屾姤鏂囦笌 9.1 鍚屼负 {data:[]}銆�
+ * 绔嬪簱渚ц姹備簯浠擄細ICusStockService 鍏ュ簱/鍑哄簱/璋冩嫧瀹屾垚鍙嶉锛�9.2 澧炲噺璋冩暣浠嶄负 /api/report/inventoryAdjust锛屾姤鏂囧悓涓� {data:[]}銆�
  */
 @Slf4j
 @Service
@@ -94,22 +94,28 @@
         } else {
             return resultMap(400, "涓嶆敮鎸佺殑 changeType锛�" + changeType, null);
         }
-        Map<String, Object> raw = cloudWmsErpFeignClient.reportInventoryAdjust(req);
-        return DapIlcwmsResponseNormalizer.toNotifyFormatFlexible(raw);
+        Map<String, Object> raw = changeType == 3
+                ? cloudWmsErpFeignClient.stockTransferCompleted(req)
+                : cloudWmsErpFeignClient.reportInventoryAdjust(req);
+        return changeType == 3
+                ? DapIlcwmsResponseNormalizer.toNotifyFormat(raw)
+                : DapIlcwmsResponseNormalizer.toNotifyFormatFlexible(raw);
     }
 
     private DapIlcwmsCompletionLine buildInOutLine(InOutResultReportParam param, boolean inbound) {
         RemotesInfoProperties.Dap dap = erpApi.getDap();
+        CloudMatnrParts matnrParts = parseCloudMatnr(param.getMatNr());
         DapIlcwmsCompletionLine line = new DapIlcwmsCompletionLine()
                 .setOrgNo(dap.getOrgNo())
                 .setDocType(inbound ? dap.getDocTypeIn() : dap.getDocTypeOut())
                 .setDocNo(param.getOrderNo())
                 .setDocSeqNo(StringUtils.isNotBlank(param.getLineId()) ? param.getLineId() : "1")
-                .setItemNo(param.getMatNr())
+                // 鎸変簯浠撹鍒欐媶鍒嗙墿鏂欑紪鐮�
+                .setItemNo(matnrParts.getItemNo())
                 .setQty(parseQty(param.getQty()))
                 .setUnitNo(dap.getUnitNo())
-                .setCombinationLotNo(param.getBatch())
-                .setBarcode(resolveBarcode(param));
+                .setCombinationLotNo(matnrParts.getCombinationLotNo())
+                .setBarcode(matnrParts.getBarcode());
         if (inbound) {
             line.setInWarehouseNo(param.getWareHouseId()).setInCellNo(param.getLocId());
         } else {
@@ -130,16 +136,18 @@
         String docSeq = docSeqOverride != null ? docSeqOverride
                 : (StringUtils.isNotBlank(param.getDocSeqNo()) ? param.getDocSeqNo() : "1");
         String unit = StringUtils.isNotBlank(param.getUnitNo()) ? param.getUnitNo() : dap.getUnitNo();
+        CloudMatnrParts matnrParts = parseCloudMatnr(param.getMatNr());
         DapIlcwmsCompletionLine line = new DapIlcwmsCompletionLine()
                 .setOrgNo(dap.getOrgNo())
                 .setDocType(docType)
                 .setDocNo(docNo)
                 .setDocSeqNo(docSeq)
-                .setItemNo(param.getMatNr())
+                // 鎸変簯浠撹鍒欐媶鍒嗙墿鏂欑紪鐮�
+                .setItemNo(matnrParts.getItemNo())
                 .setQty(parseQty(param.getQty()))
                 .setUnitNo(unit)
-                .setCombinationLotNo(param.getBatch())
-                .setBarcode(resolveAdjustBarcode(param));
+                .setCombinationLotNo(matnrParts.getCombinationLotNo())
+                .setBarcode(matnrParts.getBarcode());
         if (fillIn) {
             line.setInWarehouseNo(param.getWareHouseId());
             line.setInCellNo(StringUtils.isNotBlank(param.getTargetLocId()) ? param.getTargetLocId() : param.getSourceLocId());
@@ -165,27 +173,65 @@
         return dap.getDocTypeIn();
     }
 
-    private static String resolveBarcode(InOutResultReportParam param) {
-        if (StringUtils.isNotBlank(param.getBarcode())) {
-            return param.getBarcode();
+    // private static String resolveBarcode(InOutResultReportParam param) {
+    //     if (StringUtils.isNotBlank(param.getBarcode())) {
+    //         return param.getBarcode();
+    //     }
+    //     if (StringUtils.isNotBlank(param.getPalletId())) {
+    //         return param.getPalletId();
+    //     }
+    //     if (param.getMatNr() != null && param.getLocId() != null) {
+    //         return param.getMatNr() + ":" + param.getLocId();
+    //     }
+    //     return param.getMatNr();
+    // }
+    //
+    // private static String resolveAdjustBarcode(InventoryAdjustReportParam param) {
+    //     if (StringUtils.isNotBlank(param.getBarcode())) {
+    //         return param.getBarcode();
+    //     }
+    //     if (StringUtils.isNotBlank(param.getPalletId())) {
+    //         return param.getPalletId();
+    //     }
+    //     return param.getMatNr();
+    // }
+
+    /**
+     * 浜戜粨鍥炴姤瀛楁鏄犲皠锛氫笁娈靛紡鍙栧墠涓ゆ锛宐arcode 淇濈暀鍘熶覆銆�
+     */
+    private static CloudMatnrParts parseCloudMatnr(String matNr) {
+        if (StringUtils.isBlank(matNr)) {
+            return new CloudMatnrParts(null, null, null);
         }
-        if (StringUtils.isNotBlank(param.getPalletId())) {
-            return param.getPalletId();
+        String[] arr = matNr.split("#", -1);
+        if (arr.length >= 3) {
+            return new CloudMatnrParts(arr[0], arr[1], matNr);
         }
-        if (param.getMatNr() != null && param.getLocId() != null) {
-            return param.getMatNr() + ":" + param.getLocId();
-        }
-        return param.getMatNr();
+        return new CloudMatnrParts(matNr, null, matNr);
     }
 
-    private static String resolveAdjustBarcode(InventoryAdjustReportParam param) {
-        if (StringUtils.isNotBlank(param.getBarcode())) {
-            return param.getBarcode();
+    private static class CloudMatnrParts {
+        private final String itemNo;
+        private final String combinationLotNo;
+        private final String barcode;
+
+        private CloudMatnrParts(String itemNo, String combinationLotNo, String barcode) {
+            this.itemNo = itemNo;
+            this.combinationLotNo = combinationLotNo;
+            this.barcode = barcode;
         }
-        if (StringUtils.isNotBlank(param.getPalletId())) {
-            return param.getPalletId();
+
+        public String getItemNo() {
+            return itemNo;
         }
-        return param.getMatNr();
+
+        public String getCombinationLotNo() {
+            return combinationLotNo;
+        }
+
+        public String getBarcode() {
+            return barcode;
+        }
     }
 
     private static Double parseQty(String q) {

--
Gitblit v1.9.1