From 0200b4092214d065adea7c7b9fef0c04b31be255 Mon Sep 17 00:00:00 2001
From: zhang_nuo <zhang_12370@163.com>
Date: 星期二, 22 九月 2026 02:10:18 +0800
Subject: [PATCH] fix(sales&stock): 修复销售台账与库存查询的多处业务问题

---
 src/main/resources/mapper/sales/SalesLedgerMapper.xml                   |    5 ++++-
 src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java |    1 +
 src/main/resources/mapper/stock/StockInventoryMapper.xml                |   17 +++++++++--------
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java  |    4 ++--
 4 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 50975fd..f5284a6 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -484,8 +484,8 @@
                     product.setExpressNumber(shippingInfo.getExpressNumber());
                 }
             }
-            // 杩囨护鍙繚鐣欏彂璐ц褰�
-            products = products.stream().filter(product -> "瀹℃牳閫氳繃".equals(product.getShippingStatus())).collect(Collectors.toList());
+            // 杩囨护鍙繚鐣欏凡鍙戣揣璁板綍
+            products = products.stream().filter(product -> "瀹℃牳閫氳繃".equals(product.getShippingStatus()) || "宸插彂璐�".equals(product.getShippingStatus())).collect(Collectors.toList());
             if (!products.isEmpty()) {
                 salesLedger.setHasChildren(true);
                 salesLedger.setProductData(products);
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
index ea38018..4e63e0a 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -35,6 +35,7 @@
 
 import java.util.Collections;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author :yys
diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index 8b41173..0fc627f 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -140,10 +140,13 @@
         sales_ledger sl
         left join sales_ledger_product slp on sl.id = slp.sales_ledger_id
         left join shipping_info si on slp.id = si.sales_ledger_product_id
-        where si.status = '瀹℃牳閫氳繃'
+        where si.status in ('瀹℃牳閫氳繃', '宸插彂璐�')
         <if test="ew.customerId != null and ew.customerId != '' ">
             and sl.customer_id = #{ew.customerId}
         </if>
+        <if test="ew.customerName != null and ew.customerName != '' ">
+            and sl.customer_name like concat('%', #{ew.customerName}, '%')
+        </if>
         order by sl.execution_date desc
     </select>
 
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 45bfd21..12d4e47 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -344,11 +344,12 @@
         group by batch_no, product_model_id, model, unit, product_name, product_id
     </select>
     <select id="stockInventoryPage" resultType="com.ruoyi.stock.dto.StockInRecordDto">
-        select sir.*,si.qualitity as current_stock,
-        pm.model,
-        pm.unit,
-        p.product_name,
-        su.nick_name as create_by
+        select sir.*,
+               ROUND(COALESCE(si.qualitity, 0), 6) as current_stock,
+               pm.model,
+               pm.unit,
+               p.product_name,
+               su.nick_name as create_by
         from
         stock_in_record sir
         left join stock_inventory si on sir.batch_no = si.batch_no
@@ -375,9 +376,9 @@
         pm.model,
         pm.unit,
         p.product_name,
-        MAX(current_inventory) as current_stock,
-        SUM(CASE WHEN record_type = 'in' THEN amount ELSE 0 END) as total_stock_in,
-        SUM(CASE WHEN record_type = 'out' THEN amount ELSE 0 END) as total_stock_out
+        ROUND(MAX(current_inventory), 6) as current_stock,
+        ROUND(SUM(CASE WHEN record_type = 'in' THEN amount ELSE 0 END), 6) as total_stock_in,
+        ROUND(SUM(CASE WHEN record_type = 'out' THEN amount ELSE 0 END), 6) as total_stock_out
         FROM (
         SELECT
         product_model_id,

--
Gitblit v1.9.3