From 53bdb26a0ae994418e92d93aab23d6f5e7225f37 Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期一, 19 五月 2025 16:20:56 +0800 Subject: [PATCH] 产品 --- src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 56 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java index 298f44a..2fc0eb7 100644 --- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java +++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java @@ -5,15 +5,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.basic.dto.SupplierManageDto; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.vo.FileVo; import com.ruoyi.sales.dto.InvoiceLedgerDto; import com.ruoyi.sales.excel.InvoiceLedgerExcelDto; import com.ruoyi.sales.mapper.InvoiceLedgerFileMapper; import com.ruoyi.sales.mapper.InvoiceLedgerMapper; +import com.ruoyi.sales.mapper.ReceiptPaymentMapper; import com.ruoyi.sales.pojo.InvoiceLedger; import com.ruoyi.sales.pojo.InvoiceLedgerFile; +import com.ruoyi.sales.pojo.ReceiptPayment; import com.ruoyi.sales.service.InvoiceLedgerService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; @@ -26,8 +27,11 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; -import java.util.Collections; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.YearMonth; import java.util.List; +import java.util.Objects; import java.util.UUID; import java.util.stream.Collectors; @@ -42,6 +46,9 @@ @Autowired private InvoiceLedgerFileMapper invoiceLedgerFileMapper; + + @Autowired + private ReceiptPaymentMapper receiptPaymentMapper; /** * 寮�绁ㄥ彴璐︽柊澧� @@ -210,4 +217,51 @@ return invoiceLedgerMapper.invoiceLedgerList(invoiceLedgerDto); } + /** + * 瀹㈡埛閿�鍞褰� + * @param page + * @param invoiceLedgerDto + * @return + */ + @Override + public IPage<InvoiceLedgerDto> invoiceLedgerSalesAccount(Page page, InvoiceLedgerDto invoiceLedgerDto) { + IPage<InvoiceLedgerDto> invoiceLedgerDtoIPage = invoiceLedgerMapper.invoiceLedgerSalesAccount(page, invoiceLedgerDto); + for (InvoiceLedgerDto record : invoiceLedgerDtoIPage.getRecords()) { + QueryWrapper<ReceiptPayment> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("customer_id", record.getCustomerId()); + List<ReceiptPayment> receiptPaymentList = receiptPaymentMapper.selectList(queryWrapper); + BigDecimal totalAmount = BigDecimal.ZERO; + if(!CollectionUtils.isEmpty(receiptPaymentList)){ + for (ReceiptPayment receiptPayment : receiptPaymentList) { + totalAmount = totalAmount.add(receiptPayment.getInvoiceAmount()); + } + } + BigDecimal unReceiptPaymentAmount = record.getInvoiceAmount().subtract(totalAmount); + record.setReceiptPaymentAmount(totalAmount); + record.setUnReceiptPaymentAmount(unReceiptPaymentAmount); + } + return invoiceLedgerDtoIPage; + } + + @Override + public BigDecimal getInvoiceAmount() { + LocalDate now = LocalDate.now(); + YearMonth currentMonth = YearMonth.from(now); + + // 鍒涘缓LambdaQueryWrapper + LambdaQueryWrapper<InvoiceLedger> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.ge(InvoiceLedger::getInvoiceDate, currentMonth.atDay(1).atStartOfDay()) // 澶т簬绛変簬鏈湀绗竴澶� + .lt(InvoiceLedger::getInvoiceDate, currentMonth.plusMonths(1).atDay(1).atStartOfDay()); // 灏忎簬涓嬫湀绗竴澶� + + // 鎵ц鏌ヨ骞惰绠楁�诲拰 + List<InvoiceLedger> invoiceLedgers = invoiceLedgerMapper.selectList(queryWrapper); + + BigDecimal totalContractAmount = invoiceLedgers.stream() + .map(InvoiceLedger::getInvoiceAmount) + .filter(Objects::nonNull) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + return totalContractAmount; + } + } -- Gitblit v1.9.3