From 64a91dc0c19b32a3f04380eb8401e9dd0987714f Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期一, 14 七月 2025 17:23:22 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/pim_yys' --- src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 18 +++++++++++++++--- 1 files changed, 15 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 b01fdc2..7e76aa9 100644 --- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java +++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java @@ -30,7 +30,6 @@ import com.ruoyi.sales.pojo.CommonFile; import com.ruoyi.sales.pojo.SalesLedgerProduct; import com.ruoyi.sales.service.ISalesLedgerProductService; -import com.ruoyi.sales.service.impl.SalesLedgerProductServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FilenameUtils; @@ -265,8 +264,14 @@ // 淇敼浜у搧淇℃伅 for (ProductRecord productRecord : productRecords) { - ticketRegistrations.get(0).setInvoiceAmount(ticketRegistrations.get(0).getInvoiceAmount().subtract(productRecords.get(0).getTicketsAmount())); - ticketRegistrationMapper.updateById(ticketRegistrations.get(0)); + BigDecimal subtract = ticketRegistrations.get(0).getInvoiceAmount().subtract(productRecords.get(0).getTicketsAmount()); + // 灏忎簬绛変簬0鍒犻櫎 锛屽ぇ浜�0淇敼 + if(subtract.compareTo(BigDecimal.ZERO) <= 0){ + ticketRegistrationMapper.deleteById(ticketRegistrations.get(0)); + }else if(subtract.compareTo(BigDecimal.ZERO) > 0){ + ticketRegistrations.get(0).setInvoiceAmount(subtract); + ticketRegistrationMapper.updateById(ticketRegistrations.get(0)); + } LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductLambdaQueryWrapper = new LambdaQueryWrapper<>(); salesLedgerProductLambdaQueryWrapper.eq(SalesLedgerProduct::getId, productRecord.getSaleLedgerProjectId()) .eq(SalesLedgerProduct::getType, 2); @@ -354,6 +359,7 @@ if (ticketRegistration.getStatus()) { ticketRegistrationIPage.getRecords().removeIf(receiptPaymentDto1 -> new BigDecimal("0.00").equals(receiptPaymentDto1.getUnPaymentAmountTotal())); + ticketRegistrationIPage.setTotal(ticketRegistrationIPage.getRecords().size()); } } return ticketRegistrationIPage; @@ -376,6 +382,12 @@ return purchaseLedgerDto; } + @Override + public List<PaymentRegistrationDto> getPaymentRegistrationDtoById(Long id) { + List<PaymentRegistrationDto> paymentRegistrationDtos =purchaseLedgerMapper.getPaymentRegistrationDtoById(id); + return paymentRegistrationDtos; + } + private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) { if (products == null || products.isEmpty()) { return; -- Gitblit v1.9.3