From 2978d22b5c1dc78a133fc3b3fc9d9b1618020354 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Mon, 23 Apr 2018 13:19:04 +0800
Subject: [PATCH] 增加 级别
---
src/main/resources/mapper/AlarmMapper.xml | 38 +++++++++++++++++++++++++++++---------
1 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/src/main/resources/mapper/AlarmMapper.xml b/src/main/resources/mapper/AlarmMapper.xml
index e9abda1..c4419a8 100644
--- a/src/main/resources/mapper/AlarmMapper.xml
+++ b/src/main/resources/mapper/AlarmMapper.xml
@@ -6,21 +6,35 @@
<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>
+ DATE_FORMAT( h.time, '%Y-%m-%d' ) AS 'time'
+ </otherwise>
+ </choose>
FROM
alarm h,
device d,
@@ -41,9 +55,15 @@
<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="state != null">
+ AND h.state = #{state}
+ </if>
GROUP BY
<if test="dimension=='monitorPoint'">
mp.id,
--
Gitblit v1.8.0