From d1903c17568e1c373ca37a8baddbefbc330d12bf Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期一, 26 五月 2025 16:31:35 +0800 Subject: [PATCH] 开票台账功能修改 --- src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java | 38 +++++++++++++++++++++++++++++++++----- 1 files changed, 33 insertions(+), 5 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 b34d193..76c74ac 100644 --- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java +++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java @@ -1,25 +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; @@ -39,6 +42,9 @@ private PurchaseLedgerMapper purchaseLedgerMapper; + @Autowired + private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper; + @Override public SalesLedgerProduct selectSalesLedgerProductById(Long id) { return salesLedgerProductMapper.selectById(id); @@ -49,7 +55,29 @@ LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerProduct.getSalesLedgerId()) .eq(SalesLedgerProduct::getType, salesLedgerProduct.getType()); - return salesLedgerProductMapper.selectList(queryWrapper); + 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) { + int invoiceNum = 0; + BigDecimal invoiceAmount = BigDecimal.ZERO; + for (InvoiceRegistrationProductDto registrationProductDto : invoiceRegistrationProductDtoList) { + if(ledgerProduct.getId().intValue() == registrationProductDto.getSalesLedgerProductId()){ + invoiceNum += registrationProductDto.getInvoiceNum(); + invoiceAmount = invoiceAmount.add(registrationProductDto.getInvoiceAmount()); + } + } + ledgerProduct.setInvoiceNum(invoiceNum); + ledgerProduct.setInvoiceAmount(invoiceAmount); + } + } + + } + return salesLedgerProducts; } @Override -- Gitblit v1.9.3