From b53f9dad31d0a6f1802d1d5ebd98964bb9577d4a Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 06 三月 2026 17:31:14 +0800
Subject: [PATCH] 销售退货模块接口开发

---
 src/main/resources/mapper/sales/ShippingInfoMapper.xml |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/main/resources/mapper/sales/ShippingInfoMapper.xml b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
index c5b3ae7..955a89f 100644
--- a/src/main/resources/mapper/sales/ShippingInfoMapper.xml
+++ b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -24,7 +24,7 @@
         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,22 +61,25 @@
     <select id="getReturnManagementDtoById" resultType="com.ruoyi.sales.dto.SalesLedgerProductDto">
         SELECT
         slp.*,
-        slp.quantity - COALESCE(rs.total_return_num, 0) AS un_quantity,
+        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,
         SUM(num) AS total_return_num
-        FROM return_sale_product
-        <where>
-            <if test="productId != null">
-                AND return_sale_ledger_product_id = #{productId}
-            </if>
-        </where>
+        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_sale_ledger_product_id
         ) rs ON rs.return_sale_ledger_product_id = slp.id
+        <where>
+            <if test="shippingId != null">
+                si.id = #{shippingId}
+            </if>
+        </where>
     </select>
     <select id="getShippingInfoByCustomerName" resultType="com.ruoyi.sales.pojo.ShippingInfo">
         select * from shipping_info si

--
Gitblit v1.9.3