From a0224894fcc89500a701f39ccaf4322a03231ff6 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Fri, 25 Feb 2022 16:48:28 +0800
Subject: [PATCH] screen-api 增加达标天数分析接口
---
screen-api/src/main/java/com/moral/api/pojo/vo/cityAQI/ComplianceDaysVO.java | 246 +++++++++++++++++++++++++++
screen-common/src/main/java/com/moral/util/AQIUtils.java | 37 ++++
screen-api/src/main/java/com/moral/api/service/CityAqiYearlyService.java | 10 +
screen-api/src/main/java/com/moral/api/pojo/dto/cityAQI/ComplianceDaysDTO.java | 55 ++++++
screen-api/src/main/java/com/moral/api/controller/AqiController.java | 27 +-
screen-api/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java | 157 +++++++++++++++++
6 files changed, 520 insertions(+), 12 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/controller/AqiController.java b/screen-api/src/main/java/com/moral/api/controller/AqiController.java
index f89d725..087cc14 100644
--- a/screen-api/src/main/java/com/moral/api/controller/AqiController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/AqiController.java
@@ -2,15 +2,9 @@
import com.moral.api.config.properties.SpecialCitiesProperties;
import com.moral.api.entity.SysArea;
-import com.moral.api.pojo.dto.cityAQI.CityPollutionLevel;
-import com.moral.api.pojo.dto.cityAQI.ConcentrationAndPercent;
-import com.moral.api.pojo.dto.cityAQI.DataPercentRange;
-import com.moral.api.pojo.dto.cityAQI.MonthlyPollutionLevel;
+import com.moral.api.pojo.dto.cityAQI.*;
import com.moral.api.pojo.form.aqi.*;
-import com.moral.api.pojo.vo.cityAQI.AirQualityComparisonVO;
-import com.moral.api.pojo.vo.cityAQI.BarChartOfPollutionLevelVO;
-import com.moral.api.pojo.vo.cityAQI.BarChartTableOfPollutionLevelVO;
-import com.moral.api.pojo.vo.cityAQI.PieChartOfPollutionLevelVO;
+import com.moral.api.pojo.vo.cityAQI.*;
import com.moral.api.service.CityAqiDailyService;
import com.moral.api.service.CityAqiYearlyService;
@@ -47,6 +41,10 @@
private CityAqiService cityAqiService;
@Autowired
private CityAqiDailyService cityAqiDailyService;
+ @Autowired
+ SpecialCitiesProperties specialCitiesProperties;
+ @Autowired
+ CityAqiYearlyService cityAqiYearlyService;
@GetMapping("compareO3")
@ApiOperation(value = "���������������������������", notes = "���������������������������")
@@ -282,10 +280,6 @@
return ResultMessage.ok(datas);
}
- @Autowired
- SpecialCitiesProperties specialCitiesProperties;
- @Autowired
- CityAqiYearlyService cityAqiYearlyService;
/**
* @Description: ������������������������
* @Param: [year, cityCode]
@@ -302,4 +296,13 @@
return ResultMessage.ok(result);
}
+ @GetMapping("queryComplianceDaysAnalysis")
+ public ResultMessage queryComplianceDaysAnalysis( String year, Integer cityCode){
+ if(year==null||cityCode==null)
+ return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+ ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+ List<ComplianceDaysDTO> dtos = cityAqiYearlyService.analysisComplianceDays(year, cityCode);
+ return ResultMessage.ok(ComplianceDaysVO.convert(dtos));
+ }
+
}
diff --git a/screen-api/src/main/java/com/moral/api/pojo/dto/cityAQI/ComplianceDaysDTO.java b/screen-api/src/main/java/com/moral/api/pojo/dto/cityAQI/ComplianceDaysDTO.java
new file mode 100644
index 0000000..cada042
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/pojo/dto/cityAQI/ComplianceDaysDTO.java
@@ -0,0 +1,55 @@
+package com.moral.api.pojo.dto.cityAQI;
+
+import lombok.Data;
+
+/**
+ * @ClassName
+ * @Description TODO
+ * @Author ���������
+ * @Date 2022/2/25 15:14
+ * @Version TODO
+ **/
+@Data
+public class ComplianceDaysDTO {
+
+ //������
+ int month;
+
+ //aqi������������
+ int aqiComplianceDays;
+
+ //������aqi������������
+ int comAqiComplianceDays;
+
+ //aqi���������
+ double aqiCompliancePer;
+
+ //������aqi���������
+ double comAqiCompliancePer;
+
+ //PM2.5������������������
+ int PM2_5Days;
+
+ int PM10Days;
+
+ int SO2Days;
+
+ int NO2Days;
+
+ int CODays;
+
+ int O3Days;
+
+ //PM2.5������������������
+ int PM2_5FirstDays;
+
+ int PM10FirstDays;
+
+ int SO2FirstDays;
+
+ int NO2FirstDays;
+
+ int COFirstDays;
+
+ int O3FirstDays;
+}
diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/cityAQI/ComplianceDaysVO.java b/screen-api/src/main/java/com/moral/api/pojo/vo/cityAQI/ComplianceDaysVO.java
new file mode 100644
index 0000000..fa4d80f
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/pojo/vo/cityAQI/ComplianceDaysVO.java
@@ -0,0 +1,246 @@
+package com.moral.api.pojo.vo.cityAQI;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.moral.api.pojo.dto.cityAQI.ComplianceDaysDTO;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName
+ * @Description TODO
+ * @Author ���������
+ * @Date 2022/2/25 15:14
+ * @Version TODO
+ **/
+@JsonPropertyOrder(value={"month","aqiComplianceDays","comAqiComplianceDays","aqiCompliancePer","comAqiCompliancePer", "PM2_5Days","PM10Days","SO2Days","NO2Days","CODays","O3Days", "PM2_5FirstDays","PM10FirstDays","SO2FirstDays","NO2FirstDays","COFirstDays","O3FirstDays"})
+public class ComplianceDaysVO {
+
+ //������
+ String month;
+
+ //aqi������������
+ String aqiComplianceDays;
+
+ //������aqi������������
+ String comAqiComplianceDays;
+
+ //aqi���������
+ String aqiCompliancePer;
+
+ //������aqi���������
+ String comAqiCompliancePer;
+
+ //PM2.5������������������
+ String PM2_5Days;
+
+ String PM10Days;
+
+ String SO2Days;
+
+ String NO2Days;
+
+ String CODays;
+
+ String O3Days;
+
+ //PM2.5������������������
+ String PM2_5FirstDays;
+
+ String PM10FirstDays;
+
+ String SO2FirstDays;
+
+ String NO2FirstDays;
+
+ String COFirstDays;
+
+ String O3FirstDays;
+
+ public static List<ComplianceDaysVO> convert(List<ComplianceDaysDTO> dtos){
+ List<ComplianceDaysVO> vos = new ArrayList<>();
+ for (ComplianceDaysDTO dto : dtos) {
+ ComplianceDaysVO vo = new ComplianceDaysVO();
+
+ int month = dto.getMonth();
+ if(month<10)
+ vo.setMonth("0"+month+"���");
+ else
+ vo.setMonth(month+"���");
+
+ vo.setAqiComplianceDays(dto.getAqiComplianceDays()+" ���");
+ vo.setComAqiComplianceDays(dto.getComAqiComplianceDays()+" ���");
+ vo.setAqiCompliancePer(dto.getAqiCompliancePer()+"%");
+ vo.setComAqiCompliancePer(dto.getComAqiCompliancePer()+"%");
+ vo.setPM2_5Days(dto.getPM2_5Days()+" ���");
+ vo.setPM10Days(dto.getPM10Days()+" ���");
+ vo.setNO2Days(dto.getNO2Days()+" ���");
+ vo.setSO2Days(dto.getSO2Days()+" ���");
+ vo.setCODays(dto.getCODays()+" ���");
+ vo.setO3Days(dto.getO3Days()+" ���");
+
+ vo.setPM2_5FirstDays(dto.getPM2_5FirstDays()+" ���");
+ vo.setPM10FirstDays(dto.getPM10FirstDays()+" ���");
+ vo.setNO2FirstDays(dto.getNO2FirstDays()+" ���");
+ vo.setSO2FirstDays(dto.getSO2FirstDays()+" ���");
+ vo.setCOFirstDays(dto.getCOFirstDays()+" ���");
+ vo.setO3FirstDays(dto.getO3FirstDays()+" ���");
+ vos.add(vo);
+ }
+ return vos;
+ }
+
+ public String getMonth() {
+ return month;
+ }
+
+ public void setMonth(String month) {
+ this.month = month;
+ }
+
+ public String getAqiComplianceDays() {
+ return aqiComplianceDays;
+ }
+
+ public void setAqiComplianceDays(String aqiComplianceDays) {
+ this.aqiComplianceDays = aqiComplianceDays;
+ }
+
+ public String getComAqiComplianceDays() {
+ return comAqiComplianceDays;
+ }
+
+ public void setComAqiComplianceDays(String comAqiComplianceDays) {
+ this.comAqiComplianceDays = comAqiComplianceDays;
+ }
+
+ public String getAqiCompliancePer() {
+ return aqiCompliancePer;
+ }
+
+ public void setAqiCompliancePer(String aqiCompliancePer) {
+ this.aqiCompliancePer = aqiCompliancePer;
+ }
+
+ public String getComAqiCompliancePer() {
+ return comAqiCompliancePer;
+ }
+
+ public void setComAqiCompliancePer(String comAqiCompliancePer) {
+ this.comAqiCompliancePer = comAqiCompliancePer;
+ }
+
+ @JsonProperty("PM2_5Days")
+ public String getPM2_5Days() {
+ return PM2_5Days;
+ }
+
+ public void setPM2_5Days(String PM2_5Days) {
+ this.PM2_5Days = PM2_5Days;
+ }
+
+ @JsonProperty("PM10Days")
+ public String getPM10Days() {
+ return PM10Days;
+ }
+
+ public void setPM10Days(String PM10Days) {
+ this.PM10Days = PM10Days;
+ }
+
+ @JsonProperty("SO2Days")
+ public String getSO2Days() {
+ return SO2Days;
+ }
+
+ public void setSO2Days(String SO2Days) {
+ this.SO2Days = SO2Days;
+ }
+
+ @JsonProperty("NO2Days")
+ public String getNO2Days() {
+ return NO2Days;
+ }
+
+ public void setNO2Days(String NO2Days) {
+ this.NO2Days = NO2Days;
+ }
+
+ @JsonProperty("CODays")
+ public String getCODays() {
+ return CODays;
+ }
+
+ public void setCODays(String CODays) {
+ this.CODays = CODays;
+ }
+
+ @JsonProperty("O3Days")
+ public String getO3Days() {
+ return O3Days;
+ }
+
+ public void setO3Days(String o3Days) {
+ O3Days = o3Days;
+ }
+
+ @JsonProperty("PM2_5FirstDays")
+ public String getPM2_5FirstDays() {
+ return PM2_5FirstDays;
+ }
+
+ public void setPM2_5FirstDays(String PM2_5FirstDays) {
+ this.PM2_5FirstDays = PM2_5FirstDays;
+ }
+
+ @JsonProperty("PM10FirstDays")
+ public String getPM10FirstDays() {
+ return PM10FirstDays;
+ }
+
+ public void setPM10FirstDays(String PM10FirstDays) {
+ this.PM10FirstDays = PM10FirstDays;
+ }
+
+ @JsonProperty("SO2FirstDays")
+ public String getSO2FirstDays() {
+ return SO2FirstDays;
+ }
+
+ public void setSO2FirstDays(String SO2FirstDays) {
+ this.SO2FirstDays = SO2FirstDays;
+ }
+
+ @JsonProperty("NO2FirstDays")
+ public String getNO2FirstDays() {
+ return NO2FirstDays;
+ }
+
+ public void setNO2FirstDays(String NO2FirstDays) {
+ this.NO2FirstDays = NO2FirstDays;
+ }
+
+ @JsonProperty("COFirstDays")
+ public String getCOFirstDays() {
+ return COFirstDays;
+ }
+
+ public void setCOFirstDays(String COFirstDays) {
+ this.COFirstDays = COFirstDays;
+ }
+
+ @JsonProperty("O3FirstDays")
+ public String getO3FirstDays() {
+ return O3FirstDays;
+ }
+
+ public void setO3FirstDays(String o3FirstDays) {
+ O3FirstDays = o3FirstDays;
+ }
+
+ public ComplianceDaysVO() {
+ }
+}
diff --git a/screen-api/src/main/java/com/moral/api/service/CityAqiYearlyService.java b/screen-api/src/main/java/com/moral/api/service/CityAqiYearlyService.java
index 6475990..2711271 100644
--- a/screen-api/src/main/java/com/moral/api/service/CityAqiYearlyService.java
+++ b/screen-api/src/main/java/com/moral/api/service/CityAqiYearlyService.java
@@ -2,6 +2,7 @@
import com.moral.api.entity.CityAqiYearly;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.pojo.dto.cityAQI.ComplianceDaysDTO;
import com.moral.api.pojo.dto.cityAQI.DataPercentRange;
import java.util.Date;
@@ -34,4 +35,13 @@
* @Date: 2022/2/11
*/
Map<String, DataPercentRange> analysisPollutionLevel(String year, Integer cityCode);
+
+ /**
+ * @Description: ������������������������
+ * @Param: [year, cityCode]
+ * @return: java.util.List<com.moral.api.pojo.dto.cityAQI.ComplianceDaysDTO>
+ * @Author: ���������
+ * @Date: 2022/2/25
+ */
+ List<ComplianceDaysDTO> analysisComplianceDays(String year, Integer cityCode);
}
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java
index 1fec4d8..1eca5b8 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java
@@ -1,6 +1,7 @@
package com.moral.api.service.impl;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.config.properties.SpecialCitiesProperties;
import com.moral.api.entity.CityAqi;
@@ -9,12 +10,15 @@
import com.moral.api.entity.SysArea;
import com.moral.api.mapper.CityAqiYearlyMapper;
import com.moral.api.pojo.dto.cityAQI.CityPollutionLevel;
+import com.moral.api.pojo.dto.cityAQI.ComplianceDaysDTO;
import com.moral.api.pojo.dto.cityAQI.DataPercentRange;
+import com.moral.api.pojo.vo.cityAQI.ComplianceDaysVO;
import com.moral.api.service.CityAqiDailyService;
import com.moral.api.service.CityAqiYearlyService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.service.SysAreaService;
import com.moral.constant.Constants;
+import com.moral.util.AQIUtils;
import com.moral.util.AmendUtils;
import com.moral.util.DateUtils;
import com.moral.util.MathUtils;
@@ -23,6 +27,7 @@
import org.springframework.util.ObjectUtils;
import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -95,6 +100,144 @@
return null;
return result;
}
+
+ @Override
+ public List<ComplianceDaysDTO> analysisComplianceDays(String year, Integer cityCode) {
+ List<ComplianceDaysDTO> dtos = new ArrayList<>();
+ //������������������������������������
+ Date posYear = DateUtils.getDate(year, "yyyy");
+ Date posYearStartDate = DateUtils.getFirstDayOfYear(posYear);
+ Date posYearEndDate = DateUtils.getLastDayOfYear(posYear);
+ //������������������������������������
+ String comYearStr = (Integer.parseInt(year)-1)+"";
+ Date comYear = DateUtils.getDate(comYearStr,"yyyy");
+ Date comYearStartDate = DateUtils.getFirstDayOfYear(comYear);
+ Date comYearEndDate = DateUtils.getLastDayOfYear(comYear);
+ //������������������������������������
+ List<CityAqiDaily> posYearDatas = cityAqiDailyService.getCityAqiDailyByRegionCodeAndTime(cityCode, posYearStartDate, posYearEndDate);
+ List<CityAqiDaily> comYearDatas = cityAqiDailyService.getCityAqiDailyByRegionCodeAndTime(cityCode, comYearStartDate, comYearEndDate);
+ //������������������������������
+ int month = maxMonth(posYearDatas);
+ if(month==0)
+ return dtos;
+ //������������������������������
+ for (int i = 1; i <= month; i++) {
+ ComplianceDaysDTO dto = analysisComplianceDaysForMonth(posYearDatas, comYearDatas, i);
+ dtos.add(dto);
+ }
+ return dtos;
+ }
+
+ //������������������������������������������������
+ private ComplianceDaysDTO analysisComplianceDaysForMonth(List<CityAqiDaily> posYearDatas,
+ List<CityAqiDaily> comYearDatas,
+ int month){
+ ComplianceDaysDTO dto = new ComplianceDaysDTO();
+ //������������������������
+ List<CityAqiDaily> posMonthDatas = new ArrayList<>();
+ List<CityAqiDaily> comMonthDatas = new ArrayList<>();
+ for (CityAqiDaily posYearData : posYearDatas) {
+ Date time = posYearData.getTime();
+ if(DateUtils.getMonth(time)==month)
+ posMonthDatas.add(posYearData);
+ }
+ for (CityAqiDaily comYearData : comYearDatas) {
+ Date time = comYearData.getTime();
+ if(DateUtils.getMonth(time)==month)
+ comMonthDatas.add(comYearData);
+ }
+ //���������������������������������������
+ for (CityAqiDaily posMonthData : posMonthDatas) {
+ //������������
+ Map<String,String> dataMap = JSON.parseObject(posMonthData.getValue(),Map.class);
+ String aqi = String.valueOf(dataMap.get("AQI"));
+ String PM2_5 = String.valueOf(dataMap.get("PM2_5"));
+ String PM10 = String.valueOf(dataMap.get("PM10"));
+ String SO2 = String.valueOf(dataMap.get("SO2"));
+ String NO2 = String.valueOf(dataMap.get("NO2"));
+ String O3 = String.valueOf(dataMap.get("O3"));
+ String CO = String.valueOf(dataMap.get("CO"));
+ //������aqi������6������������������
+ if(aqi!=null){
+ if(AQIUtils.aqiIsStandard(Integer.parseInt(aqi)))
+ dto.setAqiComplianceDays(dto.getAqiComplianceDays()+1);
+ }
+ if(PM2_5!=null){
+ if(!AQIUtils.PM2_5IsStandard(Double.parseDouble(PM2_5)))
+ dto.setPM2_5Days(dto.getPM2_5Days()+1);
+ }
+ if(PM10!=null){
+ if(!AQIUtils.PM10IsStandard(Double.parseDouble(PM10)))
+ dto.setPM10Days(dto.getPM10Days()+1);
+ }
+ if(SO2!=null){
+ if(!AQIUtils.SO2IsStandard(Double.parseDouble(SO2)))
+ dto.setSO2Days(dto.getSO2Days()+1);
+ }
+ if(NO2!=null){
+ if(!AQIUtils.NO2IsStandard(Double.parseDouble(NO2)))
+ dto.setNO2Days(dto.getNO2Days()+1);
+ }
+ if(O3!=null){
+ if(!AQIUtils.O3IsStandard(Double.parseDouble(O3)))
+ dto.setO3Days(dto.getO3Days()+1);
+ }
+ if(CO!=null){
+ if(!AQIUtils.COIsStandard(Double.parseDouble(CO)))
+ dto.setCODays(dto.getCODays()+1);
+ }
+ //���������������������
+ Object primaryPollutantO = dataMap.get("primaryPollutant");
+ if(primaryPollutantO!=null){
+ JSONArray primaryPollutantArray = (JSONArray) primaryPollutantO;
+ List<String> primaryPollutant = JSON.parseObject(primaryPollutantArray.toJSONString(),List.class);
+ for (String s : primaryPollutant) {
+ if(s.equals("PM2.5"))
+ dto.setPM2_5FirstDays(dto.getPM2_5FirstDays()+1);
+ if(s.equals("PM10"))
+ dto.setPM10FirstDays(dto.getPM10FirstDays()+1);
+ if(s.equals("SO2"))
+ dto.setSO2FirstDays(dto.getSO2FirstDays()+1);
+ if(s.equals("NO2"))
+ dto.setNO2FirstDays(dto.getNO2FirstDays()+1);
+ if(s.equals("CO"))
+ dto.setCOFirstDays(dto.getCOFirstDays()+1);
+ if(s.equals("O3"))
+ dto.setO3FirstDays(dto.getO3FirstDays()+1);
+ }
+ }
+ }
+ //������������������������
+ for (CityAqiDaily comMonthData : comMonthDatas) {
+ //������������
+ Map<String,String> dataMap = JSON.parseObject(comMonthData.getValue(),Map.class);
+ String aqi = String.valueOf(dataMap.get("AQI"));
+ //������aqi������������
+ if(aqi!=null){
+ if(AQIUtils.aqiIsStandard(Integer.parseInt(aqi)))
+ dto.setComAqiComplianceDays(dto.getComAqiComplianceDays()+1);
+ }
+ }
+ //������������������������������������������
+ Double posAqiComplianceDays = Double.parseDouble(dto.getAqiComplianceDays()+"");
+ Double posDays = Double.parseDouble(posMonthDatas.size()+"");
+ Double comAqiComplianceDays = Double.parseDouble(dto.getComAqiComplianceDays()+"");
+ Double comDays = Double.parseDouble(comMonthDatas.size()+"");
+ if(posDays==0d)
+ dto.setAqiCompliancePer(0d);
+ else
+ dto.setAqiCompliancePer(MathUtils.division(posAqiComplianceDays*100,posDays,2));
+
+ if(comDays==0d)
+ dto.setComAqiCompliancePer(0d);
+ else
+ dto.setComAqiCompliancePer(MathUtils.division(comAqiComplianceDays*100,comDays,2));
+
+ dto.setMonth(month);
+ return dto;
+ }
+
+
//������������������������������������������28���������������������������������
@@ -449,5 +592,19 @@
return DateUtils.dateToDateString(new Date(), "yyyy").equals(year);
}
+ //������������������������������
+ private int maxMonth( List<CityAqiDaily> datas){
+ int i = 0;
+ for (CityAqiDaily data : datas) {
+ Date time = data.getTime();
+ int month = DateUtils.getMonth(time);
+ if(month>i)
+ i = month;
+ }
+ return i;
+ }
+
+
+
}
diff --git a/screen-common/src/main/java/com/moral/util/AQIUtils.java b/screen-common/src/main/java/com/moral/util/AQIUtils.java
index 4bad0e2..982af88 100644
--- a/screen-common/src/main/java/com/moral/util/AQIUtils.java
+++ b/screen-common/src/main/java/com/moral/util/AQIUtils.java
@@ -24,6 +24,43 @@
/*���������������������*/
private static Double[] IAQI_Array = new Double[]{0d,50d,100d,150d,200d,300d,400d,500d};
+ //������aqi������������
+ public static boolean aqiIsStandard(int aqi){
+ if(aqi<=100)
+ return true;
+ return false;
+ }
+ public static boolean PM2_5IsStandard(Double pm2_5){
+ if(pm2_5<=75)
+ return true;
+ return false;
+ }
+ public static boolean PM10IsStandard(Double pm10){
+ if(pm10<=150)
+ return true;
+ return false;
+ }
+ public static boolean SO2IsStandard(Double so2){
+ if(so2<=500)
+ return true;
+ return false;
+ }
+ public static boolean NO2IsStandard(Double no2){
+ if(no2<=80)
+ return true;
+ return false;
+ }
+ public static boolean COIsStandard(Double co){
+ if(co<=4)
+ return true;
+ return false;
+ }
+ public static boolean O3IsStandard(Double o3){
+ if(o3<=200)
+ return true;
+ return false;
+ }
+
/**
* @Description: ������AQI���������������������������������������
* @Param:
--
Gitblit v1.8.0