From 0b37ca51f1d90aedaad7fa883e7248cd2ebe7b45 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 06 七月 2026 11:51:21 +0800
Subject: [PATCH] fix(database): 修正客户和供应商应收应付金额计算逻辑 公式:应收/应付 = 合同金额 - 回款/付款金额 - 退货金额
---
src/main/resources/mapper/sales/SalesLedgerProductMapper.xml | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
index 14d5f1d..9e6839f 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -96,6 +96,22 @@
AND so.product_model_id = slp.product_model_id
WHERE slp.type = 2
GROUP BY slp.id
+
+ UNION ALL
+
+ -- 閿�鍞彴璐�(type=1): shipping_info 鐩存帴鎸� sales_ledger_product_id,鍙粺璁″嚭搴撳鏍搁�氳繃(approval_status=1)鐨勫彂璐ч噺,涓� t5 鐨� pending 閫昏緫浜掕ˉ
+ SELECT
+ si.sales_ledger_product_id AS sales_ledger_product_id,
+ IFNULL(SUM(spd.quantity), 0) AS shipped_quantity
+ FROM shipping_info si
+ INNER JOIN shipping_product_detail spd ON si.id = spd.shipping_info_id
+ INNER JOIN stock_out_record sor
+ ON sor.record_id = si.id
+ AND TRIM(sor.record_type) = '13'
+ AND sor.approval_status = 1
+ WHERE si.status IN ('瀹℃牳閫氳繃', '宸插彂璐�')
+ AND si.sales_ledger_product_id IS NOT NULL
+ GROUP BY si.sales_ledger_product_id
) t3 ON t3.sales_ledger_product_id = T1.id
LEFT JOIN (
SELECT rel.sales_ledger_product_id,
@@ -151,6 +167,20 @@
LEFT JOIN purchase_return_orders pro
ON pro.id = prop.purchase_return_order_id
GROUP BY prop.sales_ledger_product_id
+
+ UNION ALL
+
+ SELECT
+ si.sales_ledger_product_id,
+ IFNULL(SUM(rsp.num), 0) AS return_quantity
+ FROM return_sale_product rsp
+ INNER JOIN return_management rm ON rm.id = rsp.return_management_id
+ INNER JOIN shipping_info si ON si.id = rm.shipping_id
+ INNER JOIN stock_in_record sir ON sir.record_id = rsp.id
+ AND TRIM(sir.record_type) IN ('14','15')
+ AND sir.approval_status = 1
+ WHERE si.sales_ledger_product_id IS NOT NULL
+ 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
--
Gitblit v1.9.3