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