src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
@@ -2,6 +2,7 @@ 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.extension.plugins.pagination.Page; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; @@ -24,6 +25,7 @@ import java.io.IOException; import java.math.BigDecimal; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; /** @@ -192,15 +194,27 @@ */ @GetMapping("/listPage") public AjaxResult listPage(Page page, PurchaseLedgerDto purchaseLedger) { IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = purchaseLedgerService.selectPurchaseLedgerListPage(page ,purchaseLedger); //过滤掉approvalStatus=3的记录 purchaseLedgerDtoIPage.getRecords().removeIf(purchaseLedgerDto -> purchaseLedgerDto.getApprovalStatus() == 3); purchaseLedgerDtoIPage.getRecords().forEach(purchaseLedgerDto -> { if (purchaseLedgerDto.getUnReceiptPaymentAmount().compareTo(BigDecimal.ZERO) == 0) { purchaseLedgerDto.setUnReceiptPaymentAmount(purchaseLedgerDto.getContractAmount()); } }); return AjaxResult.success(purchaseLedgerDtoIPage); IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = Optional.ofNullable( purchaseLedgerService.selectPurchaseLedgerListPage(page, purchaseLedger) ).orElse(new Page<>()); // 处理null Optional.ofNullable(purchaseLedgerDtoIPage.getRecords()) .filter(CollectionUtils::isNotEmpty) .ifPresent(records -> { // 过滤approvalStatus=3的记录 records.removeIf(dto -> dto != null && dto.getApprovalStatus() == 3); // 修正未收付款金额 records.forEach(dto -> { if (dto == null) return; BigDecimal unReceiptAmt = Optional.ofNullable(dto.getUnReceiptPaymentAmount()).orElse(BigDecimal.ZERO); if (unReceiptAmt.compareTo(BigDecimal.ZERO) == 0) { dto.setUnReceiptPaymentAmount(Optional.ofNullable(dto.getContractAmount()).orElse(BigDecimal.ZERO)); } }); }); return AjaxResult.success(purchaseLedgerDtoIPage); } @ApiOperation("生成采购序列号") src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -1,6 +1,7 @@ package com.ruoyi.purchase.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; @@ -29,6 +30,7 @@ import com.ruoyi.sales.mapper.CommonFileMapper; import com.ruoyi.sales.mapper.SalesLedgerProductMapper; import com.ruoyi.sales.pojo.CommonFile; import com.ruoyi.sales.pojo.InvoiceRegistrationProduct; import com.ruoyi.sales.pojo.SalesLedgerProduct; import com.ruoyi.sales.service.ISalesLedgerProductService; import lombok.RequiredArgsConstructor; @@ -162,6 +164,14 @@ productRecord.setPurchaseLedgerId(ticketRegistrationDto.getPurchaseLedgerId()); productRecord.setCreatedAt(DateUtils.getNowDate()); BeanUtils.copyProperties(salesLedgerProduct, productRecord); //同步更新其他剩余数量和金额 productRecordMapper.update( null, new LambdaUpdateWrapper<ProductRecord>() .eq(ProductRecord::getPurchaseLedgerId, ticketRegistrationDto.getPurchaseLedgerId()) .set(ProductRecord::getFutureTickets, salesLedgerProduct.getFutureTickets()) .set(ProductRecord::getFutureTicketsAmount, salesLedgerProduct.getFutureTicketsAmount()) ); productRecord.setSaleLedgerProjectId(salesLedgerProduct.getId()); productRecord.setId(null); productRecord.setType("2"); src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
@@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -70,6 +72,13 @@ invoiceAmountTotal = invoiceAmountTotal.add(currentInvoiceNum); InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct(); BeanUtils.copyProperties(productDatum, invoiceRegistrationProduct); //更新已开票剩余未开票数 invoiceRegistrationProductMapper.update( null, new LambdaUpdateWrapper<InvoiceRegistrationProduct>() .eq(InvoiceRegistrationProduct::getSalesLedgerId, salesLedgerDto.getId()) .set(InvoiceRegistrationProduct::getNoInvoiceAmount, productDatum.getNoInvoiceAmount()) ); invoiceRegistrationProduct.setId(null); invoiceRegistrationProduct.setSalesLedgerId(salesLedgerDto.getId().intValue()); invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId());