From 235721b4a24fd6cc5037bba78c60723dcf200741 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 12 五月 2026 04:30:16 +0800
Subject: [PATCH] fix: 录入人回显姓名,产品出入库数据分析查询错误

---
 src/main/resources/mapper/stock/StockInventoryMapper.xml |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 3fd669c..73ae3dc 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -195,6 +195,7 @@
             SUM(qualifiedLockedQuantity) as qualifiedLockedQuantity,
             SUM(unQualifiedLockedQuantity) as unQualifiedLockedQuantity,
             model,
+            thickness,
             unit,
             product_name,
             MAX(warn_num) as warn_num,
@@ -212,6 +213,7 @@
             COALESCE(si.warn_num, 0) as warn_num,
             si.remark,
             pm.model,
+            pm.thickness,
             pm.unit,
             p.product_name,
             p.id as product_id
@@ -232,6 +234,7 @@
             0 as warn_num,
             su.remark,
             pm.model,
+            pm.thickness,
             pm.unit,
             p.product_name,
             p.id as product_id
@@ -250,8 +253,9 @@
                 and combined.product_id in (select id from product_tree)
             </if>
         </where>
-        group by product_model_id, model, unit, product_name
+        group by product_model_id, model, thickness, unit, product_name
     </select>
+    
     <select id="stockInventoryPage" resultType="com.ruoyi.stock.dto.StockInRecordDto">
         select sir.*,si.qualitity as current_stock,
         pm.model,
@@ -376,12 +380,19 @@
     </select>
 
     <select id="selectDailyStockInCounts" resultType="java.util.Map">
+        WITH RECURSIVE product_subtree AS (
+            SELECT id FROM product WHERE id = #{rootCategoryId}
+            UNION ALL
+            SELECT pr.id
+            FROM product pr
+                     INNER JOIN product_subtree ps ON pr.parent_id = ps.id
+        )
         SELECT DATE(sir.create_time) AS date,
                SUM(sir.stock_in_num) AS count
         FROM stock_in_record sir
                  JOIN product_model pm ON sir.product_model_id = pm.id
                  JOIN product p ON pm.product_id = p.id
-        WHERE (p.parent_id = #{rootCategoryId} OR p.id = #{rootCategoryId})
+        WHERE p.id IN (SELECT id FROM product_subtree)
           AND sir.create_time &gt;= #{startDate}
           AND sir.create_time &lt;= #{endDate}
         GROUP BY DATE(sir.create_time)
@@ -389,12 +400,19 @@
     </select>
 
     <select id="selectDailyStockOutCounts" resultType="java.util.Map">
+        WITH RECURSIVE product_subtree AS (
+            SELECT id FROM product WHERE id = #{rootCategoryId}
+            UNION ALL
+            SELECT pr.id
+            FROM product pr
+                     INNER JOIN product_subtree ps ON pr.parent_id = ps.id
+        )
         SELECT DATE(sor.create_time)  AS date,
                SUM(sor.stock_out_num) AS count
         FROM stock_out_record sor
                  JOIN product_model pm ON sor.product_model_id = pm.id
                  JOIN product p ON pm.product_id = p.id
-        WHERE (p.parent_id = #{rootCategoryId} OR p.id = #{rootCategoryId})
+        WHERE p.id IN (SELECT id FROM product_subtree)
           AND sor.create_time &gt;= #{startDate}
           AND sor.create_time &lt;= #{endDate}
         GROUP BY DATE(sor.create_time)

--
Gitblit v1.9.3