jinpengyong
2021-09-23 411fa85361e5f4d4094f25a2eaeb0f619f475fce
screen-job/src/main/java/com/moral/api/service/impl/HistoryDailyServiceImpl.java
@@ -3,7 +3,6 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.HistoryDaily;
import com.moral.api.entity.HistoryHourly;
import com.moral.api.entity.Sensor;
import com.moral.api.mapper.HistoryDailyMapper;
import com.moral.api.service.HistoryDailyService;
@@ -63,9 +62,13 @@
        List<Sensor> sensors = sensorService.list(sensorQueryWrapper);
        //获取所有设备小时数据
        QueryWrapper<HistoryHourly> historyHourlyQueryWrapper = new QueryWrapper<>();
        historyHourlyQueryWrapper.ge("time", DateUtils.dateToDateString(start)).le("time", DateUtils.dateToDateString(end));
        List<Map<String, Object>> dailyData = historyHourlyService.listMaps(historyHourlyQueryWrapper);
        Map<String, Object> prop = new HashMap<>();
        String timeUnits = DateUtils.dateToDateString(start, DateUtils.yyyyMM_EN);
        prop.put("timeUnits", timeUnits);
        prop.put("start", DateUtils.dateToDateString(start));
        prop.put("end", DateUtils.dateToDateString(end));
        List<Map<String, Object>> dailyData = historyHourlyService.selectDailyData(prop);
        if (dailyData.size() == 0) {
            return;
        }
@@ -76,18 +79,17 @@
        //存入数据库的结果集
        List<Map<String, Object>> insertData = new ArrayList<>();
        data.forEach((key, value) -> {
        data.forEach((mac, value) -> {
            Map<String, Object> dataMap = new HashMap<>();
            Map<String, Object> jsonMap = new HashMap<>();
            dataMap.put("mac", key);
            dataMap.put("mac", mac);
            dataMap.put("time", start);
            //中间变量,用于计算除臭氧外其它因子
            List<Map<String, Object>> tempValue = new ArrayList<>(value);
            //移除第一天数据(0点的),O3滑动值第一天数据是从1点-8点
            //移除第一天数据(0点的),O3滑动值第一条数据是从1点-8点
            value.removeIf(map -> ((Date) map.get("time")).getTime() == start.getTime());
            Map<String, Object> params = new HashMap<>();
            params.put("data", value);
            params.put("type", "day");
@@ -155,7 +157,6 @@
                            }
                            if (ObjectUtils.isEmpty(sensorValue)) {
                                System.out.println(456);
                                return null;
                            }
@@ -176,10 +177,6 @@
                                    return null;
                                }
                            }
                            if ("a00e12".equals(sensorCode)) {
                                System.out.println(key + "==" + sensorCode + "==" + v.get("time") + "==" + aDouble);
                            }
                            return DoubleStream.of(aDouble);
                        }).average();
                if (optionalDouble.isPresent()) {