From 27e6bc3df3e39e0d0b147b155a89ad6837ea972b Mon Sep 17 00:00:00 2001
From: cjl <909710561@qq.com>
Date: Mon, 06 Jan 2025 09:19:24 +0800
Subject: [PATCH] Merge branch 'cjl' into dev

---
 screen-common/src/main/java/com/moral/util/ComprehensiveIndexUtils.java |   30 ++++++++++++++++++++++--------
 1 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/screen-common/src/main/java/com/moral/util/ComprehensiveIndexUtils.java b/screen-common/src/main/java/com/moral/util/ComprehensiveIndexUtils.java
index 7aae70f..8c9bc04 100644
--- a/screen-common/src/main/java/com/moral/util/ComprehensiveIndexUtils.java
+++ b/screen-common/src/main/java/com/moral/util/ComprehensiveIndexUtils.java
@@ -1,5 +1,7 @@
 package com.moral.util;
 
+import org.springframework.util.ObjectUtils;
+
 import java.util.*;
 
 /**
@@ -170,12 +172,17 @@
     public static Double dailyData(Map<String, Object> data) {
         if (data == null)
             return null;
-        Double CPM25 = (Double) data.get("pm2_5");
-        Double CPM10 = (Double) data.get("pm10");
-        Double CSO2 = (Double) data.get("so2");
-        Double CNO2 = (Double) data.get("no2");
-        Double CCO = (Double) data.get("co");
-        Double CO3 = (Double) data.get("o3");
+        Double CPM25 = Double.parseDouble(data.get("PM2_5").toString());
+        Double CPM10 = Double.parseDouble(data.get("PM10").toString());
+        Double CSO2 = Double.parseDouble(data.get("SO2").toString());
+        Double CNO2 = Double.parseDouble(data.get("NO2").toString());
+        Double CCO = Double.parseDouble(data.get("CO").toString());
+        Object o3 = data.get("O3");
+        Double CO3 = null;
+        if (!ObjectUtils.isEmpty(o3)) {
+            CO3 = Double.parseDouble(o3.toString());
+        }
+
         //S���������������������������������������(���������������CO������������������������������������������������O3���������������������������������������)
         //������������GB 3095-2012
         Double SSO2 = 60d;
@@ -190,15 +197,22 @@
         Double IPM25 = CPM25 / SPM25;
         Double IPM10 = CPM10 / SPM10;
         Double ICO = CCO / SCO;
-        Double IO3 = CO3 / SO3;
+        Double IO3 = null;
+        if (!ObjectUtils.isEmpty(CO3)) {
+            IO3 = CO3 / SO3;
+        }
+
         //������������������
         Double comprehensiveIndex = MathUtils.add(ISO2, INO2);
         comprehensiveIndex = MathUtils.add(comprehensiveIndex, IPM25);
         comprehensiveIndex = MathUtils.add(comprehensiveIndex, IPM10);
         comprehensiveIndex = MathUtils.add(comprehensiveIndex, ICO);
-        comprehensiveIndex = MathUtils.add(comprehensiveIndex, IO3);
+        if (!ObjectUtils.isEmpty(IO3)) {
+            comprehensiveIndex = MathUtils.add(comprehensiveIndex, IO3);
+        }
         comprehensiveIndex = AmendUtils.sciCal(comprehensiveIndex, 2);
         return comprehensiveIndex;
     }
 
+
 }

--
Gitblit v1.8.0