From aa4fe9378455c7b0492cdac07bc55752b4bfc312 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 13 五月 2026 17:23:23 +0800
Subject: [PATCH] fix(mapper): 优化退货和发货数量计算逻辑

---
 src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml b/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
index a001e9a..6732a66 100644
--- a/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
@@ -132,7 +132,7 @@
            slp.tax_inclusive_unit_price,
            prop.return_quantity,
            prop.purchase_return_order_id,
-           GREATEST(sir.stock_in_num - COALESCE(prop.return_quantity, 0), 0) AS un_quantity,
+           GREATEST(sir.stock_in_num - COALESCE(rs1.total_return_num1, 0), 0) AS un_quantity,
            COALESCE(rs.total_return_num, 0)                             AS total_return_num
     from purchase_return_order_products prop
     left join purchase_return_orders pro on prop.purchase_return_order_id = pro.id
@@ -143,6 +143,11 @@
                FROM purchase_return_order_products
                WHERE 1 = 1 and purchase_return_order_id = #{id}
                GROUP BY stock_in_record_id) rs ON rs.stock_in_record_id = sir.id
+    LEFT JOIN (SELECT stock_in_record_id,
+                      SUM(return_quantity) AS total_return_num1
+               FROM purchase_return_order_products
+               WHERE 1 = 1 and purchase_return_order_id = #{id}
+               GROUP BY stock_in_record_id) rs1 ON rs1.stock_in_record_id = sir.id
     where pro.id = #{id}
     </select>
 </mapper>

--
Gitblit v1.9.3