1.污染值算法迁移
2.增加暂态信息补招
This commit is contained in:
@@ -2,6 +2,7 @@ package com.njcn.migration.read.controller;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import com.njcn.api.MigrationInsertFeignClient;
|
||||
import com.njcn.param.LineCountEvaluateParam;
|
||||
import com.njcn.migration.read.service.MigrationService;
|
||||
import io.swagger.annotations.*;
|
||||
@@ -32,7 +33,7 @@ import java.time.temporal.ChronoUnit;
|
||||
public class MigrationInfluxDBController {
|
||||
|
||||
private final MigrationService migrationService;
|
||||
|
||||
private final MigrationInsertFeignClient migrationInsertFeignClient;
|
||||
|
||||
@GetMapping("/influxdb")
|
||||
@ApiOperation("influxdb数据同步->天数按小时进行分组同步")
|
||||
@@ -68,29 +69,32 @@ public class MigrationInfluxDBController {
|
||||
}
|
||||
@GetMapping(value = "/importExcel")
|
||||
@ApiOperation(value ="是否更新数据(1是 0否表示用于定时任务)")
|
||||
public void importDistributionAreaExcel(@RequestParam("type") Integer type) {
|
||||
public void importDistributionAreaExcel(@RequestParam("type") Integer type,@RequestParam("startDate") String startDateTime,@RequestParam("endDate") String endDateTime) {
|
||||
if(type==0){
|
||||
migrationService.initializeExcel();
|
||||
}else{
|
||||
System.out.println("--------------------------------手动1influxdb同步------------------------------------");
|
||||
// 获取当前时间
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
// 减去2个小时
|
||||
LocalDateTime oneHourAgo = now.minusHours(2);
|
||||
// 将分钟和秒设置为0
|
||||
LocalDateTime result = oneHourAgo.truncatedTo(ChronoUnit.HOURS);
|
||||
// 加上59分钟59秒
|
||||
LocalDateTime modifiedResult = result.plusMinutes(59).plusSeconds(59);
|
||||
|
||||
LineCountEvaluateParam param = new LineCountEvaluateParam();
|
||||
param.setIsManual(false);
|
||||
param.setStartTime(result.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
|
||||
param.setEndTime(modifiedResult.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
|
||||
migrationService.hourseLineDataBacthSysc(param);
|
||||
migrationService.hourseDevDataBacthSysc(param);
|
||||
try {
|
||||
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN);
|
||||
LineCountEvaluateParam param=new LineCountEvaluateParam();
|
||||
param.setIsManual(true);
|
||||
LocalDateTime startDate = LocalDateTimeUtil.parse(startDateTime, DatePattern.NORM_DATETIME_PATTERN);
|
||||
LocalDateTime endDate = LocalDateTimeUtil.parse(endDateTime, DatePattern.NORM_DATETIME_PATTERN);
|
||||
long betweenDay = LocalDateTimeUtil.between(startDate, endDate, ChronoUnit.HOURS);
|
||||
param.setStartTime(startDate.format(dateTimeFormatter));
|
||||
param.setEndTime(startDate.with(LocalTime.of(startDate.getHour(), 59, 59)).format(dateTimeFormatter));
|
||||
migrationService.hourseLineEventBacthSysc(param);
|
||||
for (int i = 0; i <betweenDay; i++) {
|
||||
LineCountEvaluateParam countEvaluateParam=new LineCountEvaluateParam();
|
||||
countEvaluateParam.setIsManual(true);
|
||||
startDate = LocalDateTimeUtil.offset(startDate, 1, ChronoUnit.HOURS);
|
||||
countEvaluateParam.setStartTime(startDate.format(dateTimeFormatter));
|
||||
countEvaluateParam.setEndTime(startDate.with(LocalTime.of(startDate.getHour(), 59, 59)).format(dateTimeFormatter));
|
||||
migrationService.hourseLineEventBacthSysc(countEvaluateParam);
|
||||
}
|
||||
} catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -46,19 +46,32 @@ public class MigrationInfluxDBJob {
|
||||
System.out.println("--------------------------------influxdb同步------------------------------------");
|
||||
// 获取当前时间
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
|
||||
// 减去2个小时
|
||||
LocalDateTime oneHourAgo = now.minusHours(2);
|
||||
// 将分钟和秒设置为0
|
||||
LocalDateTime result = oneHourAgo.truncatedTo(ChronoUnit.HOURS);
|
||||
// 加上59分钟59秒
|
||||
LocalDateTime modifiedResult = result.plusMinutes(59).plusSeconds(59);
|
||||
|
||||
LineCountEvaluateParam param = new LineCountEvaluateParam();
|
||||
param.setIsManual(false);
|
||||
param.setStartTime(result.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
|
||||
param.setEndTime(modifiedResult.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
|
||||
migrationService.hourseLineDataBacthSysc(param);
|
||||
migrationService.hourseDevDataBacthSysc(param);
|
||||
|
||||
//定时任务在往前补一小时的
|
||||
LocalDateTime oneHourAgoOld = now.minusHours(3);
|
||||
// 将分钟和秒设置为0
|
||||
LocalDateTime resultOld = oneHourAgoOld.truncatedTo(ChronoUnit.HOURS);
|
||||
// 加上59分钟59秒
|
||||
LocalDateTime modifiedResultOld = resultOld.plusMinutes(59).plusSeconds(59);
|
||||
LineCountEvaluateParam paramOld = new LineCountEvaluateParam();
|
||||
paramOld.setIsManual(false);
|
||||
paramOld.setStartTime(resultOld.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
|
||||
paramOld.setEndTime(modifiedResultOld.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
|
||||
migrationService.hourseLineDataBacthSysc(paramOld);
|
||||
migrationService.hourseDevDataBacthSysc(paramOld);
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 0 22 * * ?")
|
||||
|
||||
@@ -12,6 +12,8 @@ public interface MigrationService {
|
||||
|
||||
void hourseLineDataBacthSysc(LineCountEvaluateParam param);
|
||||
|
||||
void hourseLineEventBacthSysc(LineCountEvaluateParam param);
|
||||
|
||||
void hourseDevDataBacthSysc(LineCountEvaluateParam param);
|
||||
|
||||
void initializeExcel();
|
||||
|
||||
@@ -94,13 +94,21 @@ public class MigrationServiceImpl implements MigrationService {
|
||||
migrationInsertFeignClient.insertDataInharmI(dataInharmI.listDataInharmI(evaluateParam));
|
||||
migrationInsertFeignClient.insertDataInharmV(dataInharmV.listDataInharmV(evaluateParam));
|
||||
migrationInsertFeignClient.insertDataPlt(dataPlt.listDataPlt(evaluateParam));
|
||||
// migrationInsertFeignClient.batchInsertion(eventDetail.getRawData(evaluateParam));
|
||||
migrationInsertFeignClient.batchInsertion(eventDetail.getRawData(evaluateParam));
|
||||
|
||||
if (!param.getIsManual() && StrUtil.isNotBlank(format)) {
|
||||
TimeUtil.putLineTime(lineId, format);
|
||||
}
|
||||
});
|
||||
System.gc();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Async("asyncInfluxDBExecutor")
|
||||
public void hourseLineEventBacthSysc(LineCountEvaluateParam param) {
|
||||
LineCountEvaluateParam evaluateParam = new LineCountEvaluateParam();
|
||||
evaluateParam.setStartTime(param.getStartTime());
|
||||
evaluateParam.setEndTime(param.getEndTime());
|
||||
migrationInsertFeignClient.batchInsertion(eventDetail.getRawData(evaluateParam));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user