From 7aad06fedc12f0183734088fa44c929ac6ff42b3 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期六, 10 十月 2026 11:54:01 +0800
Subject: [PATCH] feat: 增加多个查询的排序功能以优化数据检索

---
 src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml |   44 ++++++++++++++++++++++++++++++++------------
 1 files changed, 32 insertions(+), 12 deletions(-)

diff --git a/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml b/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
index e29cc8d..8ee0ad8 100644
--- a/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
+++ b/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
@@ -3,24 +3,44 @@
 <mapper namespace="com.ruoyi.procurementrecord.mapper.CustomStorageMapper">
 
     <select id="listPageCopyByCustom" resultType="com.ruoyi.procurementrecord.pojo.CustomStorage">
-        select *,
-               sum(inbound_num) as inboundNum,
-               sum(inbound_num) as inboundNum0,
-               sum(tax_inclusive_total_price) as taxInclusiveTotalPrice
-               from custom_storage
+        select ANY_VALUE(t1.id) as id,
+               t1.product_category,
+               t1.specification_model,
+               t1.tax_inclusive_unit_price,
+               ANY_VALUE(t1.item_type) as item_type,
+               ANY_VALUE(t1.inbound_date) as inbound_date,
+               ANY_VALUE(t1.inbound_batches) as inbound_batches,
+               ANY_VALUE(t1.supplier_name) as supplier_name,
+               ANY_VALUE(t1.unit) as unit,
+               ANY_VALUE(t1.tax_inclusive_total_price) as tax_inclusive_total_price,
+               ANY_VALUE(t1.tax_rate) as tax_rate,
+               ANY_VALUE(t1.tax_exclusive_total_price) as tax_exclusive_total_price,
+               ANY_VALUE(t1.create_by) as create_by,
+               ANY_VALUE(t1.create_time) as create_time,
+               ANY_VALUE(t1.update_time) as update_time,
+               ANY_VALUE(t1.create_user) as create_user,
+               ANY_VALUE(t1.update_user) as update_user,
+               ANY_VALUE(t1.tenant_id) as tenant_id,
+               ANY_VALUE(t1.code) as code,
+               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
+               from custom_storage t1
+               left join procurement_record_out t2 on t1.id = t2.procurement_record_storage_id and t2.type = 3
         <where>
             <if test="req.productCategory != null and req.productCategory != ''">
-                and product_category like  concat('%',#{req.productCategory},'%')
+                and t1.product_category like  concat('%',#{req.productCategory},'%')
             </if>
             <if test="req.supplierName !=null and req.supplierName != ''">
-                and supplier_name like concat('%',#{req.supplierName},'%')
+                and t1.supplier_name like concat('%',#{req.supplierName},'%')
             </if>
-            <if test="req.inboundDate !=null">
-                and inbound_date like concat('%',#{req.inboundDate},'%')
+            <if test="req.timeStr != null and req.timeStr != ''">
+                and t1.inbound_date like concat('%',#{req.timeStr},'%')
             </if>
-
         </where>
-        group by product_category, specification_model, tax_inclusive_unit_price
-        order by inbound_date desc
+        group by t1.product_category, t1.specification_model, t1.tax_inclusive_unit_price
+        HAVING availableStock > 0
+        order by ANY_VALUE(t1.inbound_date) desc
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3