This commit is contained in:
wr
2025-04-28 13:32:46 +08:00
parent e130ccb2e0
commit 5007dda683
3 changed files with 23 additions and 27 deletions

View File

@@ -4,20 +4,19 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.excel.EasyExcel;
import com.njcn.migration.read.service.IDataV;
import com.njcn.migration.read.service.IPqsCommunicate;
import com.njcn.migration.read.mapper.RmpEventDetailMapper;
import com.njcn.migration.read.service.MigrationService;
import com.njcn.migration.read.util.TimeUtil;
import com.njcn.param.LineCountEvaluateParam;
import com.njcn.po.influx.DataV;
import com.njcn.po.influx.PqsCommunicate;
import com.njcn.po.mysql.DevTimeDto;
import com.njcn.po.mysql.LineTimeDto;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.ClassPathResource;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -41,9 +40,7 @@ public class MigrationInfluxDBJob {
private final MigrationService migrationService;
private final IDataV dataV;
private final IPqsCommunicate communicate;
private final RmpEventDetailMapper detailMapper;
@Scheduled(cron = "0 2 * * * ?")
public void InfluxDBJob() {
// 获取当前时间
@@ -65,33 +62,33 @@ public class MigrationInfluxDBJob {
@Scheduled(cron = "0 0 22 * * ?")
public void mapJob() throws IOException {
ClassPathResource picPathResource = new ClassPathResource("file/sj.xlsx");
List<DataV> excelDataV = EasyExcel.read(picPathResource.getFile())
.head(DataV.class)
File file = new File("/usr/local/jar/sj.xlsx");
List<LineTimeDto> excelDataV = EasyExcel.read(file)
.head(LineTimeDto.class)
.sheet(0).doReadSync();
List<DataV> datav = dataV.listDataVDesc(new LineCountEvaluateParam());
List<LineTimeDto> datav = detailMapper.getLineTime();
if (CollUtil.isNotEmpty(excelDataV)) {
//获取最新监测点最新数据集合
List<String> ids = excelDataV.stream().map(DataV::getLineId).collect(Collectors.toList());
List<DataV> notExcel = datav.stream().filter(x -> !ids.contains(x.getLineId())).collect(Collectors.toList());
List<String> ids = excelDataV.stream().map(LineTimeDto::getLineId).collect(Collectors.toList());
List<LineTimeDto> notExcel = datav.stream().filter(x -> !ids.contains(x.getLineId())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(notExcel)) {
for (DataV v : notExcel) {
TimeUtil.putLineTime(v.getLineId(), DateUtil.format(DateUtil.beginOfDay(DateUtil.parse(v.getTimeId(), DatePattern.NORM_DATETIME_FORMAT)), DatePattern.NORM_DATETIME_FORMAT));
for (LineTimeDto v : notExcel) {
TimeUtil.putLineTime(v.getLineId(), DateUtil.format(DateUtil.beginOfDay(DateUtil.parse(v.getTimeData(), DatePattern.NORM_DATETIME_FORMAT)), DatePattern.NORM_DATETIME_FORMAT));
}
}
}
List<PqsCommunicate> excelCommunicates = EasyExcel.read(picPathResource.getFile())
.head(PqsCommunicate.class)
List<DevTimeDto> excelCommunicates = EasyExcel.read(file)
.head(DevTimeDto.class)
.sheet(1).doReadSync();
List<PqsCommunicate> communicates = communicate.listPqsCommunicateDesc(new LineCountEvaluateParam());
List<DevTimeDto> communicates = detailMapper.getDevTime();
if (CollUtil.isNotEmpty(excelCommunicates)) {
//获取最新监测点最新数据集合
List<String> ids = excelCommunicates.stream().map(PqsCommunicate::getDevId).collect(Collectors.toList());
List<PqsCommunicate> notExcel = communicates.stream().filter(x -> !ids.contains(x.getDevId())).collect(Collectors.toList());
List<String> ids = excelCommunicates.stream().map(DevTimeDto::getDevId).collect(Collectors.toList());
List<DevTimeDto> notExcel = communicates.stream().filter(x -> !ids.contains(x.getDevId())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(notExcel)) {
for (PqsCommunicate v : notExcel) {
TimeUtil.putDevTime(v.getDevId(), DateUtil.format(DateUtil.beginOfDay(DateUtil.parse(v.getTimeId(), DatePattern.NORM_DATETIME_FORMAT)), DatePattern.NORM_DATETIME_FORMAT));
for (DevTimeDto v : notExcel) {
TimeUtil.putDevTime(v.getDevId(), DateUtil.format(DateUtil.beginOfDay(DateUtil.parse(v.getTimeData(), DatePattern.NORM_DATETIME_FORMAT)), DatePattern.NORM_DATETIME_FORMAT));
}
}
}

View File

@@ -2,7 +2,6 @@ package com.njcn.migration.read.service;
import com.njcn.param.LineCountEvaluateParam;
import java.io.IOException;
/**
* @author wr
@@ -15,7 +14,7 @@ public interface MigrationService {
void hourseDevDataBacthSysc(LineCountEvaluateParam param);
void initializeExcel() throws IOException;
void initializeExcel();
}

View File

@@ -128,7 +128,7 @@ public class MigrationServiceImpl implements MigrationService {
@Override
@Async("asyncInfluxDBExecutor")
public void initializeExcel() throws IOException {
public void initializeExcel() {
File file = new File("/usr/local/jar/sj.xlsx");
Map<String, String> map = TimeUtil.getLineMap();
List<DataV> lineExcel = new ArrayList<>();
@@ -139,7 +139,7 @@ public class MigrationServiceImpl implements MigrationService {
lineExcel.add(data);
});
Map<String, String> devmap = TimeUtil.getLineMap();
Map<String, String> devmap = TimeUtil.getDevMap();
List<PqsCommunicate> devExcel = new ArrayList<>();
devmap.forEach((line,value)->{
PqsCommunicate data=new PqsCommunicate();