| | |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> getAverageBySensor(Map<String, Object> parameters) { |
| | | //ValidateUtil.notNull(parameters.get("mac"), "param.is.null"); |
| | | Object sensorKey = parameters.remove("macKey"); |
| | | ValidateUtil.notNull(sensorKey, "param.is.null"); |
| | | Map<String, Object> result = new HashMap<String, Object>(); |
| | | LocalDate end = LocalDate.now(), start; |
| | | // 每月一日的数据取上月的数据 |
| | | if (1 == end.getDayOfMonth()) { |
| | | // 上个月1日00:00:00 |
| | | start = end.plusDays(-1).with(TemporalAdjusters.firstDayOfMonth()); |
| | | } else { |
| | | // 这个月1日00:00:00 |
| | | start = end.with(TemporalAdjusters.firstDayOfMonth()); |
| | | } |
| | | parameters.put("start", start); |
| | | parameters.put("end", end); |
| | | parameters.put("sensorKeys", Arrays.asList(sensorKey)); |
| | | |
| | | Map<String, Double> average = historyMinutelyMapper.getAvgByDevice(parameters); |
| | | if (isEmpty(average)) { |
| | | result.put("average", NULL_VALUE); |
| | | } else { |
| | | result.put("average", String.format("%.2f", average.get(sensorKey))); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 根据线性表单的条件规则,获取多条线性表单数据 |
| | | * |