From 4686914dd93138d69e9280a88f24a51a711f52be Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Fri, 27 Apr 2018 09:01:57 +0800 Subject: [PATCH] 优化 报警数据查询 --- src/main/resources/mapper/AlarmMapper.xml | 8 ++++---- src/main/java/com/moral/service/impl/AlarmServiceImpl.java | 24 +++++++++++++----------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java index 3d56965..a295091 100644 --- a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java +++ b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java @@ -62,18 +62,20 @@ Map<String, Object> alarmData = alarmDatas.get(0); List<String> sensors = (List<String>) parameters.get("sensors"); List list = new ArrayList(); - for (String key : alarmData.keySet()) { - for (String sensor : sensors) { - String[] split = sensor.split("-"); - if (key.equals(split[0]) && !"0".equals(alarmData.get(key).toString())) { - Map<String, Object> map = new HashMap<String, Object>(); - if (parameters.containsKey("description")) { - map.put("name", split[3]); - } else { - map.put("name", split[1]); + if (!ObjectUtils.isEmpty(alarmData)) { + for (String key : alarmData.keySet()) { + for (String sensor : sensors) { + String[] split = sensor.split("-"); + if (key.equals(split[0]) && !"0".equals(alarmData.get(key).toString())) { + Map<String, Object> map = new HashMap<String, Object>(); + if (parameters.containsKey("description")) { + map.put("name", split[3]); + } else { + map.put("name", split[1]); + } + map.put("value", alarmData.get(key)); + list.add(map); } - map.put("value", alarmData.get(key)); - list.add(map); } } } diff --git a/src/main/resources/mapper/AlarmMapper.xml b/src/main/resources/mapper/AlarmMapper.xml index a1f8c94..f053aeb 100644 --- a/src/main/resources/mapper/AlarmMapper.xml +++ b/src/main/resources/mapper/AlarmMapper.xml @@ -1,7 +1,7 @@ <?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 id="getAlarmData" resultType="java.util.LinkedHashMap"> SELECT <if test="dimension=='monitorPoint'"> `name`, @@ -32,11 +32,11 @@ </foreach> </when> <otherwise> - DATE_FORMAT( h.time, '%Y-%m-%d' ) AS 'time' + h.time </otherwise> </choose> FROM - alarm h, + alarm_daily h, device d, monitor_point mp WHERE d.monitor_point_id = mp.id @@ -68,7 +68,7 @@ <if test="dimension=='monitorPoint'"> mp.id, </if> - DATE_FORMAT( h.time, '%Y-%m-%d' ) + h.time ) a <if test="dimension=='monitorPoint'"> GROUP BY name -- Gitblit v1.8.0