From 6ef4265f1859e88e3e5ff22ef1848e12fa849e26 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 12 五月 2026 07:03:43 +0800
Subject: [PATCH] feat: 扫码出库修改为扫码发货

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java |   44 +++++++++++++++++++++-----------------------
 1 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index ee1d11d..3faa5d3 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -30,7 +30,6 @@
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.pojo.SalesQuotation;
 import com.ruoyi.sales.pojo.ShippingInfo;
-import com.ruoyi.sales.service.ShippingInfoService;
 import com.ruoyi.sales.service.ISalesLedgerService;
 import com.ruoyi.quality.service.IQualityInspectService;
 import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
@@ -90,9 +89,6 @@
     @Autowired
     private SalesLedgerMapper salesLedgerMapper;
 
-    @Autowired
-    @Lazy
-    private ShippingInfoService shippingInfoService;
     @Autowired
     @Lazy
     private ISalesLedgerService salesLedgerService;
@@ -263,26 +259,28 @@
         }
         // 鍑哄簱瀹℃壒淇敼 (璁㈠崟绾у埆)
         if(approveProcess.getApproveType().equals(7)){
-            String[] split = approveProcess.getApproveReason().split(":");
-            if (split.length > 1) {
-                String identifier = split[1];
-                // 鏌ユ壘閿�鍞彴璐�
-                SalesLedger salesLedger = salesLedgerMapper.selectOne(new LambdaQueryWrapper<SalesLedger>()
-                        .eq(SalesLedger::getSalesContractNo, identifier)
-                        .last("limit 1"));
+            String scanRemark = approveProcess.getApproveRemark();
+            if (org.springframework.util.StringUtils.hasText(scanRemark) && scanRemark.startsWith("SCAN_SHIP_DELIVERY_JSON:")) {
+                salesLedgerService.onScanShipDeliveryApproveOutcome(approveProcess, status);
+            } else {
+                String[] split = approveProcess.getApproveReason().split(":");
+                if (split.length > 1) {
+                    String identifier = split[1];
+                    SalesLedger salesLedger = salesLedgerMapper.selectOne(new LambdaQueryWrapper<SalesLedger>()
+                            .eq(SalesLedger::getSalesContractNo, identifier)
+                            .last("limit 1"));
 
-                if (salesLedger != null) {
-                    if(status.equals(2)){
-                        // 瀹℃壒瀹屾垚 -> 淇敼鐘舵�佷负瀹℃牳閫氳繃锛屼笉鎵i櫎搴撳瓨 (鎵i櫎搴撳瓨绉昏嚦鍙戣揣鍙拌处琛ュ厖淇℃伅闃舵)
-                        updateSalesLedgerDeliveryStatus(salesLedger.getId(), 4);
-                        updateShippingInfoStatusByOrder(salesLedger.getId(), "瀹℃牳閫氳繃");
-                    } else if(status.equals(3)){
-                        updateSalesLedgerDeliveryStatus(salesLedger.getId(), 3);
-                        // 鏇存柊鍏宠仈鐨勫彂璐ц褰曚负瀹℃牳鎷掔粷
-                        updateShippingInfoStatusByOrder(salesLedger.getId(), "瀹℃牳鎷掔粷");
-                    } else if(status.equals(1)){
-                        updateSalesLedgerDeliveryStatus(salesLedger.getId(), 2);
-                        updateShippingInfoStatusByOrder(salesLedger.getId(), "瀹℃牳涓�");
+                    if (salesLedger != null) {
+                        if(status.equals(2)){
+                            updateSalesLedgerDeliveryStatus(salesLedger.getId(), 4);
+                            updateShippingInfoStatusByOrder(salesLedger.getId(), "瀹℃牳閫氳繃");
+                        } else if(status.equals(3)){
+                            updateSalesLedgerDeliveryStatus(salesLedger.getId(), 3);
+                            updateShippingInfoStatusByOrder(salesLedger.getId(), "瀹℃牳鎷掔粷");
+                        } else if(status.equals(1)){
+                            updateSalesLedgerDeliveryStatus(salesLedger.getId(), 2);
+                            updateShippingInfoStatusByOrder(salesLedger.getId(), "瀹℃牳涓�");
+                        }
                     }
                 }
             }

--
Gitblit v1.9.3