From 2bdf6b86c427cd8a0f433d6a559d532eed67b733 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 13 八月 2026 13:40:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_天津_意博凯信' into dev_天津_意博凯信

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

diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index b39b720..6059825 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -34,7 +34,6 @@
         ELSE 0
         END as has_sufficient_stock,
         (IFNULL(T1.quantity, 0) - IFNULL(t3.shipped_quantity, 0) - IFNULL(t5.pending_approval_quantity, 0)) as no_quantity,
-        IFNULL(t6.return_quantity, 0) as return_quantity,
         IFNULL(t5.pending_approval_quantity, 0) as pending_approval_quantity,
         CASE
          WHEN IFNULL(t3.shipped_quantity, 0) = 0 AND IFNULL(t5.pending_approval_quantity, 0) = 0 THEN '寰呭彂璐�'
@@ -114,14 +113,6 @@
            ))
         GROUP BY si.sales_ledger_product_id
         ) t5 ON t5.sales_ledger_product_id = T1.id
-        LEFT JOIN (
-        SELECT si.sales_ledger_product_id, IFNULL(SUM(rsp.num), 0) AS return_quantity
-        FROM return_management rm
-        INNER JOIN return_sale_product rsp ON rm.id = rsp.return_management_id
-        INNER JOIN shipping_info si ON rm.shipping_id = si.id
-        WHERE rm.status = 1
-        GROUP BY si.sales_ledger_product_id
-        ) t6 ON t6.sales_ledger_product_id = T1.id
         left join product_model pm ON T1.product_model_id = pm.id
         left join product p ON pm.product_id = p.id
         <where>
@@ -228,7 +219,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 +250,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 +294,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