From 892e590cf8c579a235db630ddbe31a59930420af Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期四, 05 六月 2025 10:13:29 +0800
Subject: [PATCH] 付款登记功能开发

---
 src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 insertions(+), 2 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 c9d189f..f007f6e 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -9,7 +9,9 @@
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.other.mapper.TempFileMapper;
 import com.ruoyi.other.pojo.TempFile;
+import com.ruoyi.purchase.dto.PaymentRegistrationDto;
 import com.ruoyi.purchase.dto.TicketRegistrationDto;
+import com.ruoyi.purchase.mapper.PaymentRegistrationMapper;
 import com.ruoyi.purchase.mapper.ProductRecordMapper;
 import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
 import com.ruoyi.purchase.mapper.TicketRegistrationMapper;
@@ -24,6 +26,7 @@
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.FilenameUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -66,6 +69,9 @@
 
     private final ProductRecordMapper productRecordMapper;
 
+    @Autowired
+    private PaymentRegistrationMapper paymentRegistrationMapper;
+
     @Value("${file.upload-dir}")
     private String uploadDir;
 
@@ -78,7 +84,26 @@
                     .like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierName())
                     .eq(TicketRegistration::getIssueDate, ticketRegistration.getIssueDate());
         }
-        return ticketRegistrationMapper.selectList(queryWrapper);
+        List<TicketRegistration> ticketRegistrationList = ticketRegistrationMapper.selectList(queryWrapper);
+        // 璁$畻宸蹭粯娆鹃噾棰�
+        if(CollectionUtils.isNotEmpty(ticketRegistrationList)){
+            List<Long> ids = ticketRegistrationList.stream().map(TicketRegistration::getId).collect(Collectors.toList());
+            List<PaymentRegistrationDto> paymentRegistrationDtoList = paymentRegistrationMapper.countPaymentTotalByTicketRegId(ids);
+            for (TicketRegistration registration : ticketRegistrationList) {
+                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);
+                        break;
+                    }
+                }
+            }
+        }
+
+        return ticketRegistrationList;
     }
 
     @Override
@@ -275,7 +300,6 @@
                 product.setFutureTickets(
                         product.getQuantity()
                                 .subtract(BigDecimal.valueOf(product.getTicketsNum()))
-                                .longValueExact() // 浣跨敤 exact 鏂规硶纭繚鏃犲皬鏁伴儴鍒�
                 );
 
                 // 璁$畻 futureTicketsAmount

--
Gitblit v1.9.3