From e03206c08c9604decc4723c36fc25573681f2fee Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 18 六月 2026 15:02:00 +0800
Subject: [PATCH] refactor(database): 优化库存管理相关数据库查询和业务逻辑

---
 src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml b/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
index ba0e289..a01a9bf 100644
--- a/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
+++ b/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
@@ -7,9 +7,16 @@
                sum(t1.inbound_num) as inboundNum,
                sum(t1.inbound_num) as inboundNum0,
                sum(t1.tax_inclusive_total_price) as taxInclusiveTotalPrice,
-               SUM(t1.inbound_num) - COALESCE(SUM(t2.inbound_num), 0) AS availableStock
+               COALESCE(out_sum.total_out_num, 0) as totalInboundNum,
+               sum(t1.inbound_num) - COALESCE(out_sum.total_out_num, 0) AS inboundNum0,
+               sum(t1.inbound_num) - COALESCE(out_sum.total_out_num, 0) AS availableStock
                from custom_storage t1
-               left join procurement_record_out t2 on t1.id = t2.procurement_record_storage_id and t2.type = 3
+               left join (
+                   select t2.procurement_record_storage_id, sum(t2.inbound_num) as total_out_num
+                   from procurement_record_out t2
+                   where t2.type = 3
+                   group by t2.procurement_record_storage_id
+               ) out_sum on out_sum.procurement_record_storage_id = t1.id
         <where>
             <if test="req.productCategory != null and req.productCategory != ''">
                 and t1.product_category like  concat('%',#{req.productCategory},'%')

--
Gitblit v1.9.3