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 | 51 +++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 41 insertions(+), 10 deletions(-)
diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index 7eb7b79..4016b2a 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -38,7 +38,13 @@
WHEN IFNULL(t3.shipped_quantity, 0) = 0 THEN '寰呭彂璐�'
WHEN (IFNULL(T1.quantity, 0) - IFNULL(t3.shipped_quantity, 0)) > 0 THEN '閮ㄥ垎鍙戣揣'
ELSE '宸插彂璐�'
- END as shippingStatus
+ END as shippingStatus,
+ CASE
+ WHEN T1.type != 2 THEN NULL
+ WHEN IFNULL(t4.approved_stock_in_num, 0) <= 0 THEN '寰呭叆搴�'
+ WHEN IFNULL(t4.approved_stock_in_num, 0) >= IFNULL(T1.quantity, 0) THEN '瀹屽叏鍏ュ簱'
+ ELSE '鍏ュ簱涓�'
+ END AS stock_in_approval_status
FROM
sales_ledger_product T1
LEFT JOIN (
@@ -53,6 +59,15 @@
where si.status != '瀹℃牳鎷掔粷'
GROUP BY sales_ledger_product_id
) t3 ON t3.sales_ledger_product_id = T1.id
+ LEFT JOIN (
+ 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>
@@ -168,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
@@ -179,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