From edb9341847ad20dc8f46a69ee07cd8316d92442e Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 23 四月 2026 15:43:33 +0800
Subject: [PATCH] fix: 客户往来回款金额统计修改
---
src/main/resources/mapper/sales/InvoiceLedgerMapper.xml | 54 ++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 44 insertions(+), 10 deletions(-)
diff --git a/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml b/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
index 11d1538..61cc18b 100644
--- a/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
@@ -111,15 +111,32 @@
<select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
SELECT
- customer_id,
- T2.customer_name,
- SUM( invoice_amount ) invoiceAmount
- FROM
- invoice_ledger T1
- LEFT JOIN customer T2 ON T1.customer_id = T2.id
- GROUP BY
- customer_id,
- T2.customer_name;
+ T1.customer_id AS id,
+ T1.customer_name,
+ T1.invoice_total,
+ IFNULL(T2.receipt_payment_amount, 0) AS receipt_payment_amount,
+ IFNULL(T1.invoice_total - IFNULL(T2.receipt_payment_amount, 0), 0) AS unReceipt_payment_amount
+ FROM (
+ SELECT
+ customer_id,
+ customer_name,
+ SUM(contract_amount) AS invoice_total
+ FROM sales_ledger
+ GROUP BY customer_id, customer_name
+ ) T1
+ LEFT JOIN (
+ SELECT
+ T3.customer_id,
+ SUM(T2.receipt_payment_amount) AS receipt_payment_amount
+ FROM receipt_payment T2
+ LEFT JOIN sales_ledger T3 ON T3.id = T2.sales_ledger_id
+ GROUP BY T3.customer_id
+ ) T2 ON T1.customer_id = T2.customer_id
+ <where>
+ <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != '' ">
+ T1.customer_name LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%')
+ </if>
+ </where>
</select>
<select id="invoiceLedgerProductInfo" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">
@@ -160,5 +177,22 @@
WHERE T1.id = #{id}
</select>
+ <select id="invoicedTotal" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
+ SELECT
+ IFNULL(SUM(T1.invoice_total),0) AS invoice_total,
+ T2.sales_ledger_id
+ FROM
+ invoice_ledger T1
+ LEFT JOIN invoice_registration_product T2 ON T1.invoice_registration_product_id = T2.id
+ <where>
+ AND T2.sales_ledger_id IN
+ <foreach collection="salesLedgerIds" item="item" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </where>
+ GROUP BY
+ T2.sales_ledger_id
+ </select>
-</mapper>
\ No newline at end of file
+
+</mapper>
--
Gitblit v1.9.3