xufenglei
2018-07-02 62520477e6ac5fc8ccce28fdb69ec26246a4a37b
src/main/java/com/moral/service/impl/AlarmServiceImpl.java
@@ -1,23 +1,20 @@
package com.moral.service.impl;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Date;
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.entity.charts.TimeUnits;
import com.moral.mapper.AlarmMapper;
import com.moral.service.AlarmService;
import com.moral.service.HistoryMinutelyService;
@Service
@SuppressWarnings({ "rawtypes", "unchecked" })
@SuppressWarnings({ "rawtypes" })
public class AlarmServiceImpl implements AlarmService {
   @Resource
@@ -25,63 +22,17 @@
   @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";
         }
      }
   @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();
         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;
       return alarmMapper.countByTimes(start, end, format);
   }
}