From fd60585939d3a45b01cae068684480b721ce2250 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 04 九月 2024 04:33:43 +0800
Subject: [PATCH] 视图库对接稳定性优化

---
 ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java |   23 +++++++++++------------
 1 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java
index d455e9e..fbf7d2a 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java
@@ -24,10 +24,7 @@
 import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.temporal.TemporalAdjusters;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -163,14 +160,16 @@
         if (stats.totalDataSum != 0) {
             Integer deptId = key.startsWith(ApiConstants.Province) ? Integer.parseInt(key.split("_")[1]) : Integer.parseInt(key);
             String dictKey = key.startsWith(ApiConstants.Province) ? ApiConstants.Province+AreaDeptEnum.fromDept(deptId).getCode() : ApiConstants.County+AreaDeptEnum.fromDept(deptId).getCode();
-            String value = carSnap.stream().filter(sysDictData -> sysDictData.getDictLabel().equals(dictKey)).findFirst().get().getDictValue();
-
-            Map<String, Object> viewConnectParam = new HashMap<>();
-            viewConnectParam.put("totalDataSum", stats.totalDataSum);
-            viewConnectParam.put("avgCount", new BigDecimal(value).multiply(new BigDecimal(CheckConstants.MultiplyNum)).divide(new BigDecimal(LocalDate.now().getDayOfMonth()), 0, RoundingMode.HALF_UP));
-            BigDecimal viewConnectStability = viewConnectStability(viewConnectParam);
-            viewConnectStability = viewConnectStability.subtract(new BigDecimal(deductScore)).max(BigDecimal.ZERO).min(BigDecimal.ONE);
-            checkIndexCar.setViewConnectStability(viewConnectStability);
+            Optional<SysDictData> first = carSnap.stream().filter(sysDictData -> sysDictData.getDictLabel().equals(dictKey)).findFirst();
+            if(first.isPresent()){
+                String value = first.get().getDictValue();
+                Map<String, Object> viewConnectParam = new HashMap<>();
+                viewConnectParam.put("totalDataSum", stats.totalDataSum);
+                viewConnectParam.put("avgCount", new BigDecimal(value).multiply(new BigDecimal(CheckConstants.MultiplyNum)).divide(new BigDecimal(LocalDate.now().getDayOfMonth()), 0, RoundingMode.HALF_UP));
+                BigDecimal viewConnectStability = viewConnectStability(viewConnectParam);
+                viewConnectStability = viewConnectStability.subtract(new BigDecimal(deductScore)).max(BigDecimal.ZERO).min(BigDecimal.ONE);
+                checkIndexCar.setViewConnectStability(viewConnectStability);
+            }
         } else {
             noDateCount++;
         }

--
Gitblit v1.8.0