From e83d4cecece6e8677392229e996dea22bbe2d1e9 Mon Sep 17 00:00:00 2001 From: yaowanxin <3588231647@qq.com> Date: 星期二, 24 六月 2025 18:05:47 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 70 ++++++++++++++++++++++++++--------- 1 files changed, 52 insertions(+), 18 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 a1272c3..9ec44e8 100644 --- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java +++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java @@ -3,8 +3,11 @@ 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.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.enums.FileNameType; +import com.ruoyi.common.enums.SalesLedgerType; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; @@ -12,6 +15,7 @@ import com.ruoyi.other.mapper.TempFileMapper; import com.ruoyi.other.pojo.TempFile; import com.ruoyi.purchase.dto.PaymentRegistrationDto; +import com.ruoyi.purchase.dto.PurchaseLedgerDto; import com.ruoyi.purchase.dto.TicketRegistrationDto; import com.ruoyi.purchase.mapper.PaymentRegistrationMapper; import com.ruoyi.purchase.mapper.ProductRecordMapper; @@ -25,6 +29,8 @@ import com.ruoyi.sales.mapper.SalesLedgerProductMapper; 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; @@ -72,6 +78,9 @@ private final ProductRecordMapper productRecordMapper; @Autowired + private ISalesLedgerProductService salesLedgerProductService; + + @Autowired private PaymentRegistrationMapper paymentRegistrationMapper; @Value("${file.upload-dir}") @@ -88,13 +97,13 @@ } List<TicketRegistration> ticketRegistrationList = ticketRegistrationMapper.selectList(queryWrapper); // 璁$畻宸蹭粯娆鹃噾棰� - if(CollectionUtils.isNotEmpty(ticketRegistrationList)){ + 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) { BigDecimal paymentAmountTotal = BigDecimal.ZERO; for (PaymentRegistrationDto paymentRegistrationDto : paymentRegistrationDtoList) { - if(registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())){ + if (registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())) { paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal(); break; } @@ -138,13 +147,13 @@ // 6. 澧炲姞閲囪喘鍙拌处浜у搧寮�绁ㄨ褰� List<SalesLedgerProduct> salesLedgerProducts = ticketRegistrationDto.getProductData(); - if (CollectionUtils.isNotEmpty(salesLedgerProducts)){ + if (CollectionUtils.isNotEmpty(salesLedgerProducts)) { for (SalesLedgerProduct salesLedgerProduct : salesLedgerProducts) { ProductRecord productRecord = new ProductRecord(); productRecord.setTicketRegistrationId(ticketRegistration.getId()); productRecord.setPurchaseLedgerId(ticketRegistrationDto.getPurchaseLedgerId()); productRecord.setCreatedAt(DateUtils.getNowDate()); - BeanUtils.copyProperties(salesLedgerProduct,productRecord); + BeanUtils.copyProperties(salesLedgerProduct, productRecord); productRecord.setId(null); productRecord.setType("2"); productRecordMapper.insert(productRecord); @@ -257,8 +266,8 @@ @Override public List getTicketNo(TicketRegistrationDto ticketRegistrationDto) { LambdaQueryWrapper<TicketRegistration> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.select(TicketRegistration::getId,TicketRegistration::getInvoiceNumber,TicketRegistration::getInvoiceAmount) - .eq(TicketRegistration::getPurchaseLedgerId,ticketRegistrationDto.getId()); + queryWrapper.select(TicketRegistration::getId, TicketRegistration::getInvoiceNumber, TicketRegistration::getInvoiceAmount) + .eq(TicketRegistration::getPurchaseLedgerId, ticketRegistrationDto.getId()); List<Map<String, Object>> result = ticketRegistrationMapper.selectMaps(queryWrapper); // 灏嗕笅鍒掔嚎鍛藉悕杞崲涓洪┘宄板懡鍚� return result.stream().map(map -> map.entrySet().stream() @@ -273,18 +282,20 @@ 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()); + .like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierName()); + } + 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"))); } IPage<TicketRegistration> ticketRegistrationIPage = ticketRegistrationMapper.selectPage(page, queryWrapper); // 璁$畻宸蹭粯娆鹃噾棰� - if(CollectionUtils.isNotEmpty(ticketRegistrationIPage.getRecords())){ + 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())){ + if (registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())) { paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal(); break; } @@ -295,8 +306,30 @@ registration.setUnPaymentAmountTotal(subtractAmount); } } + if (!ObjectUtils.isEmpty(ticketRegistration.getStatus())) { + if (ticketRegistration.getStatus()) { + ticketRegistrationIPage.getRecords().removeIf(receiptPaymentDto1 -> new BigDecimal("0.00").equals(receiptPaymentDto1.getUnPaymentAmountTotal())); + } + } return ticketRegistrationIPage; + } + + @Override + public PurchaseLedgerDto getPuargeById(Long id) { + PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(id); + PurchaseLedgerDto purchaseLedgerDto = new PurchaseLedgerDto(); + BeanUtils.copyProperties(purchaseLedger, purchaseLedgerDto); + SalesLedgerProduct salesLedgerProduct = new SalesLedgerProduct(); + salesLedgerProduct.setSalesLedgerId(id); + salesLedgerProduct.setType(SalesLedgerType.SALES_LEDGER_TYPE_SALES_LEDGER.getValue()); + List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductService.selectSalesLedgerProductList(salesLedgerProduct); + purchaseLedgerDto.setProductData(salesLedgerProducts); + List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>() + .eq(CommonFile::getType, FileNameType.PURCHASELEDGER.getValue()) + .eq(CommonFile::getCommonId, id)); + purchaseLedgerDto.setSalesLedgerFiles(commonFiles); + return purchaseLedgerDto; } private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) { @@ -331,16 +364,17 @@ } // 璁$畻 futureTickets锛堢洿鎺ヤ娇鐢� BigDecimal 璁$畻锛岄伩鍏嶇簿搴︿涪澶憋級 - product.setFutureTickets( - product.getQuantity() - .subtract(product.getTicketsNum()) - ); +// product.setFutureTickets( +// product.getQuantity() +// .subtract(product.getTicketsNum()) +// ); + // 璁$畻 futureTicketsAmount - product.setFutureTicketsAmount( - product.getTaxInclusiveTotalPrice() - .subtract(product.getTicketsAmount()) - ); +// product.setFutureTicketsAmount( +// product.getTaxInclusiveTotalPrice() +// .subtract(product.getTicketsAmount()) +// ); product.setType(type); salesLedgerProductMapper.updateById(product); }); -- Gitblit v1.9.3