jinpengyong
2021-07-02 f5765e4ff4ea188e8a6ba4d66f3c4e7fc2268fdd
screen-job/src/main/java/com/moral/api/service/impl/HistoryWeeklyServiceImpl.java
@@ -49,9 +49,10 @@
    @Override
    public void insertHistoryWeekly() {
        Date now = new Date();
        //开始时间,上周一
        Date start = DateUtils.geLastWeekMonday();
        Date start = DateUtils.getLastWeekMonday();
        //结束时间,本周一
        Date end = DateUtils.addDays(start, 7);
        //因子
        QueryWrapper<Sensor> sensorQueryWrapper = new QueryWrapper<>();
        sensorQueryWrapper.select("code").eq("is_delete", Constants.NOT_DELETE);
@@ -59,7 +60,7 @@
        //获取所有设备日数据
        QueryWrapper<HistoryDaily> historyDailyQueryWrapper = new QueryWrapper<>();
        historyDailyQueryWrapper.ge("time", DateUtils.dateToDateString(start)).lt("time", DateUtils.dateToDateString(now));
        historyDailyQueryWrapper.ge("time", DateUtils.dateToDateString(start)).lt("time", DateUtils.dateToDateString(end));
        List<Map<String, Object>> weeklyData = historyDailyService.listMaps(historyDailyQueryWrapper);
        if (weeklyData.size() == 0) {
            return;
@@ -84,13 +85,13 @@
            }
            //CO 95百分位计算并修约
            Object coAvg = AmendUtils.getCOAvgOfWeek(value);
            Object coAvg = AmendUtils.getCOAvgOfWeekOrMonth(value);
            if (coAvg != null) {
                jsonMap.put(Constants.SENSOR_CODE_CO, coAvg);
            }
            //O3 90百分位计算并修约
            Object o3Avg = AmendUtils.getO3AvgOfWeek(value);
            Object o3Avg = AmendUtils.getO3AvgOfWeekOrMonth(value);
            if (o3Avg != null) {
                jsonMap.put(Constants.SENSOR_CODE_O3, o3Avg);
            }
@@ -130,21 +131,4 @@
        //存入数据库
        historyWeeklyMapper.insertHistoryWeekly(insertData);
    }
    public static void main(String[] args) {
        List<Double> data = new ArrayList<>();
        data.add(7d);
        data.add(15d);
        data.add(36d);
        data.add(39d);
        data.add(40d);
        data.add(41d);
        data.add(20d);
        data.add(18d);
        System.out.println(data);
        System.out.println(AmendUtils.percentile(data, 95));
    }
}