From 71af09a7d35a1146122776bebac8d51c1903beed Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Fri, 04 May 2018 08:55:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/resources/mapper/AlarmMapper.xml |   64 ++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 12 deletions(-)

diff --git a/src/main/resources/mapper/AlarmMapper.xml b/src/main/resources/mapper/AlarmMapper.xml
index e9abda1..b3baecf 100644
--- a/src/main/resources/mapper/AlarmMapper.xml
+++ b/src/main/resources/mapper/AlarmMapper.xml
@@ -6,23 +6,37 @@
 			<if test="dimension=='monitorPoint'">
 				`name`,
 			</if>
-			<foreach collection="sensorKeys" item="sensorKey" separator=",">
-				SUM( ${sensorKey} ) AS '${sensorKey}'
-			</foreach>
-			<foreach close=" AS 'sum' " collection="sensorKeys" item="sensorKey" open="," separator="+">
-				SUM( ${sensorKey} )
-			</foreach>
+			<choose>
+				<when test="sensorKeys.size > 0">
+					<foreach collection="sensorKeys" separator="," item="sensorKey">
+						SUM( ${sensorKey} ) AS '${sensorKey}'
+					</foreach>
+					<foreach collection="sensorKeys" open="," separator="+" close=" AS 'sum' " item="sensorKey">
+						SUM( ${sensorKey} )
+					</foreach>
+				</when>
+				<otherwise>
+					time
+				</otherwise>
+			</choose>
 		FROM
 			(
 				SELECT 
 					<if test="dimension=='monitorPoint'">
 						mp.`name`,
 					</if>
-					<foreach collection="sensorKeys" item="sensorKey" separator=",">
-						CASE COUNT( json -> '$.${sensorKey}' ) WHEN 0 THEN 0 ELSE 1 END AS '${sensorKey}'
-					</foreach>
+					<choose>
+						<when test="sensorKeys.size > 0">
+							<foreach collection="sensorKeys" separator="," item="sensorKey">
+								CASE COUNT( json -> '$.${sensorKey}' ) WHEN 0 THEN 0 ELSE 1 END AS '${sensorKey}'
+							</foreach>
+						</when>
+						<otherwise>
+							 h.time
+						</otherwise>
+					</choose>
 				FROM
-					alarm h, 
+					alarm_daily h, 
 					device d,
 					monitor_point mp 
 				WHERE d.monitor_point_id = mp.id 
@@ -41,19 +55,45 @@
 					<if test="monitorPointId != null">
 					AND mp.id =	#{monitorPointId}
 					</if>
+					<if test="organizationId != null">
+					AND mp.organization_id = #{organizationId}
+					</if>
 					<if test="mac != null">
 					AND d.mac =	#{mac}
+					</if>
+					<if test="level != null">
+					AND h.state = #{level}
 					</if>
 				GROUP BY
 					<if test="dimension=='monitorPoint'">
 						mp.id,
 					</if>
-					DATE_FORMAT( h.time, '%Y-%m-%d' )
+					h.time
 			) a
 		<if test="dimension=='monitorPoint'">
 			GROUP BY name
 		</if>
 			
 	</select>
-	
+	<select id="countByTimes"   resultType="java.util.Map">
+		select
+		<if test="format !=null">
+			DATE_FORMAT(time,#{format}) as time,
+		</if>
+		COUNT(*) as count from alarm
+		<where>
+			<if test="start != null">
+				time >= #{start}
+			</if>
+			<if test="end != null">
+				and time
+				<![CDATA[
+				<=
+				]]> #{end}
+			</if>
+		</where>
+		<if test="format !=null">
+			GROUP BY DATE_FORMAT(time,#{format}) ;
+		</if>
+	</select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0