From 5476f8bcf411ce654c02fbd34b9086518adbd917 Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Thu, 10 Sep 2020 14:25:41 +0800 Subject: [PATCH] 三天数据对比 --- src/main/java/com/moral/service/impl/SensorServiceImpl.java | 83 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 80 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/moral/service/impl/SensorServiceImpl.java b/src/main/java/com/moral/service/impl/SensorServiceImpl.java index 7d0c013..3a5e7ce 100644 --- a/src/main/java/com/moral/service/impl/SensorServiceImpl.java +++ b/src/main/java/com/moral/service/impl/SensorServiceImpl.java @@ -3,14 +3,13 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; -import org.apache.commons.collections.CollectionUtils; -import org.springframework.stereotype.Service; - +import com.alibaba.fastjson.JSONObject; import com.moral.common.bean.PageBean; import com.moral.common.util.MyBatisBaseMapUtil; import com.moral.entity.Device; @@ -20,6 +19,8 @@ import com.moral.service.MonitorPointService; import com.moral.service.SensorService; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.stereotype.Service; import tk.mybatis.mapper.entity.Example; @Service @@ -150,6 +151,23 @@ } @Override + public List<Map<String, String>> getSensorsAllMap() { + List<Sensor> sensors = sensorMapper.selectAll(); + Map<String, String> sensorsDescriptionMap = new HashMap<>(); + for (Sensor sensor : sensors) { + sensorsDescriptionMap.put(sensor.getSensorKey(), sensor.getDescription()); + } + Map<String, String> sensorsUnitMap = new HashMap<>(); + for (Sensor sensor : sensors) { + sensorsUnitMap.put(sensor.getSensorKey(), sensor.getUnit()); + } + List<Map<String, String>> sensorsMapList = new ArrayList<>(); + sensorsMapList.add(sensorsDescriptionMap); + sensorsMapList.add(sensorsUnitMap); + return sensorsMapList; + } + + @Override public List<Sensor> selectSenosrsByOrgId(Map<String, Object> parameters) { List<String> macList = new ArrayList<>(); List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsAndDevicesByRegion(parameters); @@ -168,4 +186,63 @@ return sensors; } + @Override + public List<List<String>> listSensorInfos(String[] sensorsResult) { + List<String> sensorKeys = new ArrayList<>(); + List<String> sensorKeysNames = new ArrayList<>(); + List<String> sensorKeysUnits = new ArrayList<>(); + List<List<String>> sensorInfos = new ArrayList<>(); + for (int index = 0; index < sensorsResult.length; index++) { + String[] split = sensorsResult[index].split("-"); + String key = split[0].replace("\"", ""); + String name = split[1].replace("\"", ""); + String Unit = split[2].replace("\"", ""); + sensorKeys.add(key); + sensorKeysNames.add(name); + sensorKeysUnits.add(Unit); + } + sensorInfos.add(sensorKeys); + sensorInfos.add(sensorKeysNames); + sensorInfos.add(sensorKeysUnits); + return sensorInfos; + } + + @Override + public List<List<Map<String, Object>>> listExcelDatas(List<List<String>> sensorInfos, List<Map<String, Object>> list) { + List<List<Map<String, Object>>> sheets = new ArrayList<>(); + for (int i = 0; i < sensorInfos.get(0).size(); i++) { + List<Map<String, Object>> sheet = new ArrayList<>(); + for (int j = 0; j < list.size(); j++) { + Map<String, Object> data = new LinkedHashMap<>(); + for (Map.Entry<String, Object> kv : list.get(j).entrySet()) { + if ("monitorPointName".equals(kv.getKey())) { + if ("null".equals(sensorInfos.get(2).get(i))) { + data.put("������������(������:)", kv.getValue()); + } else { + data.put("������������(������:" + sensorInfos.get(2).get(i) + ")", kv.getValue()); + } + } else if ("name".equals(kv.getKey())) { + data.put("������������", kv.getValue()); + } else { + String sensorsValue = kv.getValue().toString(); + JSONObject jsonObject = JSONObject.parseObject(sensorsValue); + if (jsonObject != null) { + List<Object> sensorsValueList = (List<Object>) jsonObject.get(sensorInfos.get(0).get(i)); + if (sensorsValueList != null) { + data.put(kv.getKey(), sensorsValueList.get(0)); + } else { + data.put(kv.getKey(), ""); + } + } else { + data.put(kv.getKey(), ""); + } + } + } + sheet.add(data); + } + sheets.add(sheet); + } + return sheets; + } + } -- Gitblit v1.8.0