From b5ee321e0afc4c69e48a271c79cfd98c78da9f91 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Thu, 12 Jul 2018 15:44:29 +0800
Subject: [PATCH] demo

---
 src/main/resources/mapper/AlarmMapper.xml |   92 +++++++++------------------------------------
 1 files changed, 19 insertions(+), 73 deletions(-)

diff --git a/src/main/resources/mapper/AlarmMapper.xml b/src/main/resources/mapper/AlarmMapper.xml
index a1f8c94..e2a7007 100644
--- a/src/main/resources/mapper/AlarmMapper.xml
+++ b/src/main/resources/mapper/AlarmMapper.xml
@@ -1,79 +1,25 @@
 <?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.Map">
-		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>
-					<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' )
-			) a
-		<if test="dimension=='monitorPoint'">
-			GROUP BY name
+	<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