From d4af1d13fd1a3e1dd343d6460b6ff6392cf51e4e Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 02 七月 2026 10:42:03 +0800
Subject: [PATCH] 销售退货:查询列表新增入库审批状态字段
---
src/main/resources/mapper/sales/SalesLedgerProductMapper.xml | 44 ++++++++++++++++++++++++++++++++++++++------
1 files changed, 38 insertions(+), 6 deletions(-)
diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index 49569de..1b8ebdf 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -33,9 +33,12 @@
WHEN (IFNULL(t2.qualitity, 0) - IFNULL(t2.locked_quantity, 0)) >0 THEN 1
ELSE 0
END as has_sufficient_stock,
- (IFNULL(T1.quantity, 0) - IFNULL(t3.shipped_quantity, 0)) as no_quantity,
+ (IFNULL(T1.quantity, 0) - IFNULL(t3.shipped_quantity, 0) - IFNULL(t5.pending_approval_quantity, 0)) as no_quantity,
+ IFNULL(t6.return_quantity, 0) as return_quantity,
+ IFNULL(t5.pending_approval_quantity, 0) as pending_approval_quantity,
CASE
- WHEN IFNULL(t3.shipped_quantity, 0) = 0 THEN '寰呭彂璐�'
+ WHEN IFNULL(t3.shipped_quantity, 0) = 0 AND IFNULL(t5.pending_approval_quantity, 0) = 0 THEN '寰呭彂璐�'
+ WHEN IFNULL(t3.shipped_quantity, 0) = 0 AND IFNULL(t5.pending_approval_quantity, 0) > 0 THEN '瀹℃壒涓�'
WHEN (IFNULL(T1.quantity, 0) - IFNULL(t3.shipped_quantity, 0)) > 0 THEN '閮ㄥ垎鍙戣揣'
ELSE '宸插彂璐�'
END as shippingStatus,
@@ -53,11 +56,17 @@
GROUP BY product_model_id
) t2 ON T1.product_model_id = t2.product_model_id
LEFT JOIN (
- SELECT sales_ledger_product_id, IFNULL(SUM(spd.quantity), 0) as shipped_quantity
+ SELECT si.sales_ledger_product_id, IFNULL(SUM(spd.quantity), 0) as shipped_quantity
FROM shipping_info si
- LEFT JOIN shipping_product_detail spd ON si.id = spd.shipping_info_id
- where si.status != '瀹℃牳鎷掔粷'
- GROUP BY sales_ledger_product_id
+ INNER JOIN shipping_product_detail spd ON si.id = spd.shipping_info_id
+ WHERE si.status IN ('瀹℃牳閫氳繃', '宸插彂璐�')
+ AND EXISTS (
+ SELECT 1 FROM stock_out_record sor
+ WHERE sor.record_id = si.id
+ AND TRIM(sor.record_type) = '13'
+ AND sor.approval_status = 1
+ )
+ GROUP BY si.sales_ledger_product_id
) t3 ON t3.sales_ledger_product_id = T1.id
LEFT JOIN (
SELECT rel.sales_ledger_product_id,
@@ -92,6 +101,29 @@
) rel
GROUP BY rel.sales_ledger_product_id
) t4 ON t4.sales_ledger_product_id = T1.id
+ LEFT JOIN (
+ SELECT si.sales_ledger_product_id, IFNULL(SUM(spd.quantity), 0) as pending_approval_quantity
+ FROM shipping_info si
+ LEFT JOIN shipping_product_detail spd ON si.id = spd.shipping_info_id
+ WHERE si.status IN ('寰呭鏍�', '瀹℃牳涓�')
+ OR (si.status = '瀹℃牳閫氳繃' AND NOT EXISTS (
+ SELECT 1 FROM stock_out_record sor
+ WHERE sor.record_id = si.id
+ AND TRIM(sor.record_type) = '13'
+ AND sor.approval_status = 1
+ ))
+ GROUP BY si.sales_ledger_product_id
+ ) t5 ON t5.sales_ledger_product_id = T1.id
+ LEFT JOIN (
+ SELECT
+ si.sales_ledger_product_id,
+ SUM( CASE WHEN rsp.STATUS = 1 AND sir.approval_status = 1 THEN rsp.num ELSE 0 END ) AS return_quantity
+ FROM shipping_info si
+ left join return_management rm on rm.shipping_id = si.id
+ left join return_sale_product rsp on rm.id = rsp.return_management_id
+ left join stock_in_record sir on rsp.id = sir.record_id
+ GROUP BY si.sales_ledger_product_id
+ ) t6 ON t6.sales_ledger_product_id = T1.id
left join product_model pm ON T1.product_model_id = pm.id
left join product p ON pm.product_id = p.id
<where>
--
Gitblit v1.9.3