From 3145b286245a957cdab5538e0338cd559dc8be45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AE=87=E8=88=AA?= <653809315@qq.com> Date: Sun, 28 Jan 2024 16:06:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/RadarStatusController.java | 190 +++++++++--------- 1 file changed, 95 insertions(+), 95 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java index 49a2d4b..0ed393a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java @@ -148,15 +148,15 @@ public class RadarStatusController implements InitializingBean { buildAllRadar(radarList); - TimerTask task = new TimerTask() { - @Override - public void run() { - allRadar.forEach(socketModel -> { - asyncReadRadar(socketModel); - }); - } - }; - timer.scheduleAtFixedRate(task, 1, 100); +// TimerTask task = new TimerTask() { +// @Override +// public void run() { +// allRadar.forEach(socketModel -> { +// asyncReadRadar(socketModel); +// }); +// } +// }; +// timer.scheduleAtFixedRate(task, 1, 100); }); } @@ -271,7 +271,7 @@ public class RadarStatusController implements InitializingBean { public static void addRadar(List radarList) { List idList = allRadar.stream().map(SocketModel::getId).collect(Collectors.toList()); List filterList = radarList.stream().filter(item -> !idList.contains(item.getId())).collect(Collectors.toList()); - buildAllRadar(filterList); +// buildAllRadar(filterList); } public static void delRadar(Long id) { @@ -279,91 +279,91 @@ public class RadarStatusController implements InitializingBean { } - private void asyncReadRadar(SocketModel socketModel) { - CompletableFuture.runAsync(() -> { - try { - List discernList = new ArrayList<>(); - // socket连接成功返回数据 - DataResponse data = SocketUtil.getData(socketModel); - // 天线号字符串转集合 - List numberList = convertStringToList(socketModel.getNumber()); - for (String number : numberList) { - if (!pulse4Number.containsKey(number)) { - pulse4Number.put(number, new ArrayList<>()); - } - List pulse4Values = pulse4Number.get(number); - if (data.getData().get(7) == 0){ - consecutiveZeros ++; - if (consecutiveZeros >= 10) { - // 10个0连续,说明该天线没有数据 从pulse4Number中删除该天线 - pulse4Number.remove(number); - // 从radarList中删除该天线 - allRadar.remove(socketModel); - - // 数据记录结束,计算最大pulse4值 - double maxPulse4 = pulse4Values.stream().mapToDouble(Integer::doubleValue).max().orElse(0); - System.out.println("天线 " + number + " 的最大pulse4值为: " + maxPulse4); - // 为下一次数据记录重置 - pulse4Values.clear(); - consecutiveZeros = 0; - } - }else { - count ++; - pulse4Values.add(data.getData().get(7)); - } - } - - SysDiscern sysDiscern = copyDataToDiscern(data); - - System.out.println(socketModel.getRadarIp() + ": " + data); - // 雷达数据返回封装类赋值 - ModbusResponse modbusResponse = getModbusResponse(data); - - - - String tag = modbusResponse.getTagId(); - // 雷达原始数据对象 - PrimaryRadarData primaryRadarData = new PrimaryRadarData(); - // 标识器对象 - SysIdentifier sysIdentifier = new SysIdentifier(); - // 拷贝封装类属性到雷达原始数据对象 - BeanUtils.copyProperties(modbusResponse, primaryRadarData); - - //判断读取数据中是否携带标签 - if (!"0".equals(modbusResponse.getTagId())) { - // 根据标签去数据库查询标签列表 - sysIdentifier = identifierService.selectIdentifierByTag(tag); - //判断数据库查询结果是否有数据 - if (sysIdentifier != null) { - // 有数据将查询到的标识器配置属性放进原始数据对象 - primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber()); - primaryRadarData.setRadarLocation(socketModel.getRadarLocation()); - primaryRadarData.setRadarIp(socketModel.getRadarIp()); - - if (modbusResponse.getValue4() != 0){ - // 给雷达识别报表赋值 - sysDiscern.setType(sysIdentifier.getType()); - sysDiscern.setRadarLocation(socketModel.getRadarLocation()); - sysDiscern.setLadleNumber(sysIdentifier.getLadleNumber()); - sysDiscern.setCreateTime(new Date()); - } - } - } else { - // 没有配置过将铁包号置空 - primaryRadarData.setLadleNumber(null); - primaryRadarData.setRadarLocation(null); - primaryRadarData.setRadarIp(socketModel.getRadarIp()); - } - if (modbusResponse.getValue4() != null && modbusResponse.getValue4() != 0) { - primaryRadarDataService.insertPrimaryRadarData(primaryRadarData); - } else { - - } - - } catch (Exception e) { - } - }); - } +// private void asyncReadRadar(SocketModel socketModel) { +// CompletableFuture.runAsync(() -> { +// try { +// List discernList = new ArrayList<>(); +// // socket连接成功返回数据 +// DataResponse data = SocketUtil.getData(socketModel); +// // 天线号字符串转集合 +// List numberList = convertStringToList(socketModel.getNumber()); +// for (String number : numberList) { +// if (!pulse4Number.containsKey(number)) { +// pulse4Number.put(number, new ArrayList<>()); +// } +// List pulse4Values = pulse4Number.get(number); +// if (data.getData().get(7) == 0){ +// consecutiveZeros ++; +// if (consecutiveZeros >= 10) { +// // 10个0连续,说明该天线没有数据 从pulse4Number中删除该天线 +// pulse4Number.remove(number); +// // 从radarList中删除该天线 +// allRadar.remove(socketModel); +// +// // 数据记录结束,计算最大pulse4值 +// double maxPulse4 = pulse4Values.stream().mapToDouble(Integer::doubleValue).max().orElse(0); +// System.out.println("天线 " + number + " 的最大pulse4值为: " + maxPulse4); +// // 为下一次数据记录重置 +// pulse4Values.clear(); +// consecutiveZeros = 0; +// } +// }else { +// count ++; +// pulse4Values.add(data.getData().get(7)); +// } +// } +// +// SysDiscern sysDiscern = copyDataToDiscern(data); +// +// System.out.println(socketModel.getRadarIp() + ": " + data); +// // 雷达数据返回封装类赋值 +// ModbusResponse modbusResponse = getModbusResponse(data); +// +// +// +// String tag = modbusResponse.getTagId(); +// // 雷达原始数据对象 +// PrimaryRadarData primaryRadarData = new PrimaryRadarData(); +// // 标识器对象 +// SysIdentifier sysIdentifier = new SysIdentifier(); +// // 拷贝封装类属性到雷达原始数据对象 +// BeanUtils.copyProperties(modbusResponse, primaryRadarData); +// +// //判断读取数据中是否携带标签 +// if (!"0".equals(modbusResponse.getTagId())) { +// // 根据标签去数据库查询标签列表 +// sysIdentifier = identifierService.selectIdentifierByTag(tag); +// //判断数据库查询结果是否有数据 +// if (sysIdentifier != null) { +// // 有数据将查询到的标识器配置属性放进原始数据对象 +// primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber()); +// primaryRadarData.setRadarLocation(socketModel.getRadarLocation()); +// primaryRadarData.setRadarIp(socketModel.getRadarIp()); +// +// if (modbusResponse.getValue4() != 0){ +// // 给雷达识别报表赋值 +// sysDiscern.setType(sysIdentifier.getType()); +// sysDiscern.setRadarLocation(socketModel.getRadarLocation()); +// sysDiscern.setLadleNumber(sysIdentifier.getLadleNumber()); +// sysDiscern.setCreateTime(new Date()); +// } +// } +// } else { +// // 没有配置过将铁包号置空 +// primaryRadarData.setLadleNumber(null); +// primaryRadarData.setRadarLocation(null); +// primaryRadarData.setRadarIp(socketModel.getRadarIp()); +// } +// if (modbusResponse.getValue4() != null && modbusResponse.getValue4() != 0) { +// primaryRadarDataService.insertPrimaryRadarData(primaryRadarData); +// } else { +// +// } +// +// } catch (Exception e) { +// } +// }); +// }