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 parameters) { Map resultMap = new LinkedHashMap(); try { historyMinutelyService.convertQueryParam(parameters); } catch (ParseException e) { e.printStackTrace(); } List> alarmDatas = alarmMapper.getAlarmData(parameters); Object dimension = parameters.get("dimension"); if ("monitorPoint".equals(dimension)) { for (Map alarmData : alarmDatas) { String name = alarmData.remove("name").toString(); alarmData.remove("sum"); for (Map.Entry entry : alarmData.entrySet()) { String key = entry.getKey(); Object value = entry.getValue().toString(); if (!"0".equals(value)) { List list; Map map = new HashMap(); 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 alarmData = alarmDatas.get(0); List sensors = (List) 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 map = new HashMap(); map.put("name", split[1]); map.put("value", alarmData.get(key)); list.add(map); } } } resultMap.put("list", list); } return resultMap; } }