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