From 3e03f3d957c44ff2e4909b9fb4fff8621d466d10 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期五, 06 六月 2025 17:05:23 +0800
Subject: [PATCH] 分页修改

---
 src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java |   31 ++++++++++++++++++++++++++++---
 1 files changed, 28 insertions(+), 3 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..d7c512e 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,27 @@
                     .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) {
+                BigDecimal paymentAmountTotal = BigDecimal.ZERO;
+                for (PaymentRegistrationDto paymentRegistrationDto : paymentRegistrationDtoList) {
+                    if(registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())){
+                        paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal();
+                        break;
+                    }
+                }
+                BigDecimal invoiceAmount = registration.getInvoiceAmount();
+                BigDecimal subtractAmount = invoiceAmount.subtract(paymentAmountTotal);
+                registration.setPaymentAmountTotal(paymentAmountTotal);
+                registration.setUnPaymentAmountTotal(subtractAmount);
+            }
+        }
+
+        return ticketRegistrationList;
     }
 
     @Override
@@ -274,8 +300,7 @@
                 // 璁$畻 futureTickets锛堢洿鎺ヤ娇鐢� BigDecimal 璁$畻锛岄伩鍏嶇簿搴︿涪澶憋級
                 product.setFutureTickets(
                         product.getQuantity()
-                                .subtract(BigDecimal.valueOf(product.getTicketsNum()))
-                                .longValueExact() // 浣跨敤 exact 鏂规硶纭繚鏃犲皬鏁伴儴鍒�
+                                .subtract(product.getTicketsNum())
                 );
 
                 // 璁$畻 futureTicketsAmount

--
Gitblit v1.9.3