From 8a4fccc993cbef14b83443d91e51e9b74664eab5 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 10 Aug 2020 11:18:46 +0800
Subject: [PATCH] update
---
src/main/resources/mapper/MonitorPointMapper.xml | 4 +-
src/main/resources/mapper/RealWeatherMapper.xml | 2
src/main/resources/mapper/HangzhouAqiMapper.xml | 9 ++--
src/main/java/com/moral/mapper/DeviceMapper.java | 2
src/main/java/com/moral/service/impl/WeatherServiceImpl.java | 93 +++++++++++++++++++++++-----------------------
5 files changed, 54 insertions(+), 56 deletions(-)
diff --git a/src/main/java/com/moral/mapper/DeviceMapper.java b/src/main/java/com/moral/mapper/DeviceMapper.java
index 1daae12..99b1786 100644
--- a/src/main/java/com/moral/mapper/DeviceMapper.java
+++ b/src/main/java/com/moral/mapper/DeviceMapper.java
@@ -55,7 +55,7 @@
List<Device> selectDevicesAll(Map<String, Object> params);
- List<Device> getDeviceListByMonitorPointIds(List<Integer> id);
+ List<Device> getDeviceListByMonitorPointIds(List<Integer> list);
Map<String, Object> selectAllFieldByMac(Map<String, Object> params);
}
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/impl/WeatherServiceImpl.java b/src/main/java/com/moral/service/impl/WeatherServiceImpl.java
index 781a6bc..106f60d 100644
--- a/src/main/java/com/moral/service/impl/WeatherServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/WeatherServiceImpl.java
@@ -189,9 +189,6 @@
parameters.put("start", sdf.parse(time));
parameters.put("end", sdf.parse(nextDay));
MonitorPoint monitorPoint = monitorPointMapper.selectByPrimaryKey(Integer.valueOf(monitorPointId));
-
- //List<Map<String, Object>> forecastList = forecastWeatherMapper.getForecastHour(parameters);
-
if (monitorPoint.getAreaCode() == null) {
parameters.put("cityCode", monitorPoint.getCityCode());
} else {
@@ -282,8 +279,6 @@
parameters.put("typeFormat", "%Y-%m-%d %H:%i:%s");
String cityName = parameters.get("city").toString();
Area area = areaMapper.getAreaByName(cityName);
- MonitorPoint monitorPoint;
- Integer parentCode = 0;
Integer code = 0;
String name = "";
if (area == null) {
@@ -294,20 +289,15 @@
name = province.getProvinceName();
} else {
code = city.getCityCode();
- parentCode = city.getProvinceCode();
name = city.getCityName();
}
} else {
code = area.getAreaCode();
- parentCode = area.getCityCode();
name = area.getAreaName();
}
parameters.put("cityCode", code);
parameters.put("name", name);
- parameters.put("areaCode", code);
-
-
String time = parameters.get("time").toString();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -322,20 +312,22 @@
String beforeDay = sdf.format(cal.getTime());
parameters.put("start", selectTime);
parameters.put("end", end);
+ Integer fcode=0;
List<Map<String, Object>> forecastList = forecastWeatherMapper.getForecast(parameters);
if (forecastList.size() == 0) {
- parameters.put("cityCode", parentCode);
- forecastList = forecastWeatherMapper.getForecast(parameters);
- if (forecastList.size() == 0) {
- List<Area> areaList = areaMapper.getAreaByCityCode(code);
- for (Area area1 : areaList) {
+ List<Area> areaList = areaMapper.getAreaByCityCode(code);
+ for (Area area1 : areaList) {
+ if (area1 != null) {
parameters.put("cityCode", area1.getAreaCode());
+ fcode=area1.getAreaCode();
forecastList = forecastWeatherMapper.getForecast(parameters);
if (forecastList.size() != 0) {
break;
}
}
}
+ }else {
+ fcode= Integer.valueOf(parameters.get("cityCode").toString());
}
List<Map<String, Object>> foreList = new ArrayList<>();
@@ -354,6 +346,7 @@
hashMap.put("PM25C", "");
hashMap.put("PM10C", "");
hashMap.put("city", parameters.get("name").toString());
+ hashMap.put("code",fcode);
if (sdf.parse(time).getTime() <= now.getTime()) {
hashMap.put("fxTime", (beforeDay + " 15:00").substring(5, 16));
} else {
@@ -388,12 +381,24 @@
}
}
+ String ac = parameters.get("cityCode").toString();
List<Map<String, Object>> aqiList = hangzhouAqiMapper.getAqi(parameters);
if (aqiList.size() == 0) {
- parameters.put("areaCode", parentCode);
+ parameters.put("cityCode", code);//320500
aqiList = hangzhouAqiMapper.getAqi(parameters);
+ if (aqiList.size() == 0) {
+ List<Area> areaList = areaMapper.getAreaByCityCode(code);
+ for (Area area1 : areaList) {
+ if (area1 != null) {
+ parameters.put("cityCode", area1.getAreaCode());
+ aqiList = hangzhouAqiMapper.getAqi(parameters);
+ if (aqiList.size() != 0) {
+ break;
+ }
+ }
+ }
+ }
}
-
List<Map<String, Object>> realAqilist = new ArrayList<>();
for (Map<String, Object> aqiMap : aqiList) {
Map<String, Object> hashMap = new HashMap<>();
@@ -403,25 +408,20 @@
hashMap.put("city", parameters.get("name").toString());
realAqilist.add(hashMap);
}
-
for (Map<String, Object> map : realAqilist) {
Date endTime = sdf1.parse(map.get("time").toString());
cal.setTime(endTime);
cal.add(Calendar.HOUR, -8);
Date startTime = cal.getTime();
Map<String, Object> hashMap = new HashMap<>();
- hashMap.put("areaCode", Integer.valueOf(parameters.get("areaCode").toString()));
+ hashMap.put("cityCode", Integer.valueOf(parameters.get("cityCode").toString()));
hashMap.put("start", startTime);
hashMap.put("end", endTime);
Map<String, Object> O3Map = hangzhouAqiMapper.getAvgO3EightHours(hashMap);
- map.put("O3_8H", O3Map.get("O3_8H").toString());
- if (O3Map.get("O3C_8H") != null) {
- map.put("O3C_8H", O3Map.get("O3C_8H").toString());
- }
+ map.put("O3C_8H", O3Map.get("O3C_8H").toString());
}
-
//������
- String ac = parameters.get("areaCode").toString();
+
Map<String, Object> params = new HashMap<>();
if (ac.endsWith("00")) {
params.put("cityCode", Integer.valueOf(ac));
@@ -435,7 +435,6 @@
Integer pointId = point.getId();
pointList.add(pointId);
}
-
List<Device> deviceList = deviceMapper.getDeviceListByMonitorPointIds(pointList);
List<String> macList = new ArrayList<>();
List<Map<String, Object>> beamList = new ArrayList<>();
@@ -474,7 +473,7 @@
cal.add(Calendar.HOUR, -6);
Date startTime = cal.getTime();
Map<String, Object> hashMap = new HashMap<>();
- hashMap.put("cityCode", Integer.valueOf(parameters.get("areaCode").toString()));
+ hashMap.put("cityCode", Integer.valueOf(parameters.get("cityCode").toString()));
hashMap.put("start", startTime);
hashMap.put("end", endTime);
@@ -566,6 +565,25 @@
map.put("precip6", "");
}
}
+ if ((!map.containsKey("SO2C")) && map.containsKey("SO2")) {
+ map.put("SO2C", map.get("SO2").toString());
+ }
+ if ((!map.containsKey("NO2C")) && map.containsKey("NO2")) {
+ map.put("SO2C", map.get("SO2").toString());
+ }
+ if ((!map.containsKey("O3C")) && map.containsKey("O3")) {
+ map.put("O3C", map.get("O3").toString());
+ }
+ if ((!map.containsKey("COC")) && map.containsKey("CO")) {
+ map.put("COC", map.get("CO").toString());
+ }
+ if ((!map.containsKey("PM25C")) && map.containsKey("PM25")) {
+ map.put("PM25C", map.get("PM25").toString());
+ }
+ if ((!map.containsKey("PM10C")) && map.containsKey("PM10")) {
+ map.put("PM10C", map.get("PM10").toString());
+ }
+
}
return resultList;
}
@@ -595,26 +613,7 @@
String time = map.get("time").toString() + ":00";
Map<String, Object> hashMap = new HashMap<>();
hashMap.put("time", time);
- String cityName = map.get("city").toString();
- Area area = areaMapper.getAreaByName(cityName);
- if (area == null) {
- City city = cityMapper.getCityByName(cityName);
- if (city == null) {
- Province province = provinceMapper.getProvinceByName(cityName);
- if (province == null) {
- return;
- } else {
- hashMap.put("cityCode", province.getProvinceCode());
- }
- } else {
- Integer cityCode = city.getCityCode();
- hashMap.put("cityCode", cityCode);
- }
- } else {
- Integer areaCode = area.getAreaCode();
- hashMap.put("cityCode", areaCode);
- }
-
+ hashMap.put("cityCode",Integer.valueOf(map.get("code").toString()));
Map<String, Object> jsonMap = new HashMap<>();
for (String key : map.keySet()) {
if (!key.equals("city") && !key.equals("time") && !key.equals("type") && !key.equals("fxTime")) {
diff --git a/src/main/resources/mapper/HangzhouAqiMapper.xml b/src/main/resources/mapper/HangzhouAqiMapper.xml
index dff422f..5e1a166 100644
--- a/src/main/resources/mapper/HangzhouAqiMapper.xml
+++ b/src/main/resources/mapper/HangzhouAqiMapper.xml
@@ -71,7 +71,7 @@
<select id="getAqiDataByAreaCode" resultType="java.util.Map">
SELECT
DATE_FORMAT(time, #{typeFormat}) time,
- ifnull(aqi_json->'$.O3C',"") as 'O3'
+ ifnull(aqi_json->'$.O3C',aqi_json->'$.O3') as 'O3'
FROM
hangzhou_aqi ha
WHERE
@@ -91,21 +91,20 @@
WHERE
time >= #{start}
AND time <![CDATA[<]]> #{end}
- AND city_code = #{areaCode}
+ AND city_code = #{cityCode}
ORDER BY
time
</select>
<select id="getAvgO3EightHours" resultType="java.util.Map">
select
- AVG(aqi_json->'$.O3') 'O3_8H',
- AVG(aqi_json->'$.O3C') 'O3C_8H'
+ AVG(case when aqi_json->'$.O3C' is null then aqi_json->'$.O3' else aqi_json->'$.O3C' end) as 'O3C_8H'
FROM
hangzhou_aqi
WHERE
time >= #{start}
AND time <![CDATA[<]]> #{end}
- AND city_code = #{areaCode}
+ AND city_code = #{cityCode}
</select>
</mapper>
diff --git a/src/main/resources/mapper/MonitorPointMapper.xml b/src/main/resources/mapper/MonitorPointMapper.xml
index 5e2d6da..c1d3c7d 100644
--- a/src/main/resources/mapper/MonitorPointMapper.xml
+++ b/src/main/resources/mapper/MonitorPointMapper.xml
@@ -190,11 +190,11 @@
select * from monitor_point
where
<if test="areaCode != null">
- area_Code = #{areaCode}
+ area_code = #{areaCode}
</if>
<if test="cityCode != null">
- city_Code = #{cityCode}
+ city_code = #{cityCode}
</if>
</select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/RealWeatherMapper.xml b/src/main/resources/mapper/RealWeatherMapper.xml
index f1eec74..2882762 100644
--- a/src/main/resources/mapper/RealWeatherMapper.xml
+++ b/src/main/resources/mapper/RealWeatherMapper.xml
@@ -13,7 +13,7 @@
WHERE
time >= #{start}
AND time <![CDATA[<]]> #{end}
- AND city_code = #{areaCode}
+ AND city_code = #{cityCode}
ORDER BY
time
</select>
--
Gitblit v1.8.0