From 6688e50ba02988d742baadaca156a303a90b6191 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Fri, 20 Apr 2018 14:03:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/resources/mapper/AlarmMapper.xml | 76 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 0 deletions(-) diff --git a/src/main/resources/mapper/AlarmMapper.xml b/src/main/resources/mapper/AlarmMapper.xml new file mode 100644 index 0000000..cad7fec --- /dev/null +++ b/src/main/resources/mapper/AlarmMapper.xml @@ -0,0 +1,76 @@ +<?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 + <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> + 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> + +</mapper> \ No newline at end of file -- Gitblit v1.8.0