From a93befc4e35048442041d7280b8c97b3e185ffdf Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 03 七月 2026 16:34:05 +0800
Subject: [PATCH] fix:1.客户往来的应收金额、供应商往来的应付金额展示优化 2.客户往来,供应商往来加上退货金额字段
---
src/main/java/com/ruoyi/purchase/vo/SupplierTransactionsVo.java | 5 ++
src/main/java/com/ruoyi/sales/vo/CustomerTransactionsDetailsVo.java | 3 +
src/main/resources/mapper/basic/CustomerMapper.xml | 36 +++---------------
src/main/resources/mapper/basic/SupplierManageMapper.xml | 40 ++------------------
src/main/java/com/ruoyi/sales/vo/CustomerTransactionsVo.java | 5 ++
src/main/java/com/ruoyi/purchase/vo/SupplierTransactionsDetailsVo.java | 3 +
6 files changed, 24 insertions(+), 68 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/vo/SupplierTransactionsDetailsVo.java b/src/main/java/com/ruoyi/purchase/vo/SupplierTransactionsDetailsVo.java
index 3533e6e..5cf592d 100644
--- a/src/main/java/com/ruoyi/purchase/vo/SupplierTransactionsDetailsVo.java
+++ b/src/main/java/com/ruoyi/purchase/vo/SupplierTransactionsDetailsVo.java
@@ -30,4 +30,7 @@
@Schema(description = "搴斾粯閲戦")
private BigDecimal payableAmount;
+ @Schema(description = "閫�璐ч噾棰�")
+ private BigDecimal returnAmount;
+
}
diff --git a/src/main/java/com/ruoyi/purchase/vo/SupplierTransactionsVo.java b/src/main/java/com/ruoyi/purchase/vo/SupplierTransactionsVo.java
index 35cefc0..2434017 100644
--- a/src/main/java/com/ruoyi/purchase/vo/SupplierTransactionsVo.java
+++ b/src/main/java/com/ruoyi/purchase/vo/SupplierTransactionsVo.java
@@ -24,7 +24,10 @@
private BigDecimal paymentAmount;
@Schema(description = "搴斾粯閲戦")
- //璇ヤ緵搴斿晢閲囪喘搴斾粯绱閲戦=璐㈠姟(鍏ュ簱-閫�璐�)
+ //璇ヤ緵搴斿晢閲囪喘搴斾粯绱閲戦=鍒濆閲戦-浠樻-閫�娆�
private BigDecimal payableAmount;
+ @Schema(description = "閫�璐ч噾棰�")
+ private BigDecimal returnAmount;
+
}
diff --git a/src/main/java/com/ruoyi/sales/vo/CustomerTransactionsDetailsVo.java b/src/main/java/com/ruoyi/sales/vo/CustomerTransactionsDetailsVo.java
index 992860e..cc205b1 100644
--- a/src/main/java/com/ruoyi/sales/vo/CustomerTransactionsDetailsVo.java
+++ b/src/main/java/com/ruoyi/sales/vo/CustomerTransactionsDetailsVo.java
@@ -30,4 +30,7 @@
@Schema(description = "搴旀敹閲戦")
private BigDecimal receiptableAmount;
+ @Schema(description = "閫�璐ч噾棰�")
+ private BigDecimal returnAmount;
+
}
diff --git a/src/main/java/com/ruoyi/sales/vo/CustomerTransactionsVo.java b/src/main/java/com/ruoyi/sales/vo/CustomerTransactionsVo.java
index 7b8fc1a..a6c7d7f 100644
--- a/src/main/java/com/ruoyi/sales/vo/CustomerTransactionsVo.java
+++ b/src/main/java/com/ruoyi/sales/vo/CustomerTransactionsVo.java
@@ -24,7 +24,10 @@
private BigDecimal receiptPaymentAmount;
@Schema(description = "搴旀敹閲戦")
- //璇ュ鎴烽攢鍞簲鏀剁疮璁¢噾棰�=璐㈠姟(鍑哄簱-閫�璐�)
+ //璇ュ鎴烽攢鍞簲鏀剁疮璁¢噾棰�=鍒濆閲戦-鍥炴-閫�娆�
private BigDecimal receiptableAmount;
+ @Schema(description = "閫�璐ч噾棰�")
+ private BigDecimal returnAmount;
+
}
diff --git a/src/main/resources/mapper/basic/CustomerMapper.xml b/src/main/resources/mapper/basic/CustomerMapper.xml
index 442173e..75327ef 100644
--- a/src/main/resources/mapper/basic/CustomerMapper.xml
+++ b/src/main/resources/mapper/basic/CustomerMapper.xml
@@ -126,24 +126,12 @@
<select id="customewTransactions" resultType="com.ruoyi.sales.vo.CustomerTransactionsVo">
select T1.customer_id,
c.customer_name,
- T1.contractAmounts - IFNULL(T4.returnAmount, 0) AS contractAmounts,
+ T1.contractAmounts AS contractAmounts,
IFNULL(T2.receiptPaymentAmount, 0) AS receiptPaymentAmount,
- IFNULL(T3.outboundAmount, 0) - IFNULL(T4.returnAmount, 0) AS receiptableAmount
+ T1.contractAmounts - (IFNULL(T2.receiptPaymentAmount, 0) - IFNULL(T4.returnAmount, 0)) AS receiptableAmount,
+ IFNULL(T4.returnAmount, 0) AS returnAmount
from (select customer_id, sum(contract_amount) as contractAmounts from sales_ledger group by customer_id) T1
left join (select customer_id, sum(collection_amount) as receiptPaymentAmount from account_sales_collection group by customer_id) T2 on T1.customer_id = T2.customer_id
- left join (
- SELECT
- sl.customer_id,
- sum(sor.stock_out_num * slp.tax_inclusive_unit_price) as outboundAmount
- FROM stock_out_record sor
- LEFT join shipping_info s on sor.record_id = s.id
- 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
- WHERE sor.record_type='13'
- and sor.approval_status=1
- and slp.type = 1
- group by sl.customer_id
- ) T3 on T3.customer_id=T1.customer_id
left join (
select
sl.customer_id,
@@ -167,9 +155,10 @@
select sl.id salesLedgerId,
sl.sales_contract_no,
sl.execution_date,
- sl.contract_amount - IFNULL(T3.returnAmount, 0) AS contract_amount,
+ sl.contract_amount AS contract_amount,
IFNULL(T1.receiptPaymentAmount, 0) AS receiptPaymentAmount,
- IFNULL(T2.outboundAmount, 0) - IFNULL(T3.returnAmount, 0) AS receiptableAmount
+ sl.contract_amount - (IFNULL(T1.receiptPaymentAmount, 0) - IFNULL(T3.returnAmount, 0)) AS receiptableAmount,
+ IFNULL(T3.returnAmount, 0) AS returnAmount
from sales_ledger sl
left join (
select
@@ -183,19 +172,6 @@
and sor.approval_status=1
group by sl.id
)T1 on T1.id = sl.id
- left join (
- SELECT
- sl.id,
- sum(sor.stock_out_num * slp.tax_inclusive_unit_price) as outboundAmount
- FROM stock_out_record sor
- left join shipping_info s on sor.record_id = s.id
- 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
- WHERE sor.record_type='13'
- and sor.approval_status=1
- and slp.type = 1
- group by sl.id
- )T2 on T2.id = sl.id
left join (
select sl.id,
sum(rm.refund_amount) as returnAmount
diff --git a/src/main/resources/mapper/basic/SupplierManageMapper.xml b/src/main/resources/mapper/basic/SupplierManageMapper.xml
index 810e137..56c6441 100644
--- a/src/main/resources/mapper/basic/SupplierManageMapper.xml
+++ b/src/main/resources/mapper/basic/SupplierManageMapper.xml
@@ -74,26 +74,10 @@
sm.supplier_name,
T1.contractAmounts,
IFNULL(T2.paymentAmount, 0) AS paymentAmount,
- IFNULL(T3.InboundAmount, 0) - IFNULL(T4.returnAmount, 0) AS payableAmount
+ T1.contractAmounts - (IFNULL(T2.paymentAmount, 0) - IFNULL(T4.returnAmount, 0)) AS payableAmount,
+ IFNULL(T4.returnAmount, 0) AS returnAmount
from (select supplier_id, sum(COALESCE(net_contract_amount, contract_amount)) as contractAmounts from purchase_ledger group by supplier_id) T1
left join (select supplier_id, sum(payment_amount) as paymentAmount from account_purchase_payment group by supplier_id) T2 on T1.supplier_id = T2.supplier_id
- left join (
- SELECT
- pl.supplier_id,
- sum(sir.stock_in_num * slp.tax_inclusive_unit_price) AS InboundAmount
- FROM stock_in_record sir
- -- 10 绫诲瀷鎵嶅叧鑱旇川妫�琛�
- LEFT JOIN quality_inspect qi ON sir.record_type = 10 AND sir.record_id = qi.id
- -- 鍔ㄦ�佸叧鑱旈噰璐紙鑷姩閫傞厤 7 鍜� 10锛�
- LEFT JOIN purchase_ledger pl
- ON pl.id = IF(sir.record_type = 7, sir.record_id, qi.purchase_ledger_id)
- -- 浜у搧鍏宠仈涓嶅姩
- LEFT JOIN sales_ledger_product slp ON pl.id = slp.sales_ledger_id
- -- 鏉′欢
- WHERE sir.approval_status = 1 AND slp.type = 2
- AND sir.record_type IN ('7','10')
- group by pl.supplier_id
- ) T3 on T3.supplier_id=T1.supplier_id
left join (
select
supplier_id,
@@ -116,7 +100,8 @@
pl.execution_date,
COALESCE(pl.net_contract_amount, pl.contract_amount) AS contract_amount,
IFNULL(T1.paymentAmount, 0) AS paymentAmount,
- IFNULL(T2.InboundAmount, 0) - IFNULL(T3.returnAmount, 0) AS payableAmount
+ COALESCE(pl.net_contract_amount, pl.contract_amount) - (IFNULL(T1.paymentAmount, 0) - IFNULL(T3.returnAmount, 0)) AS payableAmount,
+ IFNULL(T3.returnAmount, 0) AS returnAmount
from purchase_ledger pl
left join (
select
@@ -134,23 +119,6 @@
AND sir.record_type IN ('7','10')
group by pl.id
)T1 on T1.id = pl.id
- left join (
- SELECT
- pl.id,
- sum(sir.stock_in_num * slp.tax_inclusive_unit_price) AS InboundAmount
- FROM stock_in_record sir
- -- 10 绫诲瀷鎵嶅叧鑱旇川妫�琛�
- LEFT JOIN quality_inspect qi ON sir.record_type = 10 AND sir.record_id = qi.id
- -- 鍔ㄦ�佸叧鑱旈噰璐紙鑷姩閫傞厤 7 鍜� 10锛�
- LEFT JOIN purchase_ledger pl
- ON pl.id = IF(sir.record_type = 7, sir.record_id, qi.purchase_ledger_id)
- -- 浜у搧鍏宠仈涓嶅姩
- LEFT JOIN sales_ledger_product slp ON pl.id = slp.sales_ledger_id
- -- 鏉′欢
- WHERE sir.approval_status = 1 AND slp.type = 2
- AND sir.record_type IN ('7','10')
- group by pl.id
- )T2 on T2.id = pl.id
left join (
select pl.id,
sum(pro.total_amount) as returnAmount
--
Gitblit v1.9.3