From 543b91f79c55687337984d39beb757648e6e73c1 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Tue, 06 Aug 2019 13:55:36 +0800
Subject: [PATCH] 新增根据mac查询sensors的Mapper接口

---
 src/main/resources/mapper/HistoryMapper.xml |   70 ++++++++++++++++++++++++++---------
 1 files changed, 52 insertions(+), 18 deletions(-)

diff --git a/src/main/resources/mapper/HistoryMapper.xml b/src/main/resources/mapper/HistoryMapper.xml
index bef36f5..8cc81ab 100644
--- a/src/main/resources/mapper/HistoryMapper.xml
+++ b/src/main/resources/mapper/HistoryMapper.xml
@@ -6,34 +6,45 @@
 		where  time = #{time} and mac = #{mac}
 		limit 0,1
 	</select>
+
 	<select id="getAreaAllDataByAccount" resultType="java.util.LinkedHashMap">
 		SELECT
-			<if test="macKey != null">
-				d.`name`,
-			</if>	
-			<foreach  collection="sensorKeys" separator="," item="sensorKey">
-				AVG(h.`value` ->'$.${sensorKey}[0]') AS '${sensorKey}'
-			</foreach>
+		<if test="macKey != null">
+			d.`name`,
+		</if>
+		<foreach collection="sensorKeys" separator="," item="sensorKey">
+			AVG(h.`value` ->'$.${sensorKey}[0]') AS '${sensorKey}'
+		</foreach>
 		FROM
 			history h,
 			device d,
 			monitor_point mp
 		WHERE
-			mp.area_code = #{areaCode} 
-			AND h.time >= #{start} 
-			AND h.time &lt; #{end}
-			AND h.mac = d.mac 
-			AND d.monitor_point_id = mp.id 
-		<if test="orgIds != null and orgIds.size &gt; 0">
-			AND mp.organization_id IN
-			<foreach  collection="orgIds" open="(" separator="," close=")" item="listItem">
-				#{listItem}
-			</foreach>
-		</if>
+			h.mac = d.mac
+			AND d.monitor_point_id = mp.id
+			<if test="areaCode != null">
+				AND mp.area_code = #{areaCode}
+			</if>
+			<if test="start != null">
+				AND h.time >= #{start}
+			</if>
+			<if test="end != null">
+				AND h.time &lt; #{end}
+			</if>
+			<if test="monitorPointId != null">
+				AND mp.id = #{monitorPointId}
+			</if>
+			<if test="orgIds != null and orgIds.size &gt; 0">
+				AND mp.organization_id IN
+				<foreach collection="orgIds" open="(" separator="," close=")"
+					item="listItem">
+					#{listItem}
+				</foreach>
+			</if>
 		<if test="macKey != null">
 			GROUP BY d.id
 			ORDER BY ${macKey} desc
-		</if>	
+		</if>
 	</select>
 
 	<select id="getRegionRankingData" resultType="java.util.Map">
@@ -128,4 +139,27 @@
 			time DESC 
 		LIMIT #{size}
 	</select>
+	
+	<select id="getActualDataByRegion" resultType="java.util.Map">
+		SELECT
+		<foreach collection="sensorKeys" separator="," item="sensorKey">
+			MAX( `value` ->> '$.${sensorKey}' ) * 1 AS '${sensorKey}' 
+		</foreach>
+		FROM
+			history h ,
+			device d,
+			monitor_point mp
+		<where>
+			h.mac = d.mac 
+			AND d.monitor_point_id = mp.id 
+		<if test="orgIds != null and orgIds.size &gt; 0">
+			AND mp.organization_id IN
+			<foreach  collection="orgIds" open="(" separator="," close=")" item="listItem">
+				#{listItem}
+			</foreach>
+		</if>
+			AND h.time >= #{start}			
+			AND h.time &lt; #{end}	
+		</where>
+	</select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0