From d241b67a5728d4f2bb0d33e4921229a4bf15e250 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期四, 05 六月 2025 14:11:42 +0800 Subject: [PATCH] 付款登记功能开发 --- src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 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..bba3bdf 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 @@ -274,8 +299,7 @@ // 璁$畻 futureTickets锛堢洿鎺ヤ娇鐢� BigDecimal 璁$畻锛岄伩鍏嶇簿搴︿涪澶憋級 product.setFutureTickets( product.getQuantity() - .subtract(BigDecimal.valueOf(product.getTicketsNum())) - .longValueExact() // 浣跨敤 exact 鏂规硶纭繚鏃犲皬鏁伴儴鍒� + .subtract(product.getTicketsNum()) ); // 璁$畻 futureTicketsAmount -- Gitblit v1.9.3