detached
王宇航 2024-01-28 16:06:23 +08:00
parent 3a69a89d34
commit 3145b28624
1 changed files with 95 additions and 95 deletions

View File

@ -148,15 +148,15 @@ public class RadarStatusController implements InitializingBean {
buildAllRadar(radarList); buildAllRadar(radarList);
TimerTask task = new TimerTask() { // TimerTask task = new TimerTask() {
@Override // @Override
public void run() { // public void run() {
allRadar.forEach(socketModel -> { // allRadar.forEach(socketModel -> {
asyncReadRadar(socketModel); // asyncReadRadar(socketModel);
}); // });
} // }
}; // };
timer.scheduleAtFixedRate(task, 1, 100); // timer.scheduleAtFixedRate(task, 1, 100);
}); });
} }
@ -271,7 +271,7 @@ public class RadarStatusController implements InitializingBean {
public static void addRadar(List<SysRadar> radarList) { public static void addRadar(List<SysRadar> radarList) {
List<Long> idList = allRadar.stream().map(SocketModel::getId).collect(Collectors.toList()); List<Long> idList = allRadar.stream().map(SocketModel::getId).collect(Collectors.toList());
List<SysRadar> filterList = radarList.stream().filter(item -> !idList.contains(item.getId())).collect(Collectors.toList()); List<SysRadar> filterList = radarList.stream().filter(item -> !idList.contains(item.getId())).collect(Collectors.toList());
buildAllRadar(filterList); // buildAllRadar(filterList);
} }
public static void delRadar(Long id) { public static void delRadar(Long id) {
@ -279,91 +279,91 @@ public class RadarStatusController implements InitializingBean {
} }
private void asyncReadRadar(SocketModel socketModel) { // private void asyncReadRadar(SocketModel socketModel) {
CompletableFuture.runAsync(() -> { // CompletableFuture.runAsync(() -> {
try { // try {
List<SysDiscern> discernList = new ArrayList<>(); // List<SysDiscern> discernList = new ArrayList<>();
// socket连接成功返回数据 // // socket连接成功返回数据
DataResponse data = SocketUtil.getData(socketModel); // DataResponse data = SocketUtil.getData(socketModel);
// 天线号字符串转集合 // // 天线号字符串转集合
List<String> numberList = convertStringToList(socketModel.getNumber()); // List<String> numberList = convertStringToList(socketModel.getNumber());
for (String number : numberList) { // for (String number : numberList) {
if (!pulse4Number.containsKey(number)) { // if (!pulse4Number.containsKey(number)) {
pulse4Number.put(number, new ArrayList<>()); // pulse4Number.put(number, new ArrayList<>());
} // }
List<Integer> pulse4Values = pulse4Number.get(number); // List<Integer> pulse4Values = pulse4Number.get(number);
if (data.getData().get(7) == 0){ // if (data.getData().get(7) == 0){
consecutiveZeros ++; // consecutiveZeros ++;
if (consecutiveZeros >= 10) { // if (consecutiveZeros >= 10) {
// 10个0连续说明该天线没有数据 从pulse4Number中删除该天线 // // 10个0连续说明该天线没有数据 从pulse4Number中删除该天线
pulse4Number.remove(number); // pulse4Number.remove(number);
// 从radarList中删除该天线 // // 从radarList中删除该天线
allRadar.remove(socketModel); // allRadar.remove(socketModel);
//
// 数据记录结束计算最大pulse4值 // // 数据记录结束计算最大pulse4值
double maxPulse4 = pulse4Values.stream().mapToDouble(Integer::doubleValue).max().orElse(0); // double maxPulse4 = pulse4Values.stream().mapToDouble(Integer::doubleValue).max().orElse(0);
System.out.println("天线 " + number + " 的最大pulse4值为: " + maxPulse4); // System.out.println("天线 " + number + " 的最大pulse4值为: " + maxPulse4);
// 为下一次数据记录重置 // // 为下一次数据记录重置
pulse4Values.clear(); // pulse4Values.clear();
consecutiveZeros = 0; // consecutiveZeros = 0;
} // }
}else { // }else {
count ++; // count ++;
pulse4Values.add(data.getData().get(7)); // pulse4Values.add(data.getData().get(7));
} // }
} // }
//
SysDiscern sysDiscern = copyDataToDiscern(data); // SysDiscern sysDiscern = copyDataToDiscern(data);
//
System.out.println(socketModel.getRadarIp() + ": " + data); // System.out.println(socketModel.getRadarIp() + ": " + data);
// 雷达数据返回封装类赋值 // // 雷达数据返回封装类赋值
ModbusResponse modbusResponse = getModbusResponse(data); // ModbusResponse modbusResponse = getModbusResponse(data);
//
//
//
String tag = modbusResponse.getTagId(); // String tag = modbusResponse.getTagId();
// 雷达原始数据对象 // // 雷达原始数据对象
PrimaryRadarData primaryRadarData = new PrimaryRadarData(); // PrimaryRadarData primaryRadarData = new PrimaryRadarData();
// 标识器对象 // // 标识器对象
SysIdentifier sysIdentifier = new SysIdentifier(); // SysIdentifier sysIdentifier = new SysIdentifier();
// 拷贝封装类属性到雷达原始数据对象 // // 拷贝封装类属性到雷达原始数据对象
BeanUtils.copyProperties(modbusResponse, primaryRadarData); // BeanUtils.copyProperties(modbusResponse, primaryRadarData);
//
//判断读取数据中是否携带标签 // //判断读取数据中是否携带标签
if (!"0".equals(modbusResponse.getTagId())) { // if (!"0".equals(modbusResponse.getTagId())) {
// 根据标签去数据库查询标签列表 // // 根据标签去数据库查询标签列表
sysIdentifier = identifierService.selectIdentifierByTag(tag); // sysIdentifier = identifierService.selectIdentifierByTag(tag);
//判断数据库查询结果是否有数据 // //判断数据库查询结果是否有数据
if (sysIdentifier != null) { // if (sysIdentifier != null) {
// 有数据将查询到的标识器配置属性放进原始数据对象 // // 有数据将查询到的标识器配置属性放进原始数据对象
primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber()); // primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber());
primaryRadarData.setRadarLocation(socketModel.getRadarLocation()); // primaryRadarData.setRadarLocation(socketModel.getRadarLocation());
primaryRadarData.setRadarIp(socketModel.getRadarIp()); // primaryRadarData.setRadarIp(socketModel.getRadarIp());
//
if (modbusResponse.getValue4() != 0){ // if (modbusResponse.getValue4() != 0){
// 给雷达识别报表赋值 // // 给雷达识别报表赋值
sysDiscern.setType(sysIdentifier.getType()); // sysDiscern.setType(sysIdentifier.getType());
sysDiscern.setRadarLocation(socketModel.getRadarLocation()); // sysDiscern.setRadarLocation(socketModel.getRadarLocation());
sysDiscern.setLadleNumber(sysIdentifier.getLadleNumber()); // sysDiscern.setLadleNumber(sysIdentifier.getLadleNumber());
sysDiscern.setCreateTime(new Date()); // sysDiscern.setCreateTime(new Date());
} // }
} // }
} else { // } else {
// 没有配置过将铁包号置空 // // 没有配置过将铁包号置空
primaryRadarData.setLadleNumber(null); // primaryRadarData.setLadleNumber(null);
primaryRadarData.setRadarLocation(null); // primaryRadarData.setRadarLocation(null);
primaryRadarData.setRadarIp(socketModel.getRadarIp()); // primaryRadarData.setRadarIp(socketModel.getRadarIp());
} // }
if (modbusResponse.getValue4() != null && modbusResponse.getValue4() != 0) { // if (modbusResponse.getValue4() != null && modbusResponse.getValue4() != 0) {
primaryRadarDataService.insertPrimaryRadarData(primaryRadarData); // primaryRadarDataService.insertPrimaryRadarData(primaryRadarData);
} else { // } else {
//
} // }
//
} catch (Exception e) { // } catch (Exception e) {
} // }
}); // });
} // }