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

---
 src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 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 d7c512e..a1272c3 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -1,7 +1,9 @@
 package com.ruoyi.purchase.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
@@ -266,6 +268,37 @@
         ).collect(Collectors.toList());
     }
 
+    @Override
+    public IPage<TicketRegistration> selectTicketRegistrationListPage(Page page, TicketRegistration ticketRegistration) {
+        LambdaQueryWrapper<TicketRegistration> queryWrapper = new LambdaQueryWrapper<>();
+        if (StringUtils.isNotBlank(ticketRegistration.getPurchaseContractNumber())) {
+            queryWrapper.like(TicketRegistration::getPurchaseContractNumber, ticketRegistration.getPurchaseContractNumber())
+                    .like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierName())
+                    .eq(TicketRegistration::getIssueDate, ticketRegistration.getIssueDate());
+        }
+        IPage<TicketRegistration> ticketRegistrationIPage = ticketRegistrationMapper.selectPage(page, queryWrapper);
+        // 璁$畻宸蹭粯娆鹃噾棰�
+        if(CollectionUtils.isNotEmpty(ticketRegistrationIPage.getRecords())){
+            List<Long> ids = ticketRegistrationIPage.getRecords().stream().map(TicketRegistration::getId).collect(Collectors.toList());
+            List<PaymentRegistrationDto> paymentRegistrationDtoList = paymentRegistrationMapper.countPaymentTotalByTicketRegId(ids);
+            for (TicketRegistration registration : ticketRegistrationIPage.getRecords()) {
+                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 ticketRegistrationIPage;
+    }
+
     private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) {
         if (products == null || products.isEmpty()) {
             return;

--
Gitblit v1.9.3