From 387ba6085841fe6765827c57e4cb125d4af515ef Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期五, 27 六月 2025 10:55:57 +0800 Subject: [PATCH] 2025-06-27 销售台账添加付款方式,新增开票时保存开票时间和录入人 --- src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java index 43db757..f4ce895 100644 --- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java +++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java @@ -1,6 +1,7 @@ package com.ruoyi.sales.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; @@ -22,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -63,6 +65,7 @@ if (salesLedger.getId().intValue() == invoiceLedgerDto.getSalesLedgerId()) { BigDecimal noInvoiceAmountTotal = salesLedger.getContractAmount().subtract(invoiceLedgerDto.getInvoiceTotal()); salesLedger.setNoInvoiceAmountTotal(noInvoiceAmountTotal); + } } } @@ -178,12 +181,28 @@ return iPage; } for (SalesLedger salesLedger : iPage.getRecords()) { + boolean existFlag = false; + BigDecimal noInvoiceAmountTotal = BigDecimal.ZERO; + BigDecimal invoiceTotal = BigDecimal.ZERO; for (InvoiceLedgerDto invoiceLedgerDto : invoiceLedgerDtoList) { if (salesLedger.getId().intValue() == invoiceLedgerDto.getSalesLedgerId()) { - BigDecimal noInvoiceAmountTotal = salesLedger.getContractAmount().subtract(invoiceLedgerDto.getInvoiceTotal()); - salesLedger.setNoInvoiceAmountTotal(noInvoiceAmountTotal); + noInvoiceAmountTotal = salesLedger.getContractAmount().subtract(invoiceLedgerDto.getInvoiceTotal()); + invoiceTotal = invoiceLedgerDto.getInvoiceTotal(); + existFlag = true; + break; } } + if(existFlag){ + salesLedger.setNoInvoiceAmountTotal(noInvoiceAmountTotal); + }else { + salesLedger.setNoInvoiceAmountTotal(salesLedger.getContractAmount()); + } + salesLedger.setInvoiceTotal(invoiceTotal); + } + if (ObjectUtils.isNotEmpty(salesLedgerDto.getStatus())) { + if (salesLedgerDto.getStatus()) { + iPage.getRecords().removeIf(salesLedger -> Objects.equals(salesLedger.getNoInvoiceAmountTotal(), new BigDecimal("0.00"))); + } } return iPage; } -- Gitblit v1.9.3