From 4f2c9b54c8d0f358f3b7c6821f091a493b24e006 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 02 十二月 2025 11:16:53 +0800
Subject: [PATCH] 配置新增以及bug修改

---
 ycl-server/src/main/java/com/ycl/calculate/MonitorQualifyCalculation.java |   34 +++++++---------------------------
 1 files changed, 7 insertions(+), 27 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/calculate/MonitorQualifyCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/MonitorQualifyCalculation.java
index b832fb5..256f498 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/MonitorQualifyCalculation.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/MonitorQualifyCalculation.java
@@ -10,10 +10,8 @@
 import utils.DateUtils;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 璁$畻涓�鏈轰竴妗e悎鏍肩巼
@@ -39,8 +37,11 @@
 
     @Override
     public void calculate(List<MonitorQualifyResult> list) {
+        List<MonitorQualifyResult> validList = list.stream()
+                .filter(Objects::nonNull) // 杩囨护闆嗗悎涓殑 null 鍏冪礌
+                .collect(Collectors.toList());
         //鑾峰彇鍒嗗尯鍩熺殑鎸囨爣鏁伴噺
-        Map<String, MonitorQualifyCalculation.AreaStats> areaStatsMap = getAreaStatsMap(list);
+        Map<String, MonitorQualifyCalculation.AreaStats> areaStatsMap = getAreaStatsMap(validList,Boolean.TRUE);
         if (areaStatsMap == null) return;
 
         // 鏌ヨ鏄惁index琛ㄥ凡缁忓瓨鍦ㄤ粖鏃ユ暟鎹�
@@ -66,30 +67,9 @@
         //杩斿洖瀵硅薄鐨勫紩鐢紝濡傛灉涓嶅瓨鍦ㄤ細鏀惧叆鏂扮殑key,value
         AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats());
         stats.totalMonitors++;
-        if (result != null && correct(result)){
+        if (result != null && MonitorQualifyResult.correct(result)){
             stats.qualifyMonitor++;
         }
-    }
-    //鍏ㄥ杩攖ure
-    private boolean correct(MonitorQualifyResult result) {
-        return  checkError(result.getName()) &&
-                checkError(result.getCivilCode()) &&
-                checkError(result.getIp()) &&
-                checkError(result.getSerialNumber()) &&
-                checkError(result.getMacdz()) &&
-                checkError(result.getLatitude()) &&
-                checkError(result.getLongitude()) &&
-                checkError(result.getSbzt()) &&
-                checkError(result.getSxjcjqy()) &&
-                checkError(result.getSxjgnlx()) &&
-                checkError(result.getJkdwlx()) &&
-                checkError(result.getIntegrated_device())
-                ;
-    }
-
-    //妫�鏌ユ寚鏍囷紝姝e父杩斿洖true
-    private boolean checkError(MonitorQualifyResult.QualifyResult result) {
-        return  result.getError() != null && !result.getError();
     }
 
     /**

--
Gitblit v1.8.0