From 6688e50ba02988d742baadaca156a303a90b6191 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Fri, 20 Apr 2018 14:03:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/resources/mapper/AlarmMapper.xml |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/AlarmMapper.xml b/src/main/resources/mapper/AlarmMapper.xml
new file mode 100644
index 0000000..cad7fec
--- /dev/null
+++ b/src/main/resources/mapper/AlarmMapper.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.AlarmMapper">
+	<select id="getAlarmData" resultType="java.util.LinkedHashMap">
+		SELECT
+			<if test="dimension=='monitorPoint'">
+				`name`,
+			</if>
+			<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>
+					<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>
+							DATE_FORMAT( h.time, '%Y-%m-%d' ) AS 'time'
+						</otherwise>
+					</choose>
+				FROM
+					alarm h, 
+					device d,
+					monitor_point mp 
+				WHERE d.monitor_point_id = mp.id 
+					AND h.mac = d.mac 
+					AND h.time >= #{start}
+					AND h.time <![CDATA[<]]> #{end}
+					<if test="provinceCode != null">
+					AND mp.province_code = #{provinceCode}
+					</if>
+					<if test="cityCode != null">
+					AND mp.city_code = #{cityCode}
+					</if>
+					<if test="areaCode != null">
+					AND mp.area_code = #{areaCode}
+					</if>
+					<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>
+				GROUP BY
+					<if test="dimension=='monitorPoint'">
+						mp.id,
+					</if>
+					DATE_FORMAT( h.time, '%Y-%m-%d' )
+			) a
+		<if test="dimension=='monitorPoint'">
+			GROUP BY name
+		</if>
+			
+	</select>
+	
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0