From 5152cb7b7ef6157b28d2d625a5571ae151fe43de Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期六, 12 七月 2025 15:01:22 +0800
Subject: [PATCH] 销售台账产品修改时候数量和开票数更新
---
src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
index 5ac4159..8853bb0 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);
+
}
}
}
@@ -175,14 +178,17 @@
List<Long> salesLedgerIds = iPage.getRecords().stream().map(SalesLedger::getId).collect(Collectors.toList());
List<InvoiceLedgerDto> invoiceLedgerDtoList = invoiceLedgerMapper.invoicedTotal(salesLedgerIds);
if(CollectionUtils.isEmpty(invoiceLedgerDtoList)){
+ iPage.setTotal(iPage.getRecords().size());
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()) {
noInvoiceAmountTotal = salesLedger.getContractAmount().subtract(invoiceLedgerDto.getInvoiceTotal());
+ invoiceTotal = invoiceLedgerDto.getInvoiceTotal();
existFlag = true;
break;
}
@@ -192,7 +198,14 @@
}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")));
+ }
+ }
+ iPage.setTotal(iPage.getRecords().size());
return iPage;
}
}
--
Gitblit v1.9.3