From ff8e858fc5da5de2739da2e1bf425f5c075091ba Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Wed, 09 May 2018 10:21:44 +0800 Subject: [PATCH] mobile app 设备详情 --- src/main/java/com/moral/service/impl/AlarmDailyServiceImpl.java | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/moral/service/impl/AlarmDailyServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmDailyServiceImpl.java index de4d232..2fb7446 100644 --- a/src/main/java/com/moral/service/impl/AlarmDailyServiceImpl.java +++ b/src/main/java/com/moral/service/impl/AlarmDailyServiceImpl.java @@ -5,10 +5,13 @@ import java.time.temporal.TemporalAdjusters; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -16,6 +19,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; +import com.moral.entity.Sensor; import com.moral.mapper.AlarmDailyMapper; import com.moral.mapper.SensorMapper; import com.moral.service.AlarmDailyService; @@ -119,4 +123,38 @@ return Arrays.asList(result); } + @Override + public List<Map<String, Object>> getAlarmDataByMonth(Map<String, Object> parameters) { + LocalDate localDate = LocalDate.now(); + List<Sensor> sensors = sensorMapper.selectAll(); + parameters.put("start", localDate.with(TemporalAdjusters.firstDayOfMonth())); + parameters.put("end", localDate.with(TemporalAdjusters.firstDayOfNextMonth())); + parameters.put("sensors", sensors); + Map<String, Object> map = alarmDailyMapper.getAlarmDataByMonth(parameters); + List<Entry<String, Object>> list = new ArrayList<Entry<String,Object>>(map.entrySet()); + Collections.sort(list, new Comparator<Map.Entry<String, Object>>() { + @Override + public int compare(Entry<String, Object> o1, Entry<String, Object> o2) { + if (o2.getValue().equals(o1.getValue())) { + return Integer.compare(Integer.valueOf(o1.getKey().replace("e", "")),Integer.valueOf(o2.getKey().replace("e", ""))); + } + return Integer.valueOf(o2.getValue().toString()).compareTo(Integer.valueOf(o1.getValue().toString())); + } + }); + List<Map<String, Object>> resultList = new ArrayList<Map<String,Object>>(); + for (Entry<String, Object> entry : list) { + for (Sensor sensor : sensors) { + if (!entry.getValue().toString().equals("0") && entry.getKey().equals(sensor.getSensorKey())) { + Map<String, Object> map2 = new HashMap<String, Object>(); + map2.put(sensor.getName(), entry.getValue()); + resultList.add(map2); + sensors.remove(sensor); + break; + } + } + } + + return resultList; + } + } -- Gitblit v1.8.0