From 1f5fdca1ab73461fb930f64c26dcb4038a9d4bf7 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 25 五月 2026 10:10:06 +0800
Subject: [PATCH] 11
---
src/main/resources/mapper/sales/SalesLedgerProductMapper.xml | 74 ++++++++++++++++--------------------
1 files changed, 33 insertions(+), 41 deletions(-)
diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index 49569de..4016b2a 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -60,38 +60,14 @@
GROUP BY sales_ledger_product_id
) t3 ON t3.sales_ledger_product_id = T1.id
LEFT JOIN (
- SELECT rel.sales_ledger_product_id,
- IFNULL(SUM(rel.stock_in_num), 0) AS approved_stock_in_num
- FROM (
- SELECT slp.id AS sales_ledger_product_id,
- sir.stock_in_num
- FROM stock_in_record sir
- INNER JOIN sales_ledger_product slp
- ON slp.type = 2
- AND TRIM(sir.record_type) = '7'
- AND sir.record_id = slp.sales_ledger_id
- AND (
- (sir.batch_no IS NOT NULL AND sir.batch_no LIKE CONCAT('%-', slp.id))
- OR (sir.batch_no IS NULL AND sir.product_model_id = slp.product_model_id)
- )
- WHERE sir.approval_status = 1
-
- UNION ALL
-
- SELECT slp.id AS sales_ledger_product_id,
- sir.stock_in_num
- FROM stock_in_record sir
- INNER JOIN quality_inspect qi
- ON TRIM(sir.record_type) = '10'
- AND sir.record_id = qi.id
- INNER JOIN sales_ledger_product slp
- ON slp.type = 2
- AND slp.sales_ledger_id = qi.purchase_ledger_id
- AND slp.product_model_id = qi.product_model_id
- WHERE sir.approval_status = 1
- ) rel
- GROUP BY rel.sales_ledger_product_id
- ) t4 ON t4.sales_ledger_product_id = T1.id
+ SELECT
+ purchase_ledger_id,
+ product_model_id,
+ SUM(IFNULL(quantity, 0)) AS approved_stock_in_num
+ FROM quality_inspect
+ WHERE inspect_state = 1
+ GROUP BY purchase_ledger_id, product_model_id
+ ) t4 ON t4.purchase_ledger_id = T1.sales_ledger_id AND t4.product_model_id = T1.product_model_id
left join product_model pm ON T1.product_model_id = pm.id
left join product p ON pm.product_id = p.id
<where>
@@ -207,7 +183,7 @@
JOIN product pr ON slp.product_id = pr.id
WHERE
slp.type = 2
- AND pr.parent_id = ( SELECT id FROM product WHERE product_name = '鍘熸潗鏂�' )
+ AND pr.parent_id = ( SELECT id FROM product WHERE product_name = '鍘熸枡' )
GROUP BY
pr.id,
pr.product_name
@@ -218,20 +194,36 @@
<select id="selectProductCountByTypeAndDate" resultType="int">
SELECT IFNULL(COUNT(*), 0)
- FROM sales_ledger_product
+ FROM sales_ledger_product slp
+ LEFT JOIN sales_ledger sl ON sl.id = slp.sales_ledger_id
+ LEFT JOIN purchase_ledger pl ON pl.id = slp.sales_ledger_id
WHERE type = #{type}
- <if test="startDate != null">
- AND register_date >= #{startDate}
- </if>
- <if test="endDate != null">
- AND register_date <= #{endDate}
- </if>
+
+ <choose>
+ <when test="type == 1">
+ <if test="startDate != null">
+ AND sl.entry_date >= #{startDate}
+ </if>
+ <if test="endDate != null">
+ AND sl.entry_date <= #{endDate}
+ </if>
+ </when>
+
+ <when test="type == 2">
+ <if test="startDate != null">
+ AND pl.entry_date >= #{startDate}
+ </if>
+ <if test="endDate != null">
+ AND pl.entry_date <= #{endDate}
+ </if>
+ </when>
+ </choose>
</select>
<select id="selectRawMaterialExpense" resultType="java.math.BigDecimal">
WITH RECURSIVE product_tree AS (SELECT id
FROM product
- WHERE product_name = '鍘熸潗鏂�'
+ WHERE product_name = '鍘熸枡'
UNION ALL
--
Gitblit v1.9.3