From ab01a0f611c0adb97662bc8f548ca4a911ec8045 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期五, 06 六月 2025 17:37:39 +0800 Subject: [PATCH] 分页修改 --- src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java | 78 ++++++++++++++++++++++++++++++--------- 1 files changed, 60 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java index c397b9f..f2cac8e 100644 --- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java +++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java @@ -1,23 +1,28 @@ package com.ruoyi.sales.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.purchase.mapper.PurchaseLedgerMapper; +import com.ruoyi.purchase.pojo.PurchaseLedger; +import com.ruoyi.sales.dto.InvoiceRegistrationProductDto; +import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper; import com.ruoyi.sales.mapper.SalesLedgerMapper; import com.ruoyi.sales.mapper.SalesLedgerProductMapper; +import com.ruoyi.sales.pojo.InvoiceRegistrationProduct; import com.ruoyi.sales.pojo.SalesLedger; import com.ruoyi.sales.pojo.SalesLedgerProduct; import com.ruoyi.sales.service.ISalesLedgerProductService; import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.lang.reflect.Field; import java.math.BigDecimal; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; -import java.util.Set; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -35,6 +40,11 @@ private SalesLedgerMapper salesLedgerMapper; + private PurchaseLedgerMapper purchaseLedgerMapper; + + @Autowired + private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper; + @Override public SalesLedgerProduct selectSalesLedgerProductById(Long id) { return salesLedgerProductMapper.selectById(id); @@ -43,8 +53,31 @@ @Override public List<SalesLedgerProduct> selectSalesLedgerProductList(SalesLedgerProduct salesLedgerProduct) { LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId,salesLedgerProduct.getSalesLedgerId()); - return salesLedgerProductMapper.selectList(queryWrapper); + queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerProduct.getSalesLedgerId()) + .eq(SalesLedgerProduct::getType, salesLedgerProduct.getType()); + List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(queryWrapper); + if(!CollectionUtils.isEmpty(salesLedgerProducts)){ + InvoiceRegistrationProductDto invoiceRegistrationProductDto = new InvoiceRegistrationProductDto(); + invoiceRegistrationProductDto.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId().intValue()); + List<InvoiceRegistrationProductDto> invoiceRegistrationProductDtoList = invoiceRegistrationProductMapper.invoiceRegistrationProductList(invoiceRegistrationProductDto); + // 缁熻寮�绁ㄧ櫥璁颁骇鍝佺殑宸插紑绁ㄦ暟/宸插紑绁ㄩ噾棰� + if(!CollectionUtils.isEmpty(invoiceRegistrationProductDtoList)){ + for (SalesLedgerProduct ledgerProduct : salesLedgerProducts) { + BigDecimal invoiceNum = BigDecimal.ZERO; + BigDecimal invoiceAmount = BigDecimal.ZERO; + for (InvoiceRegistrationProductDto registrationProductDto : invoiceRegistrationProductDtoList) { + if(ledgerProduct.getId().intValue() == registrationProductDto.getSalesLedgerProductId()){ + invoiceNum = invoiceNum.add(registrationProductDto.getInvoiceNum()); + invoiceAmount = invoiceAmount.add(registrationProductDto.getInvoiceAmount()); + } + } + ledgerProduct.setInvoiceNum(invoiceNum); + ledgerProduct.setInvoiceAmount(invoiceAmount); + } + } + + } + return salesLedgerProducts; } @Override @@ -92,7 +125,6 @@ public int addOrUpdateSalesLedgerProduct(SalesLedgerProduct salesLedgerProduct) { int result; Long salesLedgerId = salesLedgerProduct.getSalesLedgerId(); - if (salesLedgerProduct.getId() == null) { result = salesLedgerProductMapper.insert(salesLedgerProduct); } else { @@ -103,19 +135,29 @@ if (result > 0 && salesLedgerId != null) { // 鏌ヨ璇ヤ富琛ㄤ笅鐨勬墍鏈夊瓙琛ㄦ暟鎹� LambdaQueryWrapper<SalesLedgerProduct> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerId); + wrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerId) + .eq(SalesLedgerProduct::getType, salesLedgerProduct.getType()); List<SalesLedgerProduct> productList = salesLedgerProductMapper.selectList(wrapper); - - // 璋冪敤閫氱敤鏂规硶鏇存柊涓昏〃閲戦 - updateMainContractAmount( - salesLedgerId, - productList, - SalesLedgerProduct::getTaxInclusiveTotalPrice, - salesLedgerMapper, - SalesLedger.class - ); + if (salesLedgerProduct.getType() == 1) { + // 璋冪敤閫氱敤鏂规硶鏇存柊涓昏〃閲戦 + updateMainContractAmount( + salesLedgerId, + productList, + SalesLedgerProduct::getTaxInclusiveTotalPrice, + salesLedgerMapper, + SalesLedger.class + ); + } else { + // 璋冪敤閫氱敤鏂规硶鏇存柊涓昏〃閲戦 + updateMainContractAmount( + salesLedgerId, + productList, + SalesLedgerProduct::getTaxInclusiveTotalPrice, + purchaseLedgerMapper, + PurchaseLedger.class + ); + } } - return result; } -- Gitblit v1.9.3