From bf4f7bae745b8c6e9c468e243961c9edea6dfed4 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 24 四月 2026 09:13:09 +0800
Subject: [PATCH] fix: 进销存数据分析产品数去重

---
 src/main/resources/mapper/stock/StockInventoryMapper.xml |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index ebda2fc..d898c2c 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -49,8 +49,10 @@
             </if>
             update_time = now()
         </set>
-        where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
+        where product_model_id = #{ew.productModelId}
+        and (qualitity - COALESCE(locked_quantity, 0)) >= #{ew.qualitity}
     </update>
+
     <select id="pagestockInventory" resultType="com.ruoyi.stock.dto.StockInventoryDto">
         select si.id,
         si.qualitity,
@@ -64,9 +66,10 @@
         pm.model,
         si.remark,
         pm.unit,
+        pm.thickness,
         p.product_name
         from stock_inventory si
-        left join product_model pm on si. = pm.id
+        left join product_model pm on si.product_model_id = pm.id
         left join product p on pm.product_id = p.id
         where 1 = 1
         <if test="ew.productName != null and ew.productName !=''">
@@ -76,6 +79,7 @@
             and si.product_model_id = #{ew.productModelId}
         </if>
     </select>
+
     <select id="listStockInventoryExportData" resultType="com.ruoyi.stock.execl.StockInventoryExportData">
         select si.qualitity,
         pm.model,
@@ -97,6 +101,7 @@
         select sir.*,si.qualitity as current_stock,
         pm.model,
         pm.unit,
+        pm.thickness,
         p.product_name,
         su.nick_name as create_by
         from
@@ -123,6 +128,7 @@
         SELECT
         pm.model,
         pm.unit,
+        pm.thickness,
         p.product_name,
         MAX(current_inventory) as current_stock,
         SUM(CASE WHEN record_type = 'in' THEN amount ELSE 0 END) as total_stock_in,
@@ -202,16 +208,16 @@
     </select>
 
     <select id="selectStorageProductCountByDate" resultType="int">
-        SELECT SUM(total_count)
-        FROM (SELECT COUNT(*) as total_count
+        SELECT COUNT(DISTINCT product_model_id)
+        FROM (SELECT product_model_id
               FROM stock_inventory
               WHERE create_time &gt;= #{startDate}
                 AND create_time &lt;= #{endDate}
               UNION ALL
-              SELECT COUNT(*) as total_count
+              SELECT product_model_id
               FROM stock_uninventory
               WHERE create_time &gt;= #{startDate}
-                AND create_time &lt;= #{endDate}) AS combined_counts
+                AND create_time &lt;= #{endDate}) AS combined_models
     </select>
 
     <select id="selectDailyStockInCounts" resultType="java.util.Map">

--
Gitblit v1.9.3