From 9ed19d9bfc20d9661210c3398077852c9bc2d413 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Thu, 29 Mar 2018 14:08:56 +0800 Subject: [PATCH] 报表优化 --- src/main/resources/mapper/HistoryMinutelyMapper.xml | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml index 797834d..9fb4382 100644 --- a/src/main/resources/mapper/HistoryMinutelyMapper.xml +++ b/src/main/resources/mapper/HistoryMinutelyMapper.xml @@ -7,7 +7,9 @@ </resultMap> <select id="getSersionAvgByDevice" resultType="java.util.Map"> SELECT - ${sensorKeyColumn} + <foreach collection="sensorKeys" separator="," item="sensorKey"> + AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}' + </foreach> FROM history_minutely WHERE @@ -19,7 +21,9 @@ <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.Map"> SELECT DATE_FORMAT(time, #{typeFormat}) time, - ${sensorKeyColumn} + <foreach collection="sensorKeys" separator="," item="sensorKey"> + AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}' + </foreach> FROM history_minutely h WHERE @@ -41,17 +45,22 @@ ORDER BY time </select> - <select id="selectLineChartDateByCrieria" resultMap="PairDataResultMap"> + <select id="selectLineChartDateByCrieria" resultType="java.util.Map"> SELECT <choose> <when test="'MINUTE'==dataCondition.timeUnits.toString() and 'DEVICE'==dataCondition.areaRange.toString()"> - json->'$.${sensorKey}[0]' + <foreach collection="sensorKeys" + item="sensorKey" separator="," close=","> + json->'$.${sensorKey}[0]' as '${sensorKey}' + </foreach> </when> <otherwise> - AVG(json->'$.${sensorKey}[0]') + <foreach collection="sensorKeys" + item="sensorKey" separator="," close=","> + AVG(json->'$.${sensorKey}[0]') as '${sensorKey}' + </foreach> </otherwise> </choose> - as value, DATE_FORMAT(time,'${@com.moral.common.util.ReportTimeFormat@toMySqlTimeFormat(timePeriod.timeUnits)}') as format_time FROM `history_minutely` hmi -- Gitblit v1.8.0