From b99df87ebbcc65028e3986ad9bb7ac046658abde Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 22 四月 2026 14:43:04 +0800
Subject: [PATCH] feat(mapper): 供应商往来和客户往来计算统计问题
---
src/main/resources/mapper/sales/InvoiceLedgerMapper.xml | 38 +++++++++++++++++++++++---------------
1 files changed, 23 insertions(+), 15 deletions(-)
diff --git a/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml b/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
index 5454640..8dd95e2 100644
--- a/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
@@ -110,20 +110,28 @@
</select>
<select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
- SELECT
- T1.customer_id as id,
- T1.customer_name,
- SUM(contract_amount) AS invoice_total,
- IFNULL( SUM(T2.receipt_payment_amount) , 0 ) AS receipt_payment_amount,
- IFNULL((IFNULL(SUM(contract_amount),0) - IFNULL(SUM(T2.receipt_payment_amount),0)),0) AS unReceipt_payment_amount
- FROM sales_ledger T1
- LEFT JOIN receipt_payment T2 ON T1.id = T2.sales_ledger_id
- <where>
- <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != '' ">
- T1.customer_name LIKE CONCAT ('%',#{invoiceLedgerDto.searchText},'%')
- </if>
- </where>
- GROUP BY T1.customer_name,t1.customer_id
+ SELECT
+ T1.customer_id AS id,
+ T1.customer_name,
+ SUM(T1.contract_amount) AS invoice_total,
+ IFNULL(SUM(T2.receipt_payment_amount), 0) AS receipt_payment_amount,
+ IFNULL(SUM(T1.contract_amount) - IFNULL(SUM(T2.receipt_payment_amount), 0), 0) AS unReceipt_payment_amount
+FROM (
+ SELECT id,customer_id, customer_name, SUM(contract_amount) contract_amount
+ FROM sales_ledger
+ GROUP BY customer_id, customer_name
+) T1
+LEFT JOIN (
+ SELECT sales_ledger_id, SUM(receipt_payment_amount) receipt_payment_amount
+ FROM receipt_payment
+ GROUP BY sales_ledger_id
+) T2 ON T1.id = T2.sales_ledger_id
+<where>
+ <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != '' ">
+ T1.customer_name LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%')
+ </if>
+</where>
+GROUP BY T1.customer_id, T1.customer_name
</select>
<select id="invoiceLedgerProductInfo" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">
@@ -182,4 +190,4 @@
</select>
-</mapper>
\ No newline at end of file
+</mapper>
--
Gitblit v1.9.3