From 7b6741f6ccf11d0043ad94914d41a9bd23452d00 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 29 五月 2026 15:13:24 +0800
Subject: [PATCH] feat(sales): 添加销售台账审核反审功能 1.在销售台账下新增子级菜单:未审批订单和反审核数据。分别进行订单审 核和查看反审核的历史数据。 2.在销售台账页面,新增一个编辑按钮,可以对已审核的订单进行单价修 改。 3.新增反审核按钮,对已审核的订单进行反审核,反审核之后会保存当前订 单的数据快照,便于在反审核菜单进行查看。反审核的订单重新生成一条销 售订单数据进行编辑。

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

diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index b3b3767..73ae3dc 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -380,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)
@@ -393,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