From 53d155ae4b7c4d5d7258c3d15cfff78ec41561f7 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Mon, 26 Mar 2018 14:13:07 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/resources/mapper/HistoryMinutelyMapper.xml | 27 +++++++++++++++++---------- 1 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml index 2bbb17b..148f6a4 100644 --- a/src/main/resources/mapper/HistoryMinutelyMapper.xml +++ b/src/main/resources/mapper/HistoryMinutelyMapper.xml @@ -41,15 +41,22 @@ ORDER BY time </select> - <select id="selectLineChartDateByCrieria" resultMap="PairDataResultMap"> + <select id="selectLineChartDateByCrieria" resultType="java.util.Map"> SELECT - <if test='"MINUTE"!=dataCondition.timeUnits.toString()'> - AVG(json->'$.${sensorKey}[0]') - </if> - <if test='"MINUTE"==dataCondition.timeUnits.toString()'> - json->'$.${sensorKey}[0]' - </if> - as value, + <choose> + <when test="'MINUTE'==dataCondition.timeUnits.toString() and 'DEVICE'==dataCondition.areaRange.toString()"> + <foreach collection="sensorKeys" + item="sensorKey" separator="," close=","> + json->'$.${sensorKey}[0]' as '${sensorKey}' + </foreach> + </when> + <otherwise> + <foreach collection="sensorKeys" + item="sensorKey" separator="," close=","> + AVG(json->'$.${sensorKey}[0]') as '${sensorKey}' + </foreach> + </otherwise> + </choose> DATE_FORMAT(time,'${@com.moral.common.util.ReportTimeFormat@toMySqlTimeFormat(timePeriod.timeUnits)}') as format_time FROM `history_minutely` hmi @@ -70,7 +77,7 @@ and mpt.id = #{dataCondition.areaRangeId} </if> <if test='"PROVINCE"==dataCondition.areaRange.toString()'> - and mpt.provice_code = #{dataCondition.areaRangeId} + and mpt.province_code = #{dataCondition.areaRangeId} </if> <if test='"CITY"==dataCondition.areaRange.toString()'> and mpt.city_code = #{dataCondition.areaRangeId} @@ -81,7 +88,7 @@ </where> ) </where> - <if test='"MINUTE"!=dataCondition.timeUnits.toString()'> + <if test="'MINUTE'!=dataCondition.timeUnits.toString() or 'DEVICE'!=dataCondition.areaRange.toString()"> GROUP BY format_time </if> ORDER BY format_time asc -- Gitblit v1.8.0