From 9bad4cfca9b9f51f433bf0caf5b5d166d1fc55a7 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 03 四月 2026 10:20:59 +0800
Subject: [PATCH] fix: 库存查询添加有效期
---
src/main/resources/mapper/sales/SalesLedgerProductMapper.xml | 25 +++++++++++++++++--------
1 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index 671fcf5..711c961 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -5,15 +5,22 @@
<mapper namespace="com.ruoyi.sales.mapper.SalesLedgerProductMapper">
<select id="selectSalesLedgerProductList" resultType="com.ruoyi.sales.pojo.SalesLedgerProduct">
+ WITH stock_summary AS (
+ SELECT
+ product_model_id,
+ SUM(qualitity) AS total_quantity,
+ SUM(locked_quantity) AS total_locked
+ FROM stock_inventory
+ GROUP BY product_model_id
+ )
SELECT
T1.*,
CASE
- WHEN (IFNULL(t2.qualitity, 0) - IFNULL(t2.locked_quantity, 0)) >= IFNULL(T1.quantity, 0) THEN 1
+ WHEN (IFNULL(s.total_quantity, 0) - IFNULL(s.total_locked, 0)) >= IFNULL(T1.quantity, 0) THEN 1
ELSE 0
END as has_sufficient_stock
- FROM
- sales_ledger_product T1
- LEFT JOIN stock_inventory t2 ON T1.product_model_id = t2.product_model_id
+ FROM sales_ledger_product T1
+ LEFT JOIN stock_summary s ON T1.product_model_id = s.product_model_id
<where>
<if test="salesLedgerProduct.salesLedgerId != null">
AND T1.sales_ledger_id = #{salesLedgerProduct.salesLedgerId}
@@ -31,7 +38,7 @@
left join production_product_main ppm on qi.product_main_id = ppm.id
left join product_work_order pwo on ppm.work_order_id = pwo.id
left join product_order po on pwo.product_order_id = po.id
- left join sales_ledger_product slp on po.sale_ledger_product_id = slp.id
+ left join sales_ledger_product slp on po.sale_ledger_product_id = slp.id and slp.type = 1
where qi.product_main_id = #{productMainId}
@@ -127,8 +134,10 @@
<if test="req.productCategory != null and req.productCategory != ''">
AND slp.product_category = #{req.productCategory}
</if>
- <!-- 鎸変骇鍝佸ぇ绫诲垎缁勮仛鍚� -->
- GROUP BY slp.product_category
+ GROUP BY
+ slp.product_category,
+ slp.specification_model,
+ sl.supplier_name
<!-- 鎸変骇鍝佸ぇ绫绘帓搴� -->
ORDER BY slp.product_category
</select>
@@ -144,7 +153,7 @@
p.product_name,
ps.unit_quantity * slp.quantity AS single_quantity
FROM sales_ledger sl
- LEFT JOIN sales_ledger_product slp ON slp.sales_ledger_id = sl.id
+ LEFT JOIN sales_ledger_product slp ON slp.sales_ledger_id = sl.id and slp.type = 1
LEFT JOIN product_model pm ON pm.id = slp.product_model_id
LEFT JOIN product_bom pb ON pb.product_model_id = pm.id
LEFT JOIN product_structure ps ON pb.id = ps.bom_id
--
Gitblit v1.9.3