From 4afb279afec6c0a6684f88529d68057ad709b870 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期四, 05 六月 2025 16:33:10 +0800
Subject: [PATCH] 客户往来bug修复

---
 src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java |   11 ++++++-----
 src/main/resources/mapper/sales/InvoiceLedgerMapper.xml                          |    4 ++--
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
index bba3bdf..d7c512e 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -90,16 +90,17 @@
             List<Long> ids = ticketRegistrationList.stream().map(TicketRegistration::getId).collect(Collectors.toList());
             List<PaymentRegistrationDto> paymentRegistrationDtoList = paymentRegistrationMapper.countPaymentTotalByTicketRegId(ids);
             for (TicketRegistration registration : ticketRegistrationList) {
+                BigDecimal paymentAmountTotal = BigDecimal.ZERO;
                 for (PaymentRegistrationDto paymentRegistrationDto : paymentRegistrationDtoList) {
                     if(registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())){
-                        BigDecimal paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal();
-                        BigDecimal invoiceAmount = registration.getInvoiceAmount();
-                        registration.setPaymentAmountTotal(paymentAmountTotal);
-                        BigDecimal subtractAmount = invoiceAmount.subtract(paymentAmountTotal);
-                        registration.setUnPaymentAmountTotal(subtractAmount);
+                        paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal();
                         break;
                     }
                 }
+                BigDecimal invoiceAmount = registration.getInvoiceAmount();
+                BigDecimal subtractAmount = invoiceAmount.subtract(paymentAmountTotal);
+                registration.setPaymentAmountTotal(paymentAmountTotal);
+                registration.setUnPaymentAmountTotal(subtractAmount);
             }
         }
 
diff --git a/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml b/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
index 8a33701..117a512 100644
--- a/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
@@ -113,8 +113,8 @@
         SELECT
             T4.id,T4.customer_name ,
             SUM(invoice_total) AS invoice_total,
-            IFNULL( T5.receipt_payment_amount , 0 ) AS receipt_payment_amount,
-            (invoice_total - receipt_payment_amount) AS unReceipt_payment_amount
+            IFNULL( SUM(T5.receipt_payment_amount) , 0 ) AS receipt_payment_amount,
+            (SUM(invoice_total)  - SUM(T5.receipt_payment_amount)) AS unReceipt_payment_amount
         FROM
             invoice_ledger T1
                 LEFT JOIN invoice_registration_product T2 ON T1.invoice_registration_product_id = T2.id

--
Gitblit v1.9.3