| | |
| | | |
| | | @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); |
| | |
| | | |
| | | //获取所有设备日数据 |
| | | 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; |
| | |
| | | } |
| | | |
| | | //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); |
| | | } |
| | |
| | | //存入数据库 |
| | | 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)); |
| | | |
| | | } |
| | | |
| | | |
| | | } |