From a0b7214e89c4abd596ce8ad5ab115e9c7ea3dcda Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Thu, 13 Aug 2020 10:12:56 +0800 Subject: [PATCH] 风场图update --- src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java | 90 +++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 87 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java index d1235c5..710920a 100644 --- a/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java +++ b/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java @@ -15,6 +15,8 @@ import com.moral.mapper.SensorMapper; import com.moral.service.DeviceService; import com.moral.service.HistoryHourlyService; +import com.moral.service.SensorService; + import javax.annotation.Resource; @Service @@ -24,6 +26,9 @@ @Resource private DeviceService deviceService; + + @Resource + private SensorService sensorService; @Resource private SensorMapper sensorMapper; @@ -36,17 +41,96 @@ sensorKeys.add(sensor.getSensorKey()); } parameters.put("sensorKeys", sensorKeys); - return historyHourlyMapper.getPollutionSourceData(parameters); + Map<String, Object> pollutionSourceData = historyHourlyMapper.getPollutionSourceData(parameters); + if (MapUtils.isNotEmpty(pollutionSourceData)) { + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + String selectSensorKey = parameters.get("sensorKey").toString(); + for (Map.Entry<String, String> s : sensorsMap.entrySet()) { + if (selectSensorKey.equals(s.getKey())) { + selectSensorKey = s.getValue(); + } + } + pollutionSourceData.put("selectSensorKey", selectSensorKey); + } + return pollutionSourceData; + } + + @Override + public Map<String, Object> getPollutionSourceDataByHour(Map<String, Object> parameters) throws Exception { + List<Sensor> sensors = sensorMapper.getSensorsByMac(parameters); + List<String> sensorKeys = new ArrayList<>(); + for (Sensor sensor : sensors) { + sensorKeys.add(sensor.getSensorKey()); + } + parameters.put("sensorKeys", sensorKeys); + Map<String, Object> pollutionSourceData = historyHourlyMapper.getPollutionSourceDataByHour(parameters); + if (MapUtils.isNotEmpty(pollutionSourceData)) { + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + String selectSensorKey = parameters.get("sensorKey").toString(); + for (Map.Entry<String, String> s : sensorsMap.entrySet()) { + if (selectSensorKey.equals(s.getKey())) { + selectSensorKey = s.getValue(); + } + } + pollutionSourceData.put("selectSensorKey", selectSensorKey); + } + return pollutionSourceData; + } + + @Override + public Map<String, Object> getPollutionSourceDataAll(Map<String, Object> parameters) throws Exception { + List<Sensor> sensors = sensorMapper.getSensorsByMac(parameters); + List<String> sensorKeys = new ArrayList<>(); + for (Sensor sensor : sensors) { + sensorKeys.add(sensor.getSensorKey()); + } + parameters.put("sensorKeys", sensorKeys); + Map<String, Object> pollutionSourceData = historyHourlyMapper.getPollutionSourceDataAll(parameters); + if (MapUtils.isNotEmpty(pollutionSourceData)) { + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + String selectSensorKey = parameters.get("sensorKey").toString(); + for (Map.Entry<String, String> s : sensorsMap.entrySet()) { + if (selectSensorKey.equals(s.getKey())) { + selectSensorKey = s.getValue(); + } + } + pollutionSourceData.put("selectSensorKey", selectSensorKey); + } + return pollutionSourceData; + } + + @Override + public String getTVOCByMac(String mac,String time,String sensor) { + return historyHourlyMapper.getTVOCByMac(mac,time,sensor); + } + + @Override + public String getPressureByMac(String mac, String time) { + return historyHourlyMapper.getPressureByMac(mac,time); + } + + @Override + public Map<String,Object> getDataByMac(String mac, String time) { + return historyHourlyMapper.getDataByMac(mac,time); + } + + @Override + public List<Map<String, Object>> getDataByTimeSlot(String mac, String startTime, String endTime) throws Exception { + List<Map<String, Object>> resultMap = historyHourlyMapper.getDataByTimeSlot(mac,startTime,endTime); + return resultMap; } @Override public Point getDirPoint(Map<String, Object> parameters) throws Exception { - Map<String, Object> pollutionSourceData = getPollutionSourceData(parameters); + Map<String, Object> pollutionSourceData = getPollutionSourceDataByHour(parameters); + if (MapUtils.isEmpty(pollutionSourceData)) { + pollutionSourceData = getPollutionSourceDataAll(parameters); + } String mac = parameters.get("mac").toString(); Device device = deviceService.getDeviceByMac(mac, false); Point pointEnd = new Point(); if (MapUtils.isNotEmpty(pollutionSourceData)) { - if (pollutionSourceData.get("e18") != null && pollutionSourceData.get("e23") != null && pollutionSourceData.get("e6") != null) { + if (pollutionSourceData.get("e18") != null && pollutionSourceData.get("e23") != null) { double windSpeed = Double.valueOf(pollutionSourceData.get("e18").toString()); double winDir = Double.valueOf(pollutionSourceData.get("e23").toString()); double distance = windSpeed * 3600; -- Gitblit v1.8.0