From 09361264d6d87b8ce57b61a26c5507dbc0a01031 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期五, 28 八月 2026 23:16:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_天津_建诚恒商贸' into dev_天津_玮苓乐器

---
 src/main/resources/mapper/sales/SalesLedgerProductMapper.xml |   44 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 43 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index b39b720..acd074c 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -228,7 +228,29 @@
         LIMIT 5
     </select>
 
+    <select id="selectProductSalesAnalysisByDate" resultType="java.util.Map">
+        SELECT
+            product_category as name,
+            SUM( tax_inclusive_total_price ) AS value
+        FROM
+            sales_ledger_product
+        WHERE
+            type = 1
+            AND register_date &gt;= #{startDate}
+            AND register_date &lt;= #{endDate}
+        GROUP BY
+            product_category
+        ORDER BY
+            value DESC
+        LIMIT 5
+    </select>
+
     <select id="selectRawMaterialPurchaseAnalysis" resultType="java.util.Map">
+        WITH RECURSIVE raw_material_tree AS (
+            SELECT id FROM product WHERE product_name = '鍘熸潗鏂�' AND parent_id IS NULL
+            UNION ALL
+            SELECT p.id FROM product p INNER JOIN raw_material_tree rmt ON p.parent_id = rmt.id
+        )
         SELECT
             pr.product_name AS name,
             SUM( slp.tax_inclusive_total_price ) AS value
@@ -237,6 +259,26 @@
             JOIN product pr ON slp.product_id = pr.id
         WHERE
             slp.type = 2
+            AND pr.id IN (SELECT id FROM raw_material_tree)
+        GROUP BY
+            pr.id,
+            pr.product_name
+        ORDER BY
+            value DESC
+        LIMIT 5
+    </select>
+
+    <select id="selectRawMaterialPurchaseAnalysisByDate" resultType="java.util.Map">
+        SELECT
+            pr.product_name AS name,
+            SUM( slp.tax_inclusive_total_price ) AS value
+        FROM
+            sales_ledger_product slp
+            JOIN product pr ON slp.product_id = pr.id
+        WHERE
+            slp.type = 2
+            AND slp.register_date &gt;= #{startDate}
+            AND slp.register_date &lt;= #{endDate}
             AND pr.parent_id = ( SELECT id FROM product WHERE product_name = '鍘熸潗鏂�' )
         GROUP BY
             pr.id,
@@ -261,7 +303,7 @@
     <select id="selectRawMaterialExpense" resultType="java.math.BigDecimal">
         WITH RECURSIVE product_tree AS (SELECT id
                                         FROM product
-                                        WHERE product_name = '鍘熸潗鏂�'
+                                        WHERE product_name = '鍘熸潗鏂�' AND parent_id IS NULL
 
                                         UNION ALL
 

--
Gitblit v1.9.3