From c0d88c1f82394c0374d2d592f4d2bca951d6334e Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Mon, 14 May 2018 15:58:07 +0800 Subject: [PATCH] 报表展示 增加行业筛选 --- 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 892c450..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="state != null"> - AND h.state = #{state} - </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