From 80939d3c23637db6345bb732283c1eb6234dbfac Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 23 六月 2026 17:45:56 +0800
Subject: [PATCH] fix:发货状态变为已发货需两个条件,一是发货审批通过,而是发货出库审批通过
---
src/main/resources/mapper/sales/SalesLedgerProductMapper.xml | 24 ++++++++++++++++++------
1 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index e2e6277..2ae23b1 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -55,11 +55,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 = '瀹℃牳閫氳繃' OR 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,
@@ -95,11 +101,17 @@
GROUP BY rel.sales_ledger_product_id
) t4 ON t4.sales_ledger_product_id = T1.id
LEFT JOIN (
- SELECT sales_ledger_product_id, IFNULL(SUM(spd.quantity), 0) as pending_approval_quantity
+ 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 ('寰呭鏍�', '瀹℃牳涓�')
- GROUP BY sales_ledger_product_id
+ 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 product_model pm ON T1.product_model_id = pm.id
left join product p ON pm.product_id = p.id
--
Gitblit v1.9.3