From 267dbb29a3c31e371d1a5cb9171be5a416ecf778 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 07 May 2018 13:51:01 +0800
Subject: [PATCH] 地图相关资源

---
 src/main/java/com/moral/service/impl/AlarmServiceImpl.java |   79 ++++++++++++++++++++++++++++-----------
 1 files changed, 56 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java
index 8b2e03c..8b97ca5 100644
--- a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java
@@ -1,14 +1,11 @@
 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 java.util.*;
 
 import javax.annotation.Resource;
 
+import com.moral.entity.charts.TimeUnits;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
@@ -25,36 +22,72 @@
 
 	@Resource
 	private HistoryMinutelyService historyMinutelyService;
+    @Override
+	public List<Map> countByTimes(Date start, Date end, TimeUnits timeUnits){
+    	String format = null;
+    	if(timeUnits!=null){
+			switch (timeUnits){
+				case MONTH: format = "%Y-%m";
+				case DAY: format = "%Y-%m-%d";
+			}
+		}
 
+    	return alarmMapper.countByTimes(start, end, format);
+	}
 	@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);
-		Map<String, List> resultMap = new LinkedHashMap<String, List>();
-		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 = resultMap.get(key);
+		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);
 					}
-					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();
+			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);
+						}
+					}
+				}
+			}
+			resultMap.put("list", list);
 		}
 		return resultMap;
 	}

--
Gitblit v1.8.0