From 90926b56510ea29f93b2dcd62acf2f4b61a970fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AE=87=E8=88=AA?= <653809315@qq.com> Date: Wed, 21 Feb 2024 17:31:53 +0800 Subject: [PATCH] 111 --- .../impl/RadarRealTimeDataServiceImpl.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RadarRealTimeDataServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RadarRealTimeDataServiceImpl.java index 83bf6a9..9c7a1dc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RadarRealTimeDataServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RadarRealTimeDataServiceImpl.java @@ -128,14 +128,14 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I // 连续2秒没读到数据,结束 if (current - noDataStart >= 2000) { // todo:存数据 - if (CollectionUtils.isNotEmpty(map.get(getMapKey(radar)))) { + if (CollectionUtils.isNotEmpty(map.get(getMapKey(radar,data.getData().get(11))))) { if (readCount > 1) { saveData(radar, map, readCount, timeMap.get("noDataStart"), current); timeMap.put("noDataStart", System.currentTimeMillis()); readCount = 1; } } - map.remove(getMapKey(radar)); + map.remove(getMapKey(radar,data.getData().get(11))); noDataStart = current; } continue; @@ -154,7 +154,7 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I primaryRadarData.setRadarId(data.getData().get(0)); primaryRadarData.setRadarLocation(radar.getRadarLocation()); - List dataList = map.get(getMapKey(radar)); + List dataList = map.get(getMapKey(radar, modbusResponse.getNumber())); //判断读取数据中是否携带标签 if (!"0".equals(modbusResponse.getTagId())) { consecutiveZeros = 0; @@ -170,7 +170,7 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I if (CollectionUtils.isEmpty(dataList)) { dataList = new ArrayList<>(); dataList.add(primaryRadarData); - map.put(getMapKey(radar), dataList); + map.put(getMapKey(radar,modbusResponse.getNumber()), dataList); } // 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())) { // if (current - start >= 20000) { @@ -201,7 +201,7 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I saveData(radar, map, readCount, timeMap.get("noDataStart"), currentTimeMillis); dataList.clear(); timeMap.put("noDataStart", System.currentTimeMillis()); - map.remove(getMapKey(radar)); + map.remove(getMapKey(radar,modbusResponse.getNumber())); dataList.add(primaryRadarData); readCount = 1; } @@ -221,7 +221,7 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I saveData(radar, map, readCount, timeMap.get("noDataStart"), currentTimeMillis); dataList.clear(); timeMap.put("noDataStart", System.currentTimeMillis()); - map.remove(getMapKey(radar)); + map.remove(getMapKey(radar,modbusResponse.getNumber())); dataList.add(primaryRadarData); readCount = 1; } @@ -236,7 +236,7 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I saveData(radar, map, readCount, data.getTime(), end); dataList.clear(); timeMap.put("noDataStart", System.currentTimeMillis()); - map.remove(getMapKey(radar)); + map.remove(getMapKey(radar,modbusResponse.getNumber())); dataList.add(primaryRadarData); readCount = 1; } @@ -252,7 +252,7 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I // System.out.println("连续10次读取标签号为0:开始存储........" + radar + map + readCount + "开始时间为:" + timeMap.get("zero") + "结束时间为:" + noDataStart); saveData(radar, map, readCount, timeMap.get("zero"), noDataStart); readCount = 1; - map.remove(getMapKey(radar)); + map.remove(getMapKey(radar,modbusResponse.getNumber())); timeMap.put("noDataStart", System.currentTimeMillis()); dataList.clear(); consecutiveZeros = 0; @@ -312,8 +312,8 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I } - private String getMapKey(SysRadar radar) { - return radar.getRadarIp() + "-" + radar.getRadarNum() + "-" + radar.getId(); + private String getMapKey(SysRadar radar,Integer number) { + return radar.getRadarIp() + "-" + number + "-" + radar.getId(); } @Override