From e51e2d053b498e236097bcb4012c8446d672be86 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Tue, 19 May 2020 16:35:46 +0800 Subject: [PATCH] 设备版本添加大屏界面控制 --- src/main/resources/mapper/HistoryMinutelyMapper.xml | 69 +++++++++++++++++++++++++++++++--- 1 files changed, 62 insertions(+), 7 deletions(-) diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml index 151cc41..ac1e709 100644 --- a/src/main/resources/mapper/HistoryMinutelyMapper.xml +++ b/src/main/resources/mapper/HistoryMinutelyMapper.xml @@ -31,6 +31,32 @@ AND time < #{end} </select> + <select id="getAvgByDevice" resultType="java.util.Map"> + SELECT + <foreach collection="sensorKeys" separator="," item="sensorKey"> + AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}' + </foreach> + FROM + history_daily + WHERE + mac IN + (SELECT + d.mac + FROM + device d + WHERE + d.is_delete = 0 + <if test="monitorPointId != null"> + AND d.monitor_point_id = #{monitorPointId} + </if> + <if test="mac != null"> + AND d.mac = #{mac} + </if> + ) + AND time >= #{start} + AND time < #{end} + </select> + <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.Map"> SELECT DATE_FORMAT(time, #{typeFormat}) time @@ -77,6 +103,7 @@ ORDER BY time </select> + <select id="selectLineChartDateByCrieria" resultType="java.util.Map"> SELECT <choose> @@ -96,7 +123,7 @@ DATE_FORMAT(time,'${@com.moral.common.util.ReportTimeFormat@toMySqlTimeFormat(timePeriod.timeUnits)}') as format_time FROM - `history_minutely` hmi + history_${timeUnits} hmi <where> and hmi.time >= #{timePeriod.startTime} and hmi.time <![CDATA[<=]]> #{timePeriod.endTime} @@ -149,7 +176,7 @@ history_minutely as hm <where> <if test="mac!=null"> - and hm.mac=#{mac} + and hm.mac = #{mac} </if> and hm.time >= #{startTime} and hm.time <![CDATA[<]]> #{endTime} @@ -170,7 +197,7 @@ history_minutely_${yearAndMonth} as hm <where> <if test="mac!=null"> - and hm.mac=#{mac} + and hm.mac = #{mac} </if> and hm.time >= #{startTime} and hm.time <![CDATA[<]]> #{endTime} @@ -196,8 +223,38 @@ device d, monitor_point m WHERE - h.mac=d.mac - AND d.monitor_point_id=m.id + h.mac = d.mac + AND d.monitor_point_id = m.id + AND h.time >= #{start} + AND h.time <![CDATA[<=]]> #{end} + AND h.mac in + <foreach collection="macs" open="(" separator="," close=")" item="mac"> + #{mac} + </foreach> + GROUP BY + h.mac,m.name,d.name,DATE_FORMAT(time, #{typeFormat}) + ORDER BY + h.mac) rs + GROUP BY rs.monitorPointName,rs.name + order by rs.monitorPointName + </select> + + <select id="getDevicesSensorsAvgDataToExcel" resultType="java.util.LinkedHashMap"> + select + rs.monitorPointName,rs.name, + <foreach collection="timeList" separator="," item="time"> + max(case time when #{time} then rs.json else "" end) as #{time} + </foreach> + from + (SELECT + m.name as monitorPointName,d.name,DATE_FORMAT(time, #{typeFormat}) time,h.json + FROM + history_${timeUnits} h, + device d, + monitor_point m + WHERE + h.mac = d.mac + AND d.monitor_point_id = m.id AND h.time >= #{start} AND h.time <![CDATA[<=]]> #{end} AND h.mac in @@ -205,8 +262,6 @@ item="mac"> #{mac} </foreach> - GROUP BY - h.mac,m.name,d.name,DATE_FORMAT(time, #{typeFormat}) ORDER BY h.mac) rs GROUP BY rs.monitorPointName,rs.name -- Gitblit v1.8.0