From 573e11132bd4a404934c03f9fd0802200e2ccd30 Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期四, 03 九月 2026 08:59:57 +0800
Subject: [PATCH] feat: 报表新版式(上累计+下当月)与导入校验增强、I004 保护 + 09-02 测试文档

---
 traffic-audit-server/src/main/java/com/trafficaudit/auditengine/service/AuditEngineService.java |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/service/AuditEngineService.java b/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/service/AuditEngineService.java
index 29bffc1..8d16e0c 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/service/AuditEngineService.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/service/AuditEngineService.java
@@ -631,6 +631,8 @@
                     .eq(InvestmentSystem::getReportPeriod, reportPeriod))) {
             sysMap.computeIfAbsent(normInvestName(s.getProjectName()), k -> new ArrayList<>()).add(s);
         }
+        // 鍚屾姤琛ㄦ湡鎶曡祫绯荤粺鍩哄噯鏁存湡缂哄け鏃讹紝涓嶅仛"椤圭洰缂哄け鏍稿疄"锛堢己澶�=鍩哄噯鏈鍏ワ紝涓嶇瓑浜庨」鐩笉瀛樺湪锛夛紝閬垮厤鏁磋〃璇姤
+        boolean benchmarkMissing = sysMap.isEmpty();
 
         // 骞傜瓑锛氬彧娓呴櫎 INVEST 瑙勫垯鐨勬棫瀹℃牳缁撴灉
         List<Long> ruleIds = new ArrayList<>();
@@ -647,6 +649,7 @@
             String projectName = project == null ? "鏈煡椤圭洰" : project.getProjectName();
             InvestmentSystem sys = findInvestSystem(sysMap, projectName);
             for (AuditRule rule : rules) {
+                if (benchmarkMissing && "EXISTENCE_SYS".equals(rule.getCompareType())) continue;
                 AuditResult result = checkInvestRule(rule, monthly, projectName, sys);
                 if (result != null) {
                     result.setRuleName(rule.getRuleName());
@@ -1538,6 +1541,7 @@
             case "RULE_I001":
             case "RULE_I002":
             case "RULE_I003":
+            case "RULE_I004":
                 return investSystemMapper.selectCount(new LambdaQueryWrapper<InvestmentSystem>()
                     .eq(InvestmentSystem::getReportPeriod, period)) == 0;
             default:
@@ -2021,4 +2025,4 @@
         result.setStatus("PENDING");
         return result;
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.9.1