From 32a9814316c4292750a8e432e8a7e04ae2bef1c9 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Fri, 17 Apr 2020 14:53:20 +0800
Subject: [PATCH] update报表接口
---
src/main/resources/mapper/HistoryMinutelyMapper.xml | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml
index fe8287c..7af50a1 100644
--- a/src/main/resources/mapper/HistoryMinutelyMapper.xml
+++ b/src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -179,26 +179,38 @@
hm.time
</select>
- <select id="getDevicesAvgDataToExcel" resultType="java.util.Map">
- SELECT
- h.mac,DATE_FORMAT(time, #{typeFormat}) time,
+ <select id="getDevicesAvgDataToExcel" resultType="java.util.LinkedHashMap">
+ select
+ rs.monitorPointName,rs.name,
+ <foreach collection="timeList" separator="," item="time">
+ max(case time when #{time} then rs.${sensorKey} else null end) as #{time}
+ </foreach>
+ from
+ (SELECT
+ m.name as monitorPointName,d.name,DATE_FORMAT(time, #{typeFormat}) time,
<foreach collection="sensorKeys" separator="," item="sensorKey">
AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}'
</foreach>
FROM
- history_${timeUnits} h
+ history_${timeUnits} h,
+ device d,
+ monitor_point m
WHERE
- h.time >= #{start}
+ h.mac=d.mac
+ AND d.monitor_point_id=m.id
+ AND h.time >= #{start}
AND h.time <![CDATA[<=]]> #{end}
- AND h.mac in
+ AND h.mac in
<foreach collection="macs" open="(" separator="," close=")"
item="mac">
#{mac}
</foreach>
GROUP BY
- h.mac,DATE_FORMAT(time, #{typeFormat})
+ h.mac,m.name,d.name,DATE_FORMAT(time, #{typeFormat})
ORDER BY
- h.mac
+ h.mac) rs
+ GROUP BY rs.monitorPointName,rs.name
+ order by rs.name
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0