微调
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package com.njcn.po.mysql;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class DevTimeDto implements Serializable {
|
||||
|
||||
@ExcelProperty(value = "终端id",index = 0)
|
||||
@ColumnWidth(30)
|
||||
private String devId;
|
||||
|
||||
@ExcelProperty(value = "时间",index = 1)
|
||||
@ColumnWidth(30)
|
||||
private String timeData;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.po.mysql;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class LineTimeDto implements Serializable {
|
||||
|
||||
@ExcelProperty(value = "监测点id",index = 0)
|
||||
@ColumnWidth(30)
|
||||
private String lineId;
|
||||
|
||||
@ExcelProperty(value = "时间",index = 1)
|
||||
@ColumnWidth(30)
|
||||
private String timeData;
|
||||
|
||||
}
|
||||
@@ -1,8 +1,12 @@
|
||||
package com.njcn.migration.read.mapper;
|
||||
|
||||
import com.njcn.db.mapper.BatchBaseMapper;
|
||||
import com.njcn.po.mysql.DevTimeDto;
|
||||
import com.njcn.po.mysql.LineTimeDto;
|
||||
import com.njcn.po.mysql.RmpEventDetail;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
*
|
||||
@@ -12,6 +16,16 @@ import com.njcn.po.mysql.RmpEventDetail;
|
||||
public interface RmpEventDetailMapper extends BatchBaseMapper<RmpEventDetail> {
|
||||
|
||||
|
||||
/**
|
||||
* 查询最新监测点时间
|
||||
* @return
|
||||
*/
|
||||
List<LineTimeDto> getLineTime();
|
||||
|
||||
/**
|
||||
* 查询最新装置时间
|
||||
* @return
|
||||
*/
|
||||
List<DevTimeDto> getDevTime();
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.migration.read.mapper.RmpEventDetailMapper">
|
||||
|
||||
|
||||
<select id="getLineTime" resultType="com.njcn.po.mysql.LineTimeDto">
|
||||
SELECT
|
||||
t.id lineId,
|
||||
device.UPDATE_TIME timeData
|
||||
FROM
|
||||
pq_line t,
|
||||
pq_line subv,
|
||||
pq_line device1,
|
||||
pq_device device
|
||||
|
||||
WHERE
|
||||
subv.id = t.pid
|
||||
AND device.id = subv.pid
|
||||
AND device1.id = device.id
|
||||
AND device.RUN_FLAG = 0
|
||||
</select>
|
||||
<select id="getDevTime" resultType="com.njcn.po.mysql.DevTimeDto">
|
||||
SELECT
|
||||
pd.ID devId,
|
||||
PD.UPDATE_TIME timeData
|
||||
FROM
|
||||
PQ_DEVICE pd
|
||||
WHERE
|
||||
pd.RUN_FLAG = 0
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -8,11 +8,11 @@ import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.ExcelWriter;
|
||||
import com.alibaba.excel.write.metadata.WriteSheet;
|
||||
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
|
||||
import com.njcn.migration.read.service.IDataV;
|
||||
import com.njcn.migration.read.service.IPqsCommunicate;
|
||||
import com.njcn.param.LineCountEvaluateParam;
|
||||
import com.njcn.migration.read.mapper.RmpEventDetailMapper;
|
||||
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 org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -31,9 +31,7 @@ import java.util.stream.Collectors;
|
||||
@Component
|
||||
public class TimeUtil {
|
||||
@Autowired
|
||||
private IDataV dataV;
|
||||
@Autowired
|
||||
private IPqsCommunicate communicate;
|
||||
private RmpEventDetailMapper detailMapper;
|
||||
|
||||
/**
|
||||
* key:监测点id value:当前上次结束时间
|
||||
@@ -82,18 +80,18 @@ public class TimeUtil {
|
||||
|
||||
@PostConstruct
|
||||
public void init() throws IOException {
|
||||
File file = new File("/usr/local/jar/sj.xlsx");
|
||||
List<DataV> excelDataV = EasyExcel.read(file)
|
||||
.head(DataV.class)
|
||||
File file = new File("D:\\AJava\\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) {
|
||||
v.setTimeId(DateUtil.format(DateUtil.beginOfDay(DateUtil.parse(v.getTimeId(), DatePattern.NORM_DATETIME_FORMAT)), DatePattern.NORM_DATETIME_FORMAT));
|
||||
for (LineTimeDto v : notExcel) {
|
||||
v.setTimeData(DateUtil.format(DateUtil.beginOfDay(DateUtil.parse(v.getTimeData(), DatePattern.NORM_DATETIME_FORMAT)), DatePattern.NORM_DATETIME_FORMAT));
|
||||
}
|
||||
excelDataV.addAll(notExcel);
|
||||
}
|
||||
@@ -101,17 +99,17 @@ public class TimeUtil {
|
||||
excelDataV.addAll(datav);
|
||||
}
|
||||
|
||||
List<PqsCommunicate> excelCommunicates = EasyExcel.read(file)
|
||||
.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) {
|
||||
v.setTimeId(DateUtil.format(DateUtil.beginOfDay(DateUtil.parse(v.getTimeId(), DatePattern.NORM_DATETIME_FORMAT)), DatePattern.NORM_DATETIME_FORMAT));
|
||||
for (DevTimeDto v : notExcel) {
|
||||
v.setTimeData(DateUtil.format(DateUtil.beginOfDay(DateUtil.parse(v.getTimeData(), DatePattern.NORM_DATETIME_FORMAT)), DatePattern.NORM_DATETIME_FORMAT));
|
||||
}
|
||||
excelCommunicates.addAll(notExcel);
|
||||
}
|
||||
@@ -122,19 +120,19 @@ public class TimeUtil {
|
||||
ExcelWriter excelWriter = EasyExcel.write(file).build();
|
||||
//模板1
|
||||
WriteSheet writeSheet = EasyExcel.writerSheet(0, "line").head(DataV.class)
|
||||
.includeColumnFiledNames(Arrays.asList("lineId", "timeId"))
|
||||
.includeColumnFiledNames(Arrays.asList("lineId", "timeData"))
|
||||
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
|
||||
.build();
|
||||
excelWriter.write(excelDataV, writeSheet);
|
||||
|
||||
//模板2
|
||||
WriteSheet writeSheet2 = EasyExcel.writerSheet(1, "dev").head(PqsCommunicate.class)
|
||||
.includeColumnFiledNames(Arrays.asList("devId", "timeId"))
|
||||
.includeColumnFiledNames(Arrays.asList("devId", "timeData"))
|
||||
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
|
||||
.build();
|
||||
excelWriter.write(excelCommunicates, writeSheet2);
|
||||
excelWriter.finish();
|
||||
TimeUtil.putAllLineTime(excelDataV.stream().collect(Collectors.toMap(DataV::getLineId, DataV::getTimeId)));
|
||||
TimeUtil.putAllDevTime(excelCommunicates.stream().collect(Collectors.toMap(PqsCommunicate::getDevId, PqsCommunicate::getTimeId)));
|
||||
TimeUtil.putAllLineTime(excelDataV.stream().collect(Collectors.toMap(LineTimeDto::getLineId, LineTimeDto::getTimeData)));
|
||||
TimeUtil.putAllDevTime(excelCommunicates.stream().collect(Collectors.toMap(DevTimeDto::getDevId, DevTimeDto::getTimeData)));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user