| | |
| | | import com.alibaba.fastjson.JSON;
|
| | | import com.alibaba.fastjson.TypeReference;
|
| | | import com.moral.common.util.CalculateUtils;
|
| | | import com.moral.common.util.ParameterUtils;
|
| | | import com.moral.common.util.ReportTimeFormat;
|
| | | import com.moral.common.util.ResourceUtil;
|
| | | import com.moral.common.util.ValidateUtil;
|
| | |
| | |
|
| | | @Override
|
| | | public Map<String, Object> getDayAQIByDevice(Map<String, Object> parameters) {
|
| | | ValidateUtil.notNull(parameters.get("mac"), "param.is.null");
|
| | | //ValidateUtil.notNull(parameters.get("mac"), "param.is.null");
|
| | | LocalDate localDate = LocalDate.now();
|
| | | // 昨日00:00:00
|
| | | parameters.put("start", localDate.minusDays(1));
|
| | |
| | | List<Map<String, Object>> list = JSON.parseObject((String)parameters.remove("items"), new TypeReference<List<Map<String, Object>>>() {});
|
| | |
|
| | | String type = (String) parameters.get("type");
|
| | | parameters.putAll(getElementByType(type));
|
| | | // parameters.putAll(getElementByType(type));
|
| | | ParameterUtils.getElementByType(parameters);
|
| | | Integer timeLength = Integer.valueOf(parameters.remove("timeLength").toString());
|
| | | if ("month".equals(type)) {
|
| | | for (Map<String, Object> map : list) {
|
| | |
| | | Set<String> sensors = new TreeSet<String>(new Comparator<String>() {
|
| | | @Override
|
| | | public int compare(String o1, String o2) {
|
| | | return Integer.compare(Integer.valueOf(o1.split("-")[0].replace("e", "")), Integer.valueOf(o2.split("-")[0].replace("e", "")));
|
| | | return o1.split("-")[0].compareTo(o2.split("-")[0]);
|
| | | //return Integer.compare(Integer.valueOf(o1.split("-")[0].replace("e", "")), Integer.valueOf(o2.split("-")[0].replace("e", "")));
|
| | | }
|
| | | });
|
| | | Map<String, Double> sortMap = new HashMap<String, Double>();
|
| | |
| | | if (o2.getValue().compareTo(o1.getValue()) == 0) {
|
| | | String[] key1 = o1.getKey().split("-");
|
| | | String[] key2 = o2.getKey().split("-");
|
| | | String sensor1 = key1[0].replace("e", "");
|
| | | String sensor2 = key2[0].replace("e", "");
|
| | | if (Integer.valueOf(sensor1).compareTo(Integer.valueOf(sensor2)) == 0) {
|
| | | // String sensor1 = key1[0].replace("e", "");
|
| | | // String sensor2 = key2[0].replace("e", "");
|
| | | // if (Integer.valueOf(sensor1).compareTo(Integer.valueOf(sensor2)) == 0) {
|
| | | // return Integer.compare(Integer.valueOf(key1[1]), Integer.valueOf(key2[1]));
|
| | | // }
|
| | | // return Integer.valueOf(sensor1).compareTo(Integer.valueOf(sensor2));
|
| | | if (key1[0].compareTo(key2[0]) == 0) {
|
| | | return Integer.compare(Integer.valueOf(key1[1]), Integer.valueOf(key2[1]));
|
| | | } else {
|
| | | return key1[0].compareTo(key2[0]);
|
| | | }
|
| | | return Integer.valueOf(sensor1).compareTo(Integer.valueOf(sensor2));
|
| | | } else {
|
| | | return o2.getValue().compareTo(o1.getValue());
|
| | | }
|
| | | return o2.getValue().compareTo(o1.getValue());
|
| | | }
|
| | |
|
| | | });
|
| | |
| | | Object type = parameters.get("type");
|
| | | if ("year".equals(type) || "month".equals(type)) {
|
| | | parameters.put("sensorKeys", Arrays.asList("e1", "e2", "e10", "e11", "e15", "e16"));
|
| | | resultMap.put("alarmData" + part, alarmDailyMapper.getAlarmData(parameters).get(0));
|
| | | List<Map<String, Object>> alarmData = alarmDailyMapper.getAlarmData(parameters);
|
| | | if (!ObjectUtils.isEmpty(alarmData)) {
|
| | | resultMap.put("alarmData" + part, alarmDailyMapper.getAlarmData(parameters).get(0));
|
| | | }
|
| | | }
|
| | | return resultMap;
|
| | | }
|
| | |
| | | @Override
|
| | | public List<Map<String, Object>> getMonitorPointOrDeviceAvgData(Map<String, Object> parameters) throws Exception {
|
| | | convertQueryParam(parameters);
|
| | |
|
| | | if (!ObjectUtils.isEmpty(parameters.get("compensate"))) {
|
| | | parameters.put("timeUnits", "10min");
|
| | | }
|
| | | return historyMinutelyMapper.getMonitorPointOrDeviceAvgData(parameters);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void convertQueryParam(Map<String, Object> parameters) throws ParseException {
|
| | | String type = (String) parameters.get("type");
|
| | | if (!parameters.containsKey("field")) {
|
| | | parameters.putAll(getElementByType(type));
|
| | | // String type = (String) parameters.get("type");
|
| | | // parameters.putAll(getElementByType(type));
|
| | | ParameterUtils.getElementByType(parameters);
|
| | | }
|
| | | String time = (String) parameters.get("time");
|
| | | String format = (String) parameters.get("format");
|
| | |
| | |
|
| | | @Override
|
| | | public Map<String, Object> getMonthAverageBySensor(Map<String, Object> parameters) {
|
| | | ValidateUtil.notNull(parameters.get("mac"), "param.is.null");
|
| | | ValidateUtil.notNull(parameters.get("macKey"), "param.is.null");
|
| | | //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;
|
| | | // 每月一日的数据取上月的数据
|
| | |
| | | }
|
| | | parameters.put("start", start);
|
| | | parameters.put("end", end);
|
| | | String sensorKey = (String) parameters.remove("macKey");
|
| | | List<String> sensorKeys = new ArrayList<String>();
|
| | | sensorKeys.add(sensorKey);
|
| | | parameters.put("sensorKeys", sensorKeys);
|
| | | parameters.put("sensorKeys", Arrays.asList(sensorKey));
|
| | |
|
| | | Map<String, Double> average = historyMinutelyMapper.getSersionAvgByDevice(parameters);
|
| | | if (isEmpty(average)) {
|