From 409851cc3f33d3fd016e20518f90a2c093e9e1db Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Tue, 19 May 2020 16:58:54 +0800
Subject: [PATCH] alarm相关接口更新

---
 src/main/resources/mapper/AlarmMapper.xml |  117 +++++++++++++++++++++-------------------------------------
 1 files changed, 42 insertions(+), 75 deletions(-)

diff --git a/src/main/resources/mapper/AlarmMapper.xml b/src/main/resources/mapper/AlarmMapper.xml
index a1f8c94..f0cbc24 100644
--- a/src/main/resources/mapper/AlarmMapper.xml
+++ b/src/main/resources/mapper/AlarmMapper.xml
@@ -1,79 +1,46 @@
 <?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
-		</if>
-			
-	</select>
-	
+    <select id="countByTimes" resultType="java.util.Map">
+        select
+        <if test="format !=null">
+            DATE_FORMAT(a.time,#{format}) as time,
+        </if>
+        count(*) as count
+        from
+        (<foreach collection="list" item="item" separator="union">
+        select
+        * from
+        alarm_${item}
+    </foreach>) as a
+        where
+        a.time >= #{start}
+        and a.time
+        <![CDATA[<=]]> #{end}
+        <if test="format !=null">
+            GROUP BY DATE_FORMAT(a.time,#{format}) ;
+        </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