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/common/handler/CustomTenantLineHandler.java | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/handler/CustomTenantLineHandler.java b/src/main/java/com/ruoyi/common/handler/CustomTenantLineHandler.java
index d8b2b69..f6b13da 100644
--- a/src/main/java/com/ruoyi/common/handler/CustomTenantLineHandler.java
+++ b/src/main/java/com/ruoyi/common/handler/CustomTenantLineHandler.java
@@ -9,6 +9,7 @@
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
import java.util.Set;
@@ -17,12 +18,26 @@
@Override
public Expression getTenantId() {
- Integer tenantId = SecurityUtils.getLoginUser().getTenantId();
- return new LongValue(tenantId);
+ try {
+ Long tenantId = SecurityUtils.getLoginUser().getTenantId();
+ return new LongValue(tenantId);
+ } catch (Exception e) {
+ return null;
+ }
}
+
+ /**
+ * 绾跨▼绾т复鏃跺拷鐣ュ紑鍏筹細鏌愪簺 insert 鍦烘櫙涓� jsqlparser 瑙f瀽浼氭姏
+ * ClassCastException: SetOperationList cannot be cast to PlainSelect锛�
+ * 鍙湪璇ョ嚎绋嬪唴涓存椂璺宠繃绉熸埛鎻掍欢锛坱enant_id 鐢� MybatisHandler 鑷姩濉厖淇濊瘉锛夈��
+ */
+ public static final ThreadLocal<Boolean> TEMP_IGNORE = new ThreadLocal<>();
@Override
public boolean ignoreTable(String tableName) {
+ if (Boolean.TRUE.equals(TEMP_IGNORE.get())) {
+ return true;
+ }
// 鎸囧畾涓嶉渶瑕佹坊鍔犺繃婊ゆ潯浠剁殑琛�
Set<String> ignoreTables = IgnoreTableConfig.IGNORE_TABLES;
return ignoreTables.contains(tableName);
--
Gitblit v1.9.3