From 91e5d3d85c737b96b2c4a1994e2b861cc083453c Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Tue, 14 Nov 2017 10:24:46 +0800 Subject: [PATCH] 传感器平均数据 报表接口 --- src/main/resources/mapper/HistoryEntityMapper.xml | 64 +++++++++++++++++++++++++++++-- 1 files changed, 59 insertions(+), 5 deletions(-) diff --git a/src/main/resources/mapper/HistoryEntityMapper.xml b/src/main/resources/mapper/HistoryEntityMapper.xml index ea7322f..85374e0 100644 --- a/src/main/resources/mapper/HistoryEntityMapper.xml +++ b/src/main/resources/mapper/HistoryEntityMapper.xml @@ -239,7 +239,12 @@ <select id="getAverageByAll" resultType="map"> SELECT - h.mac_key, + <if test="macKey != null and macKey != 'all'"> + e.name, + </if> + <if test="macKey == 'all'"> + h.mac_key, + </if> AVG(h.mac_value) avg FROM history h, @@ -258,8 +263,14 @@ #{listItem} </foreach> </if> - GROUP BY - h.mac_key + <if test="macKey != null and macKey != 'all'"> + AND h.mac_key = #{macKey} + GROUP BY e.id + ORDER BY avg + </if> + <if test="macKey == 'all'"> + GROUP BY h.mac_key + </if> </select> <select id="getEquipmentStates" resultType="map"> @@ -275,11 +286,54 @@ #{listItem} </foreach> </if> - GROUP BY - state + GROUP BY state </select> <select id="getMacLogByLast" resultType="string"> SELECT mac_log FROM logger ORDER BY time DESC LIMIT 1 </select> + + <select id="getSensorsAverageByEquipment" resultType="map"> + SELECT + concat(time,':00') AS 'time', + MAX(CASE WHEN mac_key='e1' THEN mac_value END) AS 'e1', + MAX(CASE WHEN mac_key='e2' THEN mac_value END) AS 'e2', + MAX(CASE WHEN mac_key='e3' THEN mac_value END) AS 'e3', + MAX(CASE WHEN mac_key='e4' THEN mac_value END) AS 'e4', + MAX(CASE WHEN mac_key='e5' THEN mac_value END) AS 'e5', + MAX(CASE WHEN mac_key='e6' THEN mac_value END) AS 'e6', + MAX(CASE WHEN mac_key='e7' THEN mac_value END) AS 'e7', + MAX(CASE WHEN mac_key='e8' THEN mac_value END) AS 'e8', + MAX(CASE WHEN mac_key='e9' THEN mac_value END) AS 'e9', + MAX(CASE WHEN mac_key='e10' THEN mac_value END) AS 'e10', + MAX(CASE WHEN mac_key='e11' THEN mac_value END) AS 'e11', + MAX(CASE WHEN mac_key='e12' THEN mac_value END) AS 'e12', + MAX(CASE WHEN mac_key='e13' THEN mac_value END) AS 'e13', + MAX(CASE WHEN mac_key='e14' THEN mac_value END) AS 'e14', + MAX(CASE WHEN mac_key='e15' THEN mac_value END) AS 'e15', + MAX(CASE WHEN mac_key='e16' THEN mac_value END) AS 'e16', + MAX(CASE WHEN mac_key='e17' THEN mac_value END) AS 'e17', + MAX(CASE WHEN mac_key='e18' THEN mac_value END) AS 'e18', + MAX(CASE WHEN mac_key='e19' THEN mac_value END) AS 'e19' + FROM + ( + SELECT + h.mac_key, + DATE_FORMAT(time, #{type}) time, + AVG(h.mac_value) mac_value + FROM + history h + WHERE + h.mac = #{mac} + AND h.time >= #{start} + AND h.time < #{end} + GROUP BY + h.mac_key, + DATE_FORMAT(time, #{type}) + ORDER BY + DATE_FORMAT(time, #{type}) + ) a + GROUP BY + time + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0