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/java/com/moral/service/impl/AlarmServiceImpl.java |   81 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java
new file mode 100644
index 0000000..f04bc52
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java
@@ -0,0 +1,81 @@
+package com.moral.service.impl;
+
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import com.moral.mapper.AlarmMapper;
+import com.moral.service.AlarmService;
+import com.moral.service.HistoryMinutelyService;
+
+@Service
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class AlarmServiceImpl implements AlarmService {
+
+	@Resource
+	private AlarmMapper alarmMapper;
+
+	@Resource
+	private HistoryMinutelyService historyMinutelyService;
+
+	@Override
+	public Map getPieData(Map<String, Object> parameters) {
+		Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
+		try {
+			historyMinutelyService.convertQueryParam(parameters);
+		} catch (ParseException e) {
+			e.printStackTrace();
+		}
+		List<Map<String, Object>> alarmDatas = alarmMapper.getAlarmData(parameters);
+		Object dimension = parameters.get("dimension");
+		if ("monitorPoint".equals(dimension)) {
+			for (Map<String, Object> alarmData : alarmDatas) {
+				String name = alarmData.remove("name").toString();
+				alarmData.remove("sum");
+				for (Map.Entry<String, Object> entry : alarmData.entrySet()) {
+					String key = entry.getKey();
+					Object value = entry.getValue().toString();
+					if (!"0".equals(value)) {
+						List list;
+						Map<String, Object> map = new HashMap<String, Object>();
+						if (ObjectUtils.isEmpty(resultMap.get(key))) {
+							list = new ArrayList();
+						} else {
+							list = (List) resultMap.get(key);
+						}
+						map.put("name", name);
+						map.put("value", value);
+						list.add(map);
+						resultMap.put(key, list);
+					}
+				}
+			}
+		} else {
+			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>();
+						map.put("name", split[1]);
+						map.put("value", alarmData.get(key));
+						list.add(map);
+					}
+				}
+			}
+			resultMap.put("list", list);
+		}
+		return resultMap;
+	}
+
+}

--
Gitblit v1.8.0