From bfda179b25eb3f121cc827485ae2b8be1fee3449 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 11 五月 2026 18:00:28 +0800
Subject: [PATCH] refactor(database): 重构产品信息查询以使用关联表结构
---
src/main/resources/mapper/sales/ShippingInfoMapper.xml | 29 +++++++++++++++++------------
1 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/src/main/resources/mapper/sales/ShippingInfoMapper.xml b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
index c5b3ae7..ee384ed 100644
--- a/src/main/resources/mapper/sales/ShippingInfoMapper.xml
+++ b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -19,12 +19,13 @@
s.update_user,
s.tenant_id,
sl.sales_contract_no,
- slp.specification_model,
+ pm.model as specification_model,
+ pm.unit,
p.product_name,
sl.customer_name
FROM shipping_info s
LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
- LEFT JOIN sales_ledger_product slp ON s.sales_ledger_product_id = slp.id
+ LEFT JOIN sales_ledger_product slp ON s.sales_ledger_product_id = slp.id and slp.type = 1
left join product_model pm on slp.product_model_id = pm.id
left join product p on pm.product_id = p.id
WHERE 1=1
@@ -61,26 +62,30 @@
<select id="getReturnManagementDtoById" resultType="com.ruoyi.sales.dto.SalesLedgerProductDto">
SELECT
slp.*,
- slp.quantity - COALESCE(rs.total_return_num, 0) AS un_quantity,
+ si.shipping_no,
+ GREATEST(slp.quantity - COALESCE(rs.total_return_num, 0), 0) AS un_quantity,
COALESCE(rs.total_return_num, 0) AS total_return_num
FROM shipping_info si
- LEFT JOIN sales_ledger_product slp ON si.sales_ledger_product_id = slp.id
+ LEFT JOIN sales_ledger_product slp ON si.sales_ledger_product_id = slp.id and slp.type = 1
LEFT JOIN (
SELECT
- return_sale_ledger_product_id,
+ return_sales_ledger_product_id,
SUM(num) AS total_return_num
- FROM return_sale_product
+ FROM return_sale_product rsp
+ left join return_management rm on rm.id = rsp.return_management_id
+ left join shipping_info si on si.id = rm.shipping_id
+ WHERE 1=1
+ GROUP BY return_sales_ledger_product_id
+ ) rs ON rs.return_sales_ledger_product_id = slp.id
<where>
- <if test="productId != null">
- AND return_sale_ledger_product_id = #{productId}
+ <if test="shippingId != null">
+ si.id = #{shippingId}
</if>
</where>
- GROUP BY return_sale_ledger_product_id
- ) rs ON rs.return_sale_ledger_product_id = slp.id
</select>
<select id="getShippingInfoByCustomerName" resultType="com.ruoyi.sales.pojo.ShippingInfo">
select * from shipping_info si
left join sales_ledger sl on si.sales_ledger_id = sl.id
- where sl.customer_name = #{customerName}
+ where si.status = '宸插彂璐�' and sl.customer_name = #{customerName}
</select>
-</mapper>
\ No newline at end of file
+</mapper>
--
Gitblit v1.9.3