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