From 54bbbd62a3298e0671f8dd7aba0763775a4f733c Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期二, 27 十月 2026 13:14:02 +0800
Subject: [PATCH] fix(首页): 应收应付统计对 null 金额做保护,避免 BigDecimal.add(null) 抛 NPE 导致首页报“系统未知错误”
---
src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 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 c7ecbe9..d2ca447 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java
@@ -54,6 +54,8 @@
@Autowired
private SalesLedgerProductMapper salesLedgerProductMapper;
+ @Autowired
+ private CommonFileMapper commonFileMapper;
/**
* 寮�绁ㄥ彴璐︽柊澧�
@@ -81,7 +83,7 @@
InvoiceRegistrationProduct invoiceRegistrationProduct = invoiceRegistrationProductMapper.selectById(productDto.getId());
SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(invoiceRegistrationProduct.getSalesLedgerProductId());
- BigDecimal invoiceNum = productDto.getInvoiceTotal().divide(invoiceRegistrationProduct.getTaxInclusiveTotalPrice(), 2, BigDecimal.ROUND_HALF_UP);
+ BigDecimal invoiceNum = productDto.getInvoiceTotal().divide(invoiceRegistrationProduct.getTaxInclusiveUnitPrice(), 2, BigDecimal.ROUND_HALF_UP);
//璁$畻 鏈紑绁ㄦ暟/鏈紑绁ㄩ噾棰�
BigDecimal noInvoiceAmount = salesLedgerProduct.getNoInvoiceAmount().add(invoiceRegistrationProduct.getInvoiceAmount()).subtract(productDto.getInvoiceTotal());
BigDecimal noInvoiceNum = salesLedgerProduct.getNoInvoiceNum().add(invoiceRegistrationProduct.getInvoiceNum()).subtract(invoiceNum);
@@ -196,7 +198,7 @@
return invoiceLedgerExcelDto;
}).collect(Collectors.toList());
ExcelUtil<InvoiceLedgerExcelDto> util = new ExcelUtil<InvoiceLedgerExcelDto>(InvoiceLedgerExcelDto.class);
- util.exportExcel(response, invoiceLedgerExcelDtoList, "渚涘簲鍟嗗鍑�");
+ util.exportExcel(response, invoiceLedgerExcelDtoList, "寮�绁ㄥ彴璐�");
}
/**
@@ -303,9 +305,13 @@
@Override
public IPage<InvoiceRegistrationProductDto> registrationProductPage(Page page, InvoiceRegistrationProductDto registrationProductDto) {
IPage<InvoiceRegistrationProductDto> invoiceRegistrationProductDtoIPage = invoiceRegistrationProductMapper.invoiceRegistrationProductPage(page, registrationProductDto);
- if (registrationProductDto.getStatus()) {
+ if (Boolean.TRUE.equals(registrationProductDto.getStatus())) {
invoiceRegistrationProductDtoIPage.getRecords().removeIf(invoiceRegistrationProduct -> !StringUtils.isEmpty(invoiceRegistrationProduct.getInvoiceNo()));
}
+ invoiceRegistrationProductDtoIPage.getRecords().forEach(invoiceRegistrationProductDto -> {
+ invoiceRegistrationProductDto.setCommonFiles(invoiceLedgerFileMapper.selectList(new QueryWrapper<InvoiceLedgerFile>().lambda()
+ .eq(InvoiceLedgerFile::getInvoiceLedgerId, invoiceRegistrationProductDto.getInvoiceLedgerId())));
+ });
return invoiceRegistrationProductDtoIPage;
}
@@ -393,7 +399,7 @@
int index = -1;
for (int i = 0; i < invoiceRegistrationProductList.size(); i++) {
InvoiceRegistrationProduct currentInvoiceRegProduct = invoiceRegistrationProductList.get(i);
- if(invoiceRegistrationProduct.getId() == currentInvoiceRegProduct.getId()){
+ if(invoiceRegistrationProduct.getId().equals(currentInvoiceRegProduct.getId())){
index = i;
}
}
--
Gitblit v1.9.3