From bf4f7bae745b8c6e9c468e243961c9edea6dfed4 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 24 四月 2026 09:13:09 +0800
Subject: [PATCH] fix: 进销存数据分析产品数去重
---
src/main/resources/mapper/stock/StockInventoryMapper.xml | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index ebda2fc..d898c2c 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -49,8 +49,10 @@
</if>
update_time = now()
</set>
- where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
+ where product_model_id = #{ew.productModelId}
+ and (qualitity - COALESCE(locked_quantity, 0)) >= #{ew.qualitity}
</update>
+
<select id="pagestockInventory" resultType="com.ruoyi.stock.dto.StockInventoryDto">
select si.id,
si.qualitity,
@@ -64,9 +66,10 @@
pm.model,
si.remark,
pm.unit,
+ pm.thickness,
p.product_name
from stock_inventory si
- left join product_model pm on si. = pm.id
+ left join product_model pm on si.product_model_id = pm.id
left join product p on pm.product_id = p.id
where 1 = 1
<if test="ew.productName != null and ew.productName !=''">
@@ -76,6 +79,7 @@
and si.product_model_id = #{ew.productModelId}
</if>
</select>
+
<select id="listStockInventoryExportData" resultType="com.ruoyi.stock.execl.StockInventoryExportData">
select si.qualitity,
pm.model,
@@ -97,6 +101,7 @@
select sir.*,si.qualitity as current_stock,
pm.model,
pm.unit,
+ pm.thickness,
p.product_name,
su.nick_name as create_by
from
@@ -123,6 +128,7 @@
SELECT
pm.model,
pm.unit,
+ pm.thickness,
p.product_name,
MAX(current_inventory) as current_stock,
SUM(CASE WHEN record_type = 'in' THEN amount ELSE 0 END) as total_stock_in,
@@ -202,16 +208,16 @@
</select>
<select id="selectStorageProductCountByDate" resultType="int">
- SELECT SUM(total_count)
- FROM (SELECT COUNT(*) as total_count
+ SELECT COUNT(DISTINCT product_model_id)
+ FROM (SELECT product_model_id
FROM stock_inventory
WHERE create_time >= #{startDate}
AND create_time <= #{endDate}
UNION ALL
- SELECT COUNT(*) as total_count
+ SELECT product_model_id
FROM stock_uninventory
WHERE create_time >= #{startDate}
- AND create_time <= #{endDate}) AS combined_counts
+ AND create_time <= #{endDate}) AS combined_models
</select>
<select id="selectDailyStockInCounts" resultType="java.util.Map">
--
Gitblit v1.9.3