From 4a41bd4e105385b5460e5a81c8b67e5f701a262b Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Fri, 04 May 2018 08:55:13 +0800 Subject: [PATCH] 首页 工作台 --- src/main/resources/mapper/AlarmMapper.xml | 62 +++++++++++++++++++++++++----- 1 files changed, 51 insertions(+), 11 deletions(-) diff --git a/src/main/resources/mapper/AlarmMapper.xml b/src/main/resources/mapper/AlarmMapper.xml index e9abda1..1417b37 100644 --- a/src/main/resources/mapper/AlarmMapper.xml +++ b/src/main/resources/mapper/AlarmMapper.xml @@ -1,26 +1,40 @@ <?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 id="getAlarmData" resultType="java.util.Map"> SELECT <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,8 +55,14 @@ <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'"> @@ -55,5 +75,25 @@ </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