win代码上传
parent
63b435a23e
commit
8fbf91f59c
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.ruoyi.web.core.config;
|
||||||
|
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.scheduling.annotation.Schedules;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@EnableScheduling
|
||||||
|
public class MyScheduledTask {
|
||||||
|
|
||||||
|
@Scheduled(cron = "0/10 * * * * ?")
|
||||||
|
public void runTask() {
|
||||||
|
// Your task logic here
|
||||||
|
// System.out.println("我被执行了!!!!!" + new Date().toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -102,9 +102,12 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
}
|
}
|
||||||
|
|
||||||
private void task(SysRadar radar, Socket socket, Map<String, SysIdentifier> identifierHashMap) {
|
private void task(SysRadar radar, Socket socket, Map<String, SysIdentifier> identifierHashMap) {
|
||||||
long noDataStart = System.currentTimeMillis();
|
long noDataStart1 = System.currentTimeMillis();
|
||||||
int consecutiveZeros = 0;
|
long noDataStart2 = System.currentTimeMillis();
|
||||||
int readCount = 1;
|
int consecutiveZeros1 = 0;
|
||||||
|
int consecutiveZeros2 = 0;
|
||||||
|
int readCount1 = 1;
|
||||||
|
int readCount2 = 1;
|
||||||
|
|
||||||
Map<String, List<PrimaryRadarData>> map = new HashMap<>();
|
Map<String, List<PrimaryRadarData>> map = new HashMap<>();
|
||||||
|
|
||||||
|
|
@ -115,82 +118,100 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
|
|
||||||
// socket连接成功返回数据
|
// socket连接成功返回数据
|
||||||
DataResponse data = SocketUtil.getData(socket, radar.getRadarLocation(), radar.getRadarIp(), radar.getRadarId());
|
DataResponse data = SocketUtil.getData(socket, radar.getRadarLocation(), radar.getRadarIp(), radar.getRadarId());
|
||||||
if (readCount == 2) {
|
|
||||||
timeMap.put("noDataStart", System.currentTimeMillis());
|
if (readCount1 == 2 && CollectionUtils.isNotEmpty(data.getData()) && data.getData().get(11) == 1) {
|
||||||
|
timeMap.put("noDataStart1", System.currentTimeMillis());
|
||||||
}
|
}
|
||||||
if (consecutiveZeros == 0) {
|
if (readCount2 == 2 && CollectionUtils.isNotEmpty(data.getData()) && data.getData().get(11) == 2) {
|
||||||
timeMap.put("zero", System.currentTimeMillis());
|
timeMap.put("noDataStart2", System.currentTimeMillis());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (consecutiveZeros1 == 0) {
|
||||||
|
timeMap.put("zero1", System.currentTimeMillis());
|
||||||
|
timeMap.put("zero2", System.currentTimeMillis());
|
||||||
}
|
}
|
||||||
// 没数据返回data.data == null
|
// 没数据返回data.data == null
|
||||||
long current = System.currentTimeMillis();
|
long current = System.currentTimeMillis();
|
||||||
if (Objects.isNull(data.getData())) {
|
if (Objects.isNull(data.getData())) {
|
||||||
current = System.currentTimeMillis();
|
current = System.currentTimeMillis();
|
||||||
// 连续2秒没读到数据,结束
|
// 连续2秒没读到数据,结束
|
||||||
if (current - noDataStart >= 2000) {
|
if (current - noDataStart1 >= 2000) {
|
||||||
// todo:存数据
|
// todo:存数据
|
||||||
if (CollectionUtils.isNotEmpty(map.get(getMapKey(radar,data.getData().get(11))))) {
|
if (CollectionUtils.isNotEmpty(map.get(getMapKey(radar, 1)))) {
|
||||||
if (readCount > 1) {
|
if (readCount1 > 1) {
|
||||||
saveData(radar, map, readCount, timeMap.get("noDataStart"), current , data.getData().get(11));
|
saveData(radar, map, readCount1, timeMap.get("noDataStart1"), current, 1);
|
||||||
timeMap.put("noDataStart", System.currentTimeMillis());
|
timeMap.put("noDataStart1", System.currentTimeMillis());
|
||||||
readCount = 1;
|
readCount1 = 1;
|
||||||
}
|
}
|
||||||
|
map.remove(getMapKey(radar, 1));
|
||||||
}
|
}
|
||||||
map.remove(getMapKey(radar,data.getData().get(11)));
|
noDataStart1 = current;
|
||||||
noDataStart = current;
|
}
|
||||||
|
if (current - noDataStart2 >= 2000) {
|
||||||
|
if (CollectionUtils.isNotEmpty(map.get(getMapKey(radar, 2)))) {
|
||||||
|
if (readCount2 > 1) {
|
||||||
|
saveData(radar, map, readCount2, timeMap.get("noDataStart2"), current, 2);
|
||||||
|
timeMap.put("noDataStart2", System.currentTimeMillis());
|
||||||
|
readCount2 = 1;
|
||||||
|
}
|
||||||
|
map.remove(getMapKey(radar, 2));
|
||||||
|
}
|
||||||
|
noDataStart2 = current;
|
||||||
}
|
}
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ModbusResponse modbusResponse = getModbusResponse(data);
|
||||||
// SysRadar sysRadar = service.selectRadarByRadarId(radar.getRadarId(), radar.getRadarIp());
|
// SysRadar sysRadar = service.selectRadarByRadarId(radar.getRadarId(), radar.getRadarIp());
|
||||||
// if (sysRadar != null) { // 雷达数据返回封装类赋值
|
// if (sysRadar != null) { // 雷达数据返回封装类赋值
|
||||||
ModbusResponse modbusResponse = getModbusResponse(data);
|
if (modbusResponse != null) {
|
||||||
String tag = modbusResponse.getTagId();
|
String tag = modbusResponse.getTagId();
|
||||||
timeMap.put("start", data.getTime());
|
timeMap.put("start", data.getTime());
|
||||||
// 雷达原始数据对象
|
// 雷达原始数据对象
|
||||||
PrimaryRadarData primaryRadarData = new PrimaryRadarData();
|
PrimaryRadarData primaryRadarData = new PrimaryRadarData();
|
||||||
// 拷贝封装类属性到雷达原始数据对象
|
// 拷贝封装类属性到雷达原始数据对象
|
||||||
BeanUtils.copyProperties(modbusResponse, primaryRadarData);
|
BeanUtils.copyProperties(modbusResponse, primaryRadarData);
|
||||||
primaryRadarData.setRadarIp(radar.getRadarIp());
|
primaryRadarData.setRadarIp(radar.getRadarIp());
|
||||||
primaryRadarData.setStationCode(radar.getStationCode());
|
primaryRadarData.setStationCode(radar.getStationCode());
|
||||||
|
|
||||||
primaryRadarData.setRadarId(data.getData().get(0));
|
primaryRadarData.setRadarId(data.getData().get(0));
|
||||||
primaryRadarData.setRadarLocation(radar.getRadarLocation());
|
primaryRadarData.setRadarLocation(radar.getRadarLocation());
|
||||||
List<PrimaryRadarData> dataList = map.get(getMapKey(radar, modbusResponse.getNumber()));
|
List<PrimaryRadarData> dataList = map.get(getMapKey(radar, modbusResponse.getNumber()));
|
||||||
//判断读取数据中是否携带标签
|
|
||||||
if (!"0".equals(modbusResponse.getTagId())) {
|
|
||||||
consecutiveZeros = 0;
|
|
||||||
// 根据标签去数据库查询标签列表
|
// 根据标签去数据库查询标签列表
|
||||||
SysIdentifier sysIdentifier = identifierHashMap.get(tag);
|
SysIdentifier sysIdentifier = identifierHashMap.get(tag);
|
||||||
//判断数据库查询结果是否有数据
|
if (modbusResponse != null && modbusResponse.getNumber() == 1) {
|
||||||
|
|
||||||
if (sysIdentifier != null) {
|
//判断数据库查询结果是否有数据
|
||||||
// 有数据将查询到的标识器配置属性放进原始数据对象
|
if (sysIdentifier != null) {
|
||||||
primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber());
|
// 有数据将查询到的标识器配置属性放进原始数据对象
|
||||||
primaryRadarData.setRadarIp(radar.getRadarIp());
|
primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber());
|
||||||
primaryRadarData.setType(sysIdentifier.getType().toString());
|
primaryRadarData.setRadarIp(radar.getRadarIp());
|
||||||
if (CollectionUtils.isEmpty(dataList)) {
|
primaryRadarData.setType(sysIdentifier.getType().toString());
|
||||||
dataList = new ArrayList<>();
|
if (CollectionUtils.isEmpty(dataList)) {
|
||||||
dataList.add(primaryRadarData);
|
dataList = new ArrayList<>();
|
||||||
map.put(getMapKey(radar,modbusResponse.getNumber()), dataList);
|
dataList.add(primaryRadarData);
|
||||||
}
|
if (data.getData().get(11) == 1) {
|
||||||
// if (StringUtils.equals(modbusResponse.getTagId(), dataList.get(dataList.size() - 1).getTagId()) && Objects.equals(primaryRadarData.getRadarId(), dataList.get(dataList.size() - 1).getRadarId()) && Objects.equals(primaryRadarData.getRadarIp(), dataList.get(dataList.size() - 1).getRadarIp())) {
|
map.put(getMapKey(radar, modbusResponse.getNumber()), dataList);
|
||||||
// if (current - start >= 20000) {
|
}
|
||||||
// // todo:存数据
|
if (data.getData().get(11) == 2) {
|
||||||
//
|
map.put(getMapKey(radar, modbusResponse.getNumber()), dataList);
|
||||||
// System.out.println("连续二十秒秒没收到数据:开始存储........" + "开始时间为:" + start + "结束时间为:" + current);
|
}
|
||||||
// if (readCount > 100) {
|
}
|
||||||
// saveData(radar, map, readCount, start, current);
|
if (!Objects.equals(data.getData().get(0), dataList.get(dataList.size() - 1).getRadarId())) {
|
||||||
// readCount = 1;
|
long end = System.currentTimeMillis();
|
||||||
// }
|
Long dataStart = timeMap.get("noDataStart1");
|
||||||
// start = System.currentTimeMillis();
|
|
||||||
// }
|
System.out.println("突然读到另一个雷达id: " + "开始存储........" + "开始时间为:" + dataStart + "结束时间为:" + end);
|
||||||
// dataList.clear();
|
saveData(radar, map, readCount1, data.getTime(), end, modbusResponse.getNumber());
|
||||||
// dataList.add(primaryRadarData);
|
dataList.clear();
|
||||||
// }
|
timeMap.put("noDataStart1", System.currentTimeMillis());
|
||||||
if (modbusResponse.getNumber() == 1) {
|
map.remove(getMapKey(radar, modbusResponse.getNumber()));
|
||||||
|
dataList.add(primaryRadarData);
|
||||||
|
readCount1 = 1;
|
||||||
|
}
|
||||||
if (!StringUtils.equals(modbusResponse.getTagId(), dataList.get(dataList.size() - 1).getTagId())
|
if (!StringUtils.equals(modbusResponse.getTagId(), dataList.get(dataList.size() - 1).getTagId())
|
||||||
&& !StringUtils.equals("0", dataList.get(dataList.size() - 1).getTagId())
|
&& Objects.equals(primaryRadarData.getRadarIp(), dataList.get(dataList.size() - 1).getRadarIp())
|
||||||
&& Objects.equals(primaryRadarData.getRadarId(), dataList.get(dataList.size() - 1).getRadarId())
|
&& modbusResponse.getNumber() == 1) {
|
||||||
&& Objects.equals(primaryRadarData.getRadarIp(), dataList.get(dataList.size() - 1).getRadarIp())) {
|
|
||||||
// todo:存数据
|
// todo:存数据
|
||||||
long currentTimeMillis = System.currentTimeMillis();
|
long currentTimeMillis = System.currentTimeMillis();
|
||||||
System.out.println("突然读到另一个标签:开始存储........"
|
System.out.println("突然读到另一个标签:开始存储........"
|
||||||
|
|
@ -198,19 +219,66 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
+ "此次雷达ip为:====" + primaryRadarData.getRadarIp() + "上次雷达ip为 =====" + dataList.get(dataList.size() - 1).getRadarIp()
|
+ "此次雷达ip为:====" + primaryRadarData.getRadarIp() + "上次雷达ip为 =====" + dataList.get(dataList.size() - 1).getRadarIp()
|
||||||
+ "此次雷达标签号为:====" + modbusResponse.getTagId() + "此次雷达标签号为:====" + dataList.get(dataList.size() - 1).getTagId()
|
+ "此次雷达标签号为:====" + modbusResponse.getTagId() + "此次雷达标签号为:====" + dataList.get(dataList.size() - 1).getTagId()
|
||||||
+ data.getTime() + "结束时间为:" + currentTimeMillis);
|
+ data.getTime() + "结束时间为:" + currentTimeMillis);
|
||||||
saveData(radar, map, readCount, timeMap.get("noDataStart"), currentTimeMillis, modbusResponse.getNumber());
|
saveData(radar, map, readCount1, timeMap.get("noDataStart1"), currentTimeMillis, modbusResponse.getNumber());
|
||||||
dataList.clear();
|
dataList.clear();
|
||||||
timeMap.put("noDataStart", System.currentTimeMillis());
|
timeMap.put("noDataStart1", System.currentTimeMillis());
|
||||||
map.remove(getMapKey(radar,modbusResponse.getNumber()));
|
map.remove(getMapKey(radar, 1));
|
||||||
dataList.add(primaryRadarData);
|
dataList.add(primaryRadarData);
|
||||||
readCount = 1;
|
readCount1 = 1;
|
||||||
|
}
|
||||||
|
readCount1++;
|
||||||
|
} else {
|
||||||
|
//TODO
|
||||||
|
//连续100次读取标签号为0
|
||||||
|
consecutiveZeros1++;
|
||||||
|
|
||||||
|
if (20 <= consecutiveZeros1) {
|
||||||
|
// todo:存数据
|
||||||
|
// 没有配置过将铁包号置空
|
||||||
|
primaryRadarData.setLadleNumber(null);
|
||||||
|
primaryRadarData.setRadarIp(radar.getRadarIp());
|
||||||
|
|
||||||
|
// System.out.println("连续10次读取标签号为0:开始存储........" + radar + map + readCount + "开始时间为:" + timeMap.get("zero") + "结束时间为:" + noDataStart);
|
||||||
|
saveData(radar, map, readCount1, timeMap.get("zero1"), noDataStart1, modbusResponse.getNumber());
|
||||||
|
readCount1 = 1;
|
||||||
|
map.remove(getMapKey(radar, modbusResponse.getNumber()));
|
||||||
|
timeMap.put("noDataStart1", System.currentTimeMillis());
|
||||||
|
consecutiveZeros1 = 0;
|
||||||
|
if (CollectionUtils.isNotEmpty(dataList)) {
|
||||||
|
dataList.clear();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (modbusResponse.getNumber() == 2){
|
noDataStart1 = current;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (modbusResponse != null && modbusResponse.getNumber() == 2) {
|
||||||
|
if (sysIdentifier != null) {
|
||||||
|
// 有数据将查询到的标识器配置属性放进原始数据对象
|
||||||
|
primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber());
|
||||||
|
primaryRadarData.setRadarIp(radar.getRadarIp());
|
||||||
|
primaryRadarData.setType(sysIdentifier.getType().toString());
|
||||||
|
if (CollectionUtils.isEmpty(dataList)) {
|
||||||
|
dataList = new ArrayList<>();
|
||||||
|
dataList.add(primaryRadarData);
|
||||||
|
map.put(getMapKey(radar, modbusResponse.getNumber()), dataList);
|
||||||
|
}
|
||||||
|
if (!Objects.equals(data.getData().get(0), dataList.get(dataList.size() - 1).getRadarId())) {
|
||||||
|
long end = System.currentTimeMillis();
|
||||||
|
Long dataStart = timeMap.get("noDataStart2");
|
||||||
|
|
||||||
|
System.out.println("突然读到另一个雷达id: " + "开始存储........" + "开始时间为:" + dataStart + "结束时间为:" + end);
|
||||||
|
saveData(radar, map, readCount2, data.getTime(), end, modbusResponse.getNumber());
|
||||||
|
dataList.clear();
|
||||||
|
timeMap.put("noDataStart2", System.currentTimeMillis());
|
||||||
|
map.remove(getMapKey(radar, modbusResponse.getNumber()));
|
||||||
|
dataList.add(primaryRadarData);
|
||||||
|
readCount2 = 1;
|
||||||
|
}
|
||||||
if (!StringUtils.equals(modbusResponse.getTagId(), dataList.get(dataList.size() - 1).getTagId())
|
if (!StringUtils.equals(modbusResponse.getTagId(), dataList.get(dataList.size() - 1).getTagId())
|
||||||
&& !StringUtils.equals("0", dataList.get(dataList.size() - 1).getTagId())
|
&& Objects.equals(primaryRadarData.getRadarIp(), dataList.get(dataList.size() - 1).getRadarIp())
|
||||||
&& Objects.equals(primaryRadarData.getRadarId(), dataList.get(dataList.size() - 1).getRadarId())
|
&& modbusResponse.getNumber() == 2) {
|
||||||
&& Objects.equals(primaryRadarData.getRadarIp(), dataList.get(dataList.size() - 1).getRadarIp())) {
|
|
||||||
// todo:存数据
|
// todo:存数据
|
||||||
long currentTimeMillis = System.currentTimeMillis();
|
long currentTimeMillis = System.currentTimeMillis();
|
||||||
System.out.println("突然读到另一个标签:开始存储........"
|
System.out.println("突然读到另一个标签:开始存储........"
|
||||||
|
|
@ -218,60 +286,55 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
+ "此次雷达ip为:====" + primaryRadarData.getRadarIp() + "上次雷达ip为 =====" + dataList.get(dataList.size() - 1).getRadarIp()
|
+ "此次雷达ip为:====" + primaryRadarData.getRadarIp() + "上次雷达ip为 =====" + dataList.get(dataList.size() - 1).getRadarIp()
|
||||||
+ "此次雷达标签号为:====" + modbusResponse.getTagId() + "此次雷达标签号为:====" + dataList.get(dataList.size() - 1).getTagId()
|
+ "此次雷达标签号为:====" + modbusResponse.getTagId() + "此次雷达标签号为:====" + dataList.get(dataList.size() - 1).getTagId()
|
||||||
+ data.getTime() + "结束时间为:" + currentTimeMillis);
|
+ data.getTime() + "结束时间为:" + currentTimeMillis);
|
||||||
saveData(radar, map, readCount, timeMap.get("noDataStart"), currentTimeMillis , modbusResponse.getNumber());
|
saveData(radar, map, readCount2, timeMap.get("noDataStart2"), currentTimeMillis, modbusResponse.getNumber());
|
||||||
dataList.clear();
|
dataList.clear();
|
||||||
timeMap.put("noDataStart", System.currentTimeMillis());
|
timeMap.put("noDataStart2", System.currentTimeMillis());
|
||||||
map.remove(getMapKey(radar,modbusResponse.getNumber()));
|
map.remove(getMapKey(radar, 2));
|
||||||
dataList.add(primaryRadarData);
|
dataList.add(primaryRadarData);
|
||||||
readCount = 1;
|
readCount2 = 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
readCount2++;
|
||||||
|
} else {
|
||||||
|
//TODO
|
||||||
|
//连续100次读取标签号为0
|
||||||
|
consecutiveZeros2++;
|
||||||
|
|
||||||
|
if (20 <= consecutiveZeros2) {
|
||||||
|
// todo:存数据
|
||||||
|
// 没有配置过将铁包号置空
|
||||||
|
primaryRadarData.setLadleNumber(null);
|
||||||
|
primaryRadarData.setRadarIp(radar.getRadarIp());
|
||||||
|
|
||||||
|
// System.out.println("连续10次读取标签号为0:开始存储........" + radar + map + readCount + "开始时间为:" + timeMap.get("zero") + "结束时间为:" + noDataStart);
|
||||||
|
saveData(radar, map, readCount2, timeMap.get("zero2"), noDataStart2, modbusResponse.getNumber());
|
||||||
|
readCount2 = 1;
|
||||||
|
map.remove(getMapKey(radar, modbusResponse.getNumber()));
|
||||||
|
timeMap.put("noDataStart2", System.currentTimeMillis());
|
||||||
|
consecutiveZeros2 = 0;
|
||||||
|
if (CollectionUtils.isNotEmpty(dataList)) {
|
||||||
|
dataList.clear();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
readCount++;
|
|
||||||
|
|
||||||
if (!Objects.equals(data.getData().get(0), dataList.get(dataList.size() - 1).getRadarId())) {
|
|
||||||
long end = System.currentTimeMillis();
|
|
||||||
Long dataStart = timeMap.get("noDataStart");
|
|
||||||
|
|
||||||
System.out.println("突然读到另一个雷达id: " + "开始存储........" + "开始时间为:" + dataStart + "结束时间为:" + end);
|
|
||||||
saveData(radar, map, readCount, data.getTime(), end , modbusResponse.getNumber());
|
|
||||||
dataList.clear();
|
|
||||||
timeMap.put("noDataStart", System.currentTimeMillis());
|
|
||||||
map.remove(getMapKey(radar,modbusResponse.getNumber()));
|
|
||||||
dataList.add(primaryRadarData);
|
|
||||||
readCount = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
noDataStart2 = current;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
CompletableFuture.runAsync(() -> {
|
||||||
//连续10次读取标签号为0
|
|
||||||
consecutiveZeros++;
|
|
||||||
if (100 == consecutiveZeros) {
|
|
||||||
// todo:存数据
|
|
||||||
|
|
||||||
// System.out.println("连续10次读取标签号为0:开始存储........" + radar + map + readCount + "开始时间为:" + timeMap.get("zero") + "结束时间为:" + noDataStart);
|
|
||||||
saveData(radar, map, readCount, timeMap.get("zero"), noDataStart , modbusResponse.getNumber());
|
|
||||||
readCount = 1;
|
|
||||||
map.remove(getMapKey(radar,modbusResponse.getNumber()));
|
|
||||||
timeMap.put("noDataStart", System.currentTimeMillis());
|
|
||||||
dataList.clear();
|
|
||||||
consecutiveZeros = 0;
|
|
||||||
}
|
|
||||||
// 没有配置过将铁包号置空
|
|
||||||
primaryRadarData.setLadleNumber(null);
|
|
||||||
primaryRadarData.setRadarIp(radar.getRadarIp());
|
|
||||||
}
|
|
||||||
CompletableFuture.runAsync(() -> {
|
|
||||||
primaryRadarDataService.insertPrimaryRadarData(primaryRadarData);
|
primaryRadarDataService.insertPrimaryRadarData(primaryRadarData);
|
||||||
}, threadPoolTaskExecutor);
|
}, threadPoolTaskExecutor);
|
||||||
noDataStart = current;
|
|
||||||
} catch (Throwable e) {
|
}
|
||||||
|
}catch (Throwable e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveData(SysRadar radar, Map<String, List<PrimaryRadarData>> map, int count, long noStartTime, long endTime , Integer number) {
|
private void saveData(SysRadar radar, Map<String, List<PrimaryRadarData>> map, int count, long noStartTime, long endTime, Integer number) {
|
||||||
Date start = new Date(noStartTime);
|
Date start = new Date(noStartTime);
|
||||||
Date end = new Date(endTime);
|
Date end = new Date(endTime);
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
@ -279,7 +342,7 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
String sqlEnd = sdf.format(end);
|
String sqlEnd = sdf.format(end);
|
||||||
try {
|
try {
|
||||||
|
|
||||||
List<PrimaryRadarData> primaryRadarDataList = map.get(getMapKey(radar,number));
|
List<PrimaryRadarData> primaryRadarDataList = map.get(getMapKey(radar, number));
|
||||||
if (CollectionUtils.isNotEmpty(primaryRadarDataList)) {
|
if (CollectionUtils.isNotEmpty(primaryRadarDataList)) {
|
||||||
PrimaryRadarData maxData = primaryRadarDataList.stream().max(Comparator.comparingInt(PrimaryRadarData::getValue4)).get();
|
PrimaryRadarData maxData = primaryRadarDataList.stream().max(Comparator.comparingInt(PrimaryRadarData::getValue4)).get();
|
||||||
|
|
||||||
|
|
@ -312,7 +375,7 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private String getMapKey(SysRadar radar,Integer number) {
|
private String getMapKey(SysRadar radar, Integer number) {
|
||||||
return radar.getRadarIp() + "-" + number + "-" + radar.getId();
|
return radar.getRadarIp() + "-" + number + "-" + radar.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -349,17 +412,20 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
*/
|
*/
|
||||||
public ModbusResponse getModbusResponse(DataResponse data) {
|
public ModbusResponse getModbusResponse(DataResponse data) {
|
||||||
ModbusResponse modbusResponse = new ModbusResponse();
|
ModbusResponse modbusResponse = new ModbusResponse();
|
||||||
modbusResponse.setRadarNum(data.getData().get(0).toString());
|
if (CollectionUtils.isNotEmpty(data.getData())) {
|
||||||
modbusResponse.setTagId(data.getData().get(3).toString());
|
modbusResponse.setRadarNum(data.getData().get(0).toString());
|
||||||
modbusResponse.setValue1(data.getData().get(4));
|
modbusResponse.setTagId(data.getData().get(3).toString());
|
||||||
modbusResponse.setValue2(data.getData().get(5));
|
modbusResponse.setValue1(data.getData().get(4));
|
||||||
modbusResponse.setValue3(data.getData().get(6));
|
modbusResponse.setValue2(data.getData().get(5));
|
||||||
modbusResponse.setValue4(data.getData().get(7));
|
modbusResponse.setValue3(data.getData().get(6));
|
||||||
modbusResponse.setValue5(data.getData().get(8));
|
modbusResponse.setValue4(data.getData().get(7));
|
||||||
modbusResponse.setBaseLine(data.getData().get(9));
|
modbusResponse.setValue5(data.getData().get(8));
|
||||||
modbusResponse.setQueryFre(data.getData().get(10));
|
modbusResponse.setBaseLine(data.getData().get(9));
|
||||||
modbusResponse.setNumber(data.getData().get(11));
|
modbusResponse.setQueryFre(data.getData().get(10));
|
||||||
return modbusResponse;
|
modbusResponse.setNumber(data.getData().get(11));
|
||||||
|
return modbusResponse;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -412,7 +478,6 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
LocalDate currentDate = LocalDate.now();
|
LocalDate currentDate = LocalDate.now();
|
||||||
LocalDate twoDaysAgo = currentDate.minusDays(2);
|
LocalDate twoDaysAgo = currentDate.minusDays(2);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue