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