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