From ef1e469fd3e885b9238bc1ef5e8d82b3a43bd55b Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: Wed, 29 Nov 2023 20:07:29 +0800
Subject: [PATCH] 增加雷达跟踪引导上传

---
 src/main/java/com/ard/utils/tcp/ClientHandler.java           |   18 ++++++++++--------
 src/main/java/com/ard/alarm/radar/domain/RadarAlarmData.java |    2 +-
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ard/alarm/radar/domain/RadarAlarmData.java b/src/main/java/com/ard/alarm/radar/domain/RadarAlarmData.java
index 8cf17ec..e6269d5 100644
--- a/src/main/java/com/ard/alarm/radar/domain/RadarAlarmData.java
+++ b/src/main/java/com/ard/alarm/radar/domain/RadarAlarmData.java
@@ -17,5 +17,5 @@
     String radarName;
     String alarmTime;
     List<ArdAlarmRadar> ardAlarmRadars;
-    List<ArdAlarmRadar> ardFollowRadars;
+    ArdAlarmRadar ardFollowRadar;
 }
diff --git a/src/main/java/com/ard/utils/tcp/ClientHandler.java b/src/main/java/com/ard/utils/tcp/ClientHandler.java
index 7065348..8956726 100644
--- a/src/main/java/com/ard/utils/tcp/ClientHandler.java
+++ b/src/main/java/com/ard/utils/tcp/ClientHandler.java
@@ -13,6 +13,7 @@
 import io.netty.channel.SimpleChannelInboundHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 
 import javax.xml.bind.DatatypeConverter;
 import java.net.InetSocketAddress;
@@ -195,7 +196,7 @@
             // log.info("有效负载大小(转整型):" + payloadSizeToDecimal);
             //endregion
             List<ArdAlarmRadar> radarAlarmInfos = new ArrayList<>();
-            List<ArdAlarmRadar> radarFollowInfos = new ArrayList<>();
+            ArdAlarmRadar radarFollowInfo = null;
             //抽油机状态雷达推送集合
             List<ArdAlarmRadar> well = new ArrayList<>();
             String alarmTime = "";
@@ -320,11 +321,12 @@
                     ardAlarmRadar.setLatitude(alarmXY[1]);
                     ardAlarmRadar.setAlarmType(alarmType);
                     radarAlarmInfos.add(ardAlarmRadar);
-                    int bit1 = (cStat[0]>>1) & 0x1;;
+                    int bit1 = (cStat[0] >> 1) & 0x1;
                     //目标的B1=1 锁定
-                    if(bit1==1) {
-                        //将锁定目标放入锁定list
-                        radarFollowInfos.add(ardAlarmRadar);
+                    if (bit1 == 1) {
+                        radarFollowInfo = ardAlarmRadar;
+                        //将追踪锁定的报警对象属性复制给radarFollowInfo对象
+                        //BeanUtils.copyProperties(ardAlarmRadar, radarFollowInfo);
                     }
                 }
                 //endregion
@@ -340,9 +342,9 @@
                 radarAlarmData.setAlarmTime(alarmTime);
                 radarAlarmData.setArdAlarmRadars(radarAlarmInfos);
                 MqttProducer.publish(2, false, "radar", JSON.toJSONString(radarAlarmData));
-                if(radarFollowInfos.size()>0) {
-                    radarAlarmData.setArdFollowRadars(radarFollowInfos);
-                    MqttProducer.publish(2, false, "radarFollowGuide", JSON.toJSONString(radarAlarmData));
+                if (radarFollowInfo != null) {
+                    //当前雷达扫描存在引导跟踪数据,只保留最后一次锁定的数据
+                    MqttProducer.publish(2, false, "radarFollowGuide", JSON.toJSONString(radarFollowInfo));
                 }
                 //抽油机状态MQTT队列
                 radarAlarmData.setArdAlarmRadars(well);

--
Gitblit v1.9.3