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/home/service/impl/HomeServiceImpl.java | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
index ad6ca2f..01c296a 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -377,25 +377,25 @@
// .ge(SalesLedger::getEntryDate, startDate)
// .lt(SalesLedger::getEntryDate, endDate)
);
- BigDecimal receivableMoney = salesLedgers.stream().map(SalesLedger::getContractAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal receivableMoney = salesLedgers.stream().map(x -> x.getContractAmount() == null ? BigDecimal.ZERO : x.getContractAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
// 搴斾粯
List<PurchaseLedger> procurementRecords = purchaseLedgerMapper.selectList(new LambdaQueryWrapper<PurchaseLedger>()
// .ge(PurchaseLedger::getEntryDate, startDate)
// .lt(PurchaseLedger::getEntryDate, endDate)
);
- BigDecimal payableMoney = procurementRecords.stream().map(PurchaseLedger::getContractAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal payableMoney = procurementRecords.stream().map(x -> x.getContractAmount() == null ? BigDecimal.ZERO : x.getContractAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
// 棰勬敹
List<ReceiptPayment> receiptPayments = receiptPaymentMapper.selectList(new LambdaQueryWrapper<ReceiptPayment>()
// .ge(ReceiptPayment::getReceiptPaymentDate, startDate)
// .lt(ReceiptPayment::getReceiptPaymentDate, endDate)
);
- BigDecimal advanceMoney = receiptPayments.stream().map(ReceiptPayment::getReceiptPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal advanceMoney = receiptPayments.stream().map(x -> x.getReceiptPaymentAmount() == null ? BigDecimal.ZERO : x.getReceiptPaymentAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
// 棰勪粯
List<PaymentRegistration> paymentRegistrations = paymentRegistrationMapper.selectList(new LambdaQueryWrapper<PaymentRegistration>()
// .ge(PaymentRegistration::getPaymentDate, startDate)
// .lt(PaymentRegistration::getPaymentDate, endDate)
);
- BigDecimal prepayMoney = paymentRegistrations.stream().map(PaymentRegistration::getCurrentPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal prepayMoney = paymentRegistrations.stream().map(x -> x.getCurrentPaymentAmount() == null ? BigDecimal.ZERO : x.getCurrentPaymentAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
StatisticsReceivablePayableDto statisticsReceivablePayableDto = new StatisticsReceivablePayableDto();
statisticsReceivablePayableDto.setPayableMoney(payableMoney.subtract(prepayMoney));
statisticsReceivablePayableDto.setReceivableMoney(receivableMoney.subtract(advanceMoney));
--
Gitblit v1.9.3