From 6ed4b397bb9dbb9c2d7bb0676339721fa97996bf Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 30 一月 2026 10:32:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

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

diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 49b4aa8..79b08cd 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -185,8 +185,52 @@
         p.product_name
     </select>
     <select id="selectTotal" resultType="java.math.BigDecimal">
-        select sum(qualitity)
+        select ifnull(sum(qualitity), 0)
         from stock_inventory
     </select>
 
+    <select id="selectTotalByDate" resultType="java.math.BigDecimal">
+        select IFNULL(sum(qualitity), 0)
+        from stock_inventory
+        where create_time &gt;= #{now}
+          and create_time &lt; DATE_ADD(#{now}, INTERVAL 1 DAY)
+    </select>
+
+    <select id="selectStorageProductCountByDate" resultType="int">
+        SELECT COUNT(*)
+        FROM (SELECT create_time
+              FROM stock_inventory
+              UNION ALL
+              SELECT create_time
+              FROM stock_uninventory) combined
+        WHERE create_time &gt;= #{startDate}
+          AND create_time &lt;= #{endDate}
+    </select>
+
+    <select id="selectDailyStockInCounts" resultType="java.util.Map">
+        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})
+          AND sir.create_time &gt;= #{startDate}
+          AND sir.create_time &lt;= #{endDate}
+        GROUP BY DATE(sir.create_time)
+        ORDER BY DATE(sir.create_time) ASC
+    </select>
+
+    <select id="selectDailyStockOutCounts" resultType="java.util.Map">
+        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})
+          AND sor.create_time &gt;= #{startDate}
+          AND sor.create_time &lt;= #{endDate}
+        GROUP BY DATE(sor.create_time)
+        ORDER BY DATE(sor.create_time) ASC
+    </select>
+
 </mapper>

--
Gitblit v1.9.3