From 1b5604f8a88000e2f51d4c989fd179989468ee67 Mon Sep 17 00:00:00 2001 From: yaowanxin <3588231647@qq.com> Date: 星期一, 11 八月 2025 09:48:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/pim_yys' into pim_ywx --- src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 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..a6e152e 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); @@ -324,9 +329,13 @@ @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()); + if (StringUtils.isNotBlank(ticketRegistration.getSupplierNameOrContractNo())) { + queryWrapper.and(wrapper -> wrapper + .like(TicketRegistration::getPurchaseContractNumber, ticketRegistration.getSupplierNameOrContractNo()) + .or() + .like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierNameOrContractNo()) + .or() + .like(TicketRegistration::getSalesContractNo, ticketRegistration.getSupplierNameOrContractNo())); } if (!ObjectUtils.isEmpty(ticketRegistration.getIssueDateStart()) && !ObjectUtils.isEmpty(ticketRegistration.getIssueDateEnd())) { queryWrapper.between(TicketRegistration::getIssueDate, LocalDate.parse(ticketRegistration.getIssueDateStart(), DateTimeFormatter.ofPattern("yyyy-MM-dd")), LocalDate.parse(ticketRegistration.getIssueDateEnd(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))); @@ -354,6 +363,7 @@ if (ticketRegistration.getStatus()) { ticketRegistrationIPage.getRecords().removeIf(receiptPaymentDto1 -> new BigDecimal("0.00").equals(receiptPaymentDto1.getUnPaymentAmountTotal())); + ticketRegistrationIPage.setTotal(ticketRegistrationIPage.getRecords().size()); } } return ticketRegistrationIPage; @@ -376,6 +386,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