From 5f3e7e12b0d4d8d110ef85092a15fd133061e4e5 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 10 Aug 2020 17:36:48 +0800
Subject: [PATCH] 实测TVOC
---
src/main/java/com/moral/mapper/HistoryHourlyMapper.java | 2 +
src/main/resources/mapper/HistoryHourlyMapper.xml | 13 ++++++
src/main/java/com/moral/service/impl/WeatherServiceImpl.java | 46 ++++++++++++++++++-----
3 files changed, 51 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/moral/mapper/HistoryHourlyMapper.java b/src/main/java/com/moral/mapper/HistoryHourlyMapper.java
index ce7ea9f..ee570d4 100644
--- a/src/main/java/com/moral/mapper/HistoryHourlyMapper.java
+++ b/src/main/java/com/moral/mapper/HistoryHourlyMapper.java
@@ -22,4 +22,6 @@
List<Map<String,Object>> getBeamByMacs(Map<String,Object> params);
List<Map<String, Object>> getDataByTimeSlot(@Param("mac") String mac, @Param("startTime") String startTime, @Param("endTime") String endTime);
+
+ List<Map<String,Object>> getTVOCByMacs(Map<String,Object> params);
}
diff --git a/src/main/java/com/moral/service/impl/WeatherServiceImpl.java b/src/main/java/com/moral/service/impl/WeatherServiceImpl.java
index 8c53407..7687544 100644
--- a/src/main/java/com/moral/service/impl/WeatherServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/WeatherServiceImpl.java
@@ -13,6 +13,7 @@
import javax.annotation.Resource;
+import org.apache.jasper.compiler.JspUtil;
import org.dom4j.Element;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
@@ -312,22 +313,22 @@
String beforeDay = sdf.format(cal.getTime());
parameters.put("start", selectTime);
parameters.put("end", end);
- Integer fcode=0;
+ Integer fcode = 0;
List<Map<String, Object>> forecastList = forecastWeatherMapper.getForecast(parameters);
if (forecastList.size() == 0) {
List<Area> areaList = areaMapper.getAreaByCityCode(code);
for (Area area1 : areaList) {
if (area1 != null) {
parameters.put("cityCode", area1.getAreaCode());
- fcode=area1.getAreaCode();
+ fcode = area1.getAreaCode();
forecastList = forecastWeatherMapper.getForecast(parameters);
if (forecastList.size() != 0) {
break;
}
}
}
- }else {
- fcode= Integer.valueOf(parameters.get("cityCode").toString());
+ } else {
+ fcode = Integer.valueOf(parameters.get("cityCode").toString());
}
List<Map<String, Object>> foreList = new ArrayList<>();
@@ -347,7 +348,7 @@
hashMap.put("PM25C", "");
hashMap.put("PM10C", "");
hashMap.put("city", parameters.get("name").toString());
- hashMap.put("code",fcode);
+ hashMap.put("code", fcode);
if (sdf.parse(time).getTime() <= now.getTime()) {
hashMap.put("fxTime", (beforeDay + " 15:00").substring(5, 16));
} else {
@@ -438,17 +439,34 @@
}
List<Device> deviceList = deviceMapper.getDeviceListByMonitorPointIds(pointList);
List<String> macList = new ArrayList<>();
+ List<String> macList1 = new ArrayList<>();
List<Map<String, Object>> beamList = new ArrayList<>();
+ List<Map<String, Object>> tvocList=new ArrayList<>();
if (deviceList.size() != 0) {
for (Device device : deviceList) {
- String mac = device.getMac();
- macList.add(mac);
+ macList.add(device.getMac());
}
parameters.put("macs", macList);
beamList = historyHourlyMapper.getBeamByMacs(parameters);
+ Map<String, Object> map = new HashMap<>();
+ if (name.equals("���������")) {
+ List<Integer> list=new ArrayList<>();
+ list.add(48);
+ List<Device> pointIds = deviceMapper.getDeviceListByMonitorPointIds(list);
+ for (Device device : pointIds) {
+ if (device.getId() != 1075) {
+ macList1.add(device.getMac());
+ }
+ }
+ }else {
+ macList1=macList;
+ }
+ map.put("macs", macList1);
+ map.put("start", parameters.get("start"));
+ map.put("end", parameters.get("end"));
+ tvocList = historyHourlyMapper.getTVOCByMacs(map);
}
-
List<Map<String, Object>> realList = realWeatherMapper.getRealWeather(parameters);
List<Map<String, Object>> realWeatherList = new ArrayList<>();
for (Map<String, Object> realMap : realList) {
@@ -483,6 +501,14 @@
if (precip6HourMap != null) {
realMap.put("precip6", precip6HourMap.get("precip6").toString());
}
+
+ for (Map<String, Object> tvocMap : tvocList) {
+ String ttime = tvocMap.get("time").toString();
+ if (ttime.equals(rtime)) {
+ realMap.put("TVOC", tvocMap.get("TVOC").toString());
+ }
+ }
+
}
List<Map<String, Object>> list = new ArrayList<>();
@@ -613,10 +639,10 @@
String time = map.get("time").toString() + ":00";
Map<String, Object> hashMap = new HashMap<>();
hashMap.put("time", time);
- hashMap.put("cityCode",Integer.valueOf(map.get("code").toString()));
+ 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")&&!key.equals("code")) {
+ if (!key.equals("city") && !key.equals("time") && !key.equals("type") && !key.equals("fxTime") && !key.equals("code")) {
String value = map.get(key).toString();
jsonMap.put(key, value);
}
diff --git a/src/main/resources/mapper/HistoryHourlyMapper.xml b/src/main/resources/mapper/HistoryHourlyMapper.xml
index ad65123..46f16e7 100644
--- a/src/main/resources/mapper/HistoryHourlyMapper.xml
+++ b/src/main/resources/mapper/HistoryHourlyMapper.xml
@@ -85,4 +85,17 @@
where mac=#{mac}
AND time between #{startTime} and #{endTime}
</select>
+
+ <select id="getTVOCByMacs" resultType="java.util.Map">
+ SELECT
+ DATE_FORMAT(h.time,'%Y-%m-%d %H:%i:%s') time,
+ avg(h.json->'$.e17[0]') 'TVOC'
+ FROM history_hourly h
+ WHERE h.mac in
+ <foreach item="item" collection="macs" index="index" open="(" separator="," close=")">#{item}</foreach>
+ and h.time >= #{start}
+ AND h.time <![CDATA[<]]> #{end}
+ and h.json->'$.e17[0]' is not null
+ group by h.time
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0