From 6f5dc4ff458a78ec4ff341ca33b5bd5e99fbc8e5 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Fri, 13 Jul 2018 14:38:18 +0800
Subject: [PATCH] demo 

---
 src/main/resources/mapper/HistoryMapper.xml |   45 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/src/main/resources/mapper/HistoryMapper.xml b/src/main/resources/mapper/HistoryMapper.xml
index 2408a33..bef36f5 100644
--- a/src/main/resources/mapper/HistoryMapper.xml
+++ b/src/main/resources/mapper/HistoryMapper.xml
@@ -38,7 +38,7 @@
 
 	<select id="getRegionRankingData" resultType="java.util.Map">
 		SELECT
-			AVG( h.`value` -> '$.${sensorKey}[0]' ) avg ,
+			AVG( h.${column} -> '$.${sensorKey}[0]' ) avg ,
 			<if test="dimension == 'profession'">
 				p.`name`
 			</if>
@@ -46,14 +46,17 @@
 				mp.`name`
 			</if>
 			<if test="dimension == 'region'">
-				mp.${nextLevel}_code AS 'code'
+				r.${nextLevel}_name AS 'name'
 			</if>
 		FROM
 			<if test="dimension == 'profession'">
 				profession p , 
 			</if>
+			<if test="dimension == 'region'">
+				${nextLevel} r,
+			</if>
 			device d,
-			history h,
+			${table} h,
 			monitor_point mp
 		WHERE
 			d.mac = h.mac 
@@ -61,9 +64,12 @@
 			AND mp.is_delete = '0'
 			AND d.monitor_point_id = mp.id 
 			AND h.time >= #{start}
-			AND mp.${regionType} = #{regionCode}
+			AND mp.${regionType}_code = #{regionCode}
 			<if test="dimension == 'profession'">
 				AND d.profession_id = p.id 
+			</if>
+			<if test="dimension == 'region'">
+				AND r.${nextLevel}_code = mp.${nextLevel}_code
 			</if>
 			<if test="orgIds != null and orgIds.size &gt; 0">
 				AND mp.organization_id IN
@@ -88,13 +94,38 @@
 		</if>
 	</select>
 	
-	<select id="selectNextLevelRegion" resultType="java.util.Map">
+	<select id="selectNextLevelRegion" resultType="string">
 		SELECT
-			${nextLevel}_code AS 'code',
 			${nextLevel}_name AS 'name' 
 		FROM
 			${nextLevel}
 		WHERE
-			${regionType} = #{regionCode}
+			${regionType}_code = #{regionCode}
+	</select>
+
+	<select id="getDischargeByRegion" resultType="java.util.Map">
+		SELECT
+			mp.`name`,
+			dis.`value` -> '$.${sensorKey}' 'value'
+		FROM
+			monitor_point mp,
+			discharge dis 
+		WHERE
+			dis.monitor_point_id = mp.id 
+			AND mp.${regionType}_code = #{regionCode}
+			AND dis.`year` = #{year}
+	</select>
+	
+	<select id="getValueByMacAndSize" resultType="java.util.Map">
+		SELECT 
+			value,
+			time
+		FROM
+			history 
+		WHERE
+			mac = #{mac} 
+		ORDER BY
+			time DESC 
+		LIMIT #{size}
 	</select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0