This commit is contained in:
wr
2025-06-17 16:49:31 +08:00
parent 34d49847ab
commit 67bfba23eb
4 changed files with 79 additions and 47 deletions

View File

@@ -87,4 +87,26 @@ public class MigrationInfluxDBController {
fileInputStream.close(); fileInputStream.close();
responseOutputStream.close(); responseOutputStream.close();
} }
@GetMapping(value = "/influxdbCs",produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ApiOperation(value ="influxdb数据同步->天数按小时进行分组同步测试", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public void influxdbCs() {
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);
}
} }

View File

@@ -43,6 +43,7 @@ public class MigrationInfluxDBJob {
private final RmpEventDetailMapper detailMapper; private final RmpEventDetailMapper detailMapper;
@Scheduled(cron = "0 2 * * * ?") @Scheduled(cron = "0 2 * * * ?")
public void InfluxDBJob() { public void InfluxDBJob() {
System.out.println("--------------------------------influxdb同步------------------------------------");
// 获取当前时间 // 获取当前时间
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// 减去2个小时 // 减去2个小时
@@ -62,6 +63,7 @@ public class MigrationInfluxDBJob {
@Scheduled(cron = "0 0 22 * * ?") @Scheduled(cron = "0 0 22 * * ?")
public void mapJob() throws IOException { public void mapJob() throws IOException {
System.out.println("--------------------------------excel文件同步------------------------------------");
File file = new File("/usr/local/jar/sj.xlsx"); File file = new File("/usr/local/jar/sj.xlsx");
List<LineTimeDto> excelDataV = EasyExcel.read(file) List<LineTimeDto> excelDataV = EasyExcel.read(file)
.head(LineTimeDto.class) .head(LineTimeDto.class)

View File

@@ -58,43 +58,47 @@ public class MigrationServiceImpl implements MigrationService {
Map<String, String> map = TimeUtil.getLineMap(); Map<String, String> map = TimeUtil.getLineMap();
int size = map.size(); int size = map.size();
final Integer[] num = {0}; final Integer[] num = {0};
map.forEach((lineId,time)->{ map.forEach((lineId, time) -> {
num[0] = num[0] + 1; num[0] = num[0] + 1;
System.out.println("当前总监测点数量"+size+"当前第"+num[0]+"-》"+lineId+" "+param.getStartTime()+" "+param.getEndTime()+"剩余"+(size-num[0])); LineCountEvaluateParam evaluateParam = new LineCountEvaluateParam();
String format=null; evaluateParam.setLineId(Arrays.asList(lineId));
if(!param.getIsManual()){ evaluateParam.setStartTime(param.getStartTime());
if(StrUtil.isNotBlank(time)){ evaluateParam.setEndTime(param.getEndTime());
param.setStartTime(time);
if (!param.getIsManual()) {
if (StrUtil.isNotBlank(time)) {
evaluateParam.setStartTime(time);
} }
} }
param.setLineId(Arrays.asList(lineId));
List<DataV> dataVS = dataV.listDataV(param); String format = null;
if(CollUtil.isNotEmpty(dataVS)){ List<DataV> dataVS = dataV.listDataV(evaluateParam);
if(!param.getIsManual()){ if (CollUtil.isNotEmpty(dataVS)) {
if (!param.getIsManual()) {
format = dataVS.get(0).getTimeId(); format = dataVS.get(0).getTimeId();
} }
migrationInsertFeignClient.insertDataV(dataVS); migrationInsertFeignClient.insertDataV(dataVS);
} }
migrationInsertFeignClient.insertDataFlicker(dataFlicker.listDataFlicker(param)); migrationInsertFeignClient.insertDataFlicker(dataFlicker.listDataFlicker(evaluateParam));
migrationInsertFeignClient.insertDataFluc(dataFluc.listDataFluc(param)); migrationInsertFeignClient.insertDataFluc(dataFluc.listDataFluc(evaluateParam));
migrationInsertFeignClient.insertDataHarmphasicI(dataHarmphasicI.listDataHarmphasicI(param)); migrationInsertFeignClient.insertDataHarmphasicI(dataHarmphasicI.listDataHarmphasicI(evaluateParam));
migrationInsertFeignClient.insertDataHarmphasicV(dataHarmphasicV.listDataHarmphasicV(param)); migrationInsertFeignClient.insertDataHarmphasicV(dataHarmphasicV.listDataHarmphasicV(evaluateParam));
migrationInsertFeignClient.insertDataHarmpowerP(dataHarmpowerP.listDataHarmpowerP(param)); migrationInsertFeignClient.insertDataHarmpowerP(dataHarmpowerP.listDataHarmpowerP(evaluateParam));
migrationInsertFeignClient.insertDataHarmpowerQ(dataHarmpowerQ.listDataHarmpowerQ(param)); migrationInsertFeignClient.insertDataHarmpowerQ(dataHarmpowerQ.listDataHarmpowerQ(evaluateParam));
migrationInsertFeignClient.insertDataHarmpowerS(dataHarmpowerS.listDataHarmpowerS(param)); migrationInsertFeignClient.insertDataHarmpowerS(dataHarmpowerS.listDataHarmpowerS(evaluateParam));
migrationInsertFeignClient.insertDataHarmrateI(dataHarmRateI.listDataHarmrateI(param)); migrationInsertFeignClient.insertDataHarmrateI(dataHarmRateI.listDataHarmrateI(evaluateParam));
migrationInsertFeignClient.insertDataHarmrateV(dataHarmRateV.listDataHarmrateV(param)); migrationInsertFeignClient.insertDataHarmrateV(dataHarmRateV.listDataHarmrateV(evaluateParam));
migrationInsertFeignClient.insertDataI(dataI.listDataI(param)); migrationInsertFeignClient.insertDataI(dataI.listDataI(evaluateParam));
migrationInsertFeignClient.insertDataInharmI(dataInharmI.listDataInharmI(param)); migrationInsertFeignClient.insertDataInharmI(dataInharmI.listDataInharmI(evaluateParam));
migrationInsertFeignClient.insertDataInharmV(dataInharmV.listDataInharmV(param)); migrationInsertFeignClient.insertDataInharmV(dataInharmV.listDataInharmV(evaluateParam));
migrationInsertFeignClient.insertDataPlt(dataPlt.listDataPlt(param)); migrationInsertFeignClient.insertDataPlt(dataPlt.listDataPlt(evaluateParam));
migrationInsertFeignClient.batchInsertion(eventDetail.getRawData(param)); migrationInsertFeignClient.batchInsertion(eventDetail.getRawData(evaluateParam));
System.out.println("定时任务_当前总监测点数量" + size + "当前第" + num[0] + "-》" + lineId + " 文件时间 " + time + " |最新数据时间" + format + "| " + evaluateParam.getStartTime() + " " + evaluateParam.getEndTime() + "剩余" + (size - num[0]));
if(!param.getIsManual()&&StrUtil.isNotBlank(format)){ if (!param.getIsManual() && StrUtil.isNotBlank(format)) {
TimeUtil.putLineTime(lineId,format); TimeUtil.putLineTime(lineId, format);
} }
}); });
System.gc();
} }
@Override @Override
@@ -103,38 +107,40 @@ public class MigrationServiceImpl implements MigrationService {
Map<String, String> map = TimeUtil.getDevMap(); Map<String, String> map = TimeUtil.getDevMap();
int size = map.size(); int size = map.size();
final Integer[] num = {0}; final Integer[] num = {0};
map.forEach((lineId,time)->{ map.forEach((lineId, time) -> {
num[0] = num[0] + 1; num[0] = num[0] + 1;
System.out.println("当前总终端数量"+size+"当前第"+num[0]+"-》"+lineId+" "+param.getStartTime()+" "+param.getEndTime()+"剩余"+(size-num[0])); LineCountEvaluateParam evaluateParam = new LineCountEvaluateParam();
String format=null; evaluateParam.setLineId(Arrays.asList(lineId));
if(!param.getIsManual()){ evaluateParam.setStartTime(param.getStartTime());
if(StrUtil.isNotBlank(time)){ evaluateParam.setEndTime(param.getEndTime());
String format = null;
if (!param.getIsManual()) {
if (StrUtil.isNotBlank(time)) {
param.setStartTime(time); param.setStartTime(time);
} }
} }
param.setLineId(Arrays.asList(lineId)); List<PqsCommunicate> pqsCommunicates = pqsCommunicate.listPqsCommunicate(evaluateParam);
List<PqsCommunicate> pqsCommunicates = pqsCommunicate.listPqsCommunicate(param); if (CollUtil.isNotEmpty(pqsCommunicates)) {
if(CollUtil.isNotEmpty(pqsCommunicates)){ if (!param.getIsManual()) {
if(!param.getIsManual()){
format = pqsCommunicates.get(0).getTimeId(); format = pqsCommunicates.get(0).getTimeId();
} }
migrationInsertFeignClient.insertPqsCommunicate(pqsCommunicates); migrationInsertFeignClient.insertPqsCommunicate(pqsCommunicates);
} }
if(!param.getIsManual()&&StrUtil.isNotBlank(format)){ System.out.println("当前总终端数量" + size + "当前第" + num[0] + "-》" + lineId + " 文件时间 " + time + " |最新数据时间" + format + "| " + evaluateParam.getStartTime() + " " + evaluateParam.getEndTime() + "剩余" + (size - num[0]));
TimeUtil.putDevTime(lineId,format); if (!param.getIsManual() && StrUtil.isNotBlank(format)) {
TimeUtil.putDevTime(lineId, format);
} }
}); });
System.gc();
} }
@Override @Override
@Async("asyncInfluxDBExecutor")
public void initializeExcel() { public void initializeExcel() {
File file = new File("/usr/local/jar/sj.xlsx"); File file = new File("/usr/local/jar/sj.xlsx");
Map<String, String> map = TimeUtil.getLineMap(); Map<String, String> map = TimeUtil.getLineMap();
List<LineTimeDto> lineExcel = new ArrayList<>(); List<LineTimeDto> lineExcel = new ArrayList<>();
map.forEach((line,value)->{ map.forEach((line, value) -> {
LineTimeDto data=new LineTimeDto(); LineTimeDto data = new LineTimeDto();
data.setLineId(line); data.setLineId(line);
data.setTimeData(value); data.setTimeData(value);
lineExcel.add(data); lineExcel.add(data);
@@ -142,21 +148,21 @@ public class MigrationServiceImpl implements MigrationService {
Map<String, String> devmap = TimeUtil.getDevMap(); Map<String, String> devmap = TimeUtil.getDevMap();
List<DevTimeDto> devExcel = new ArrayList<>(); List<DevTimeDto> devExcel = new ArrayList<>();
devmap.forEach((line,value)->{ devmap.forEach((line, value) -> {
DevTimeDto data=new DevTimeDto(); DevTimeDto data = new DevTimeDto();
data.setDevId(line); data.setDevId(line);
data.setTimeData(value); data.setTimeData(value);
devExcel.add(data); devExcel.add(data);
}); });
ExcelWriter excelWriter = EasyExcel.write(file).build(); ExcelWriter excelWriter = EasyExcel.write(file).build();
//模板1 //模板1
WriteSheet writeSheet = EasyExcel.writerSheet(0, "line" ).head(LineTimeDto.class) WriteSheet writeSheet = EasyExcel.writerSheet(0, "line").head(LineTimeDto.class)
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.build(); .build();
excelWriter.write(lineExcel, writeSheet); excelWriter.write(lineExcel, writeSheet);
//模板2 //模板2
WriteSheet writeSheet2 = EasyExcel.writerSheet(1, "dev" ).head(DevTimeDto.class) WriteSheet writeSheet2 = EasyExcel.writerSheet(1, "dev").head(DevTimeDto.class)
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.build(); .build();
excelWriter.write(devExcel, writeSheet2); excelWriter.write(devExcel, writeSheet2);

View File

@@ -132,5 +132,7 @@ public class TimeUtil {
excelWriter.finish(); excelWriter.finish();
TimeUtil.putAllLineTime(excelDataV.stream().collect(Collectors.toMap(LineTimeDto::getLineId, LineTimeDto::getTimeData))); TimeUtil.putAllLineTime(excelDataV.stream().collect(Collectors.toMap(LineTimeDto::getLineId, LineTimeDto::getTimeData)));
TimeUtil.putAllDevTime(excelCommunicates.stream().collect(Collectors.toMap(DevTimeDto::getDevId, DevTimeDto::getTimeData))); TimeUtil.putAllDevTime(excelCommunicates.stream().collect(Collectors.toMap(DevTimeDto::getDevId, DevTimeDto::getTimeData)));
System.out.println(" line "+TimeUtil.getLineMap());
System.out.println(" dev "+TimeUtil.getDevMap());
} }
} }