From b95df429267d2d4932c4b604e9acdfc0617d06d4 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: Fri, 06 Oct 2023 15:58:03 +0800
Subject: [PATCH] 雷达设备

---
 src/main/java/com/ard/utils/tcp/ClientHandler.java |   38 +++++++++++++++++++++++++++-----------
 1 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/ard/utils/tcp/ClientHandler.java b/src/main/java/com/ard/utils/tcp/ClientHandler.java
index f472809..e4c4479 100644
--- a/src/main/java/com/ard/utils/tcp/ClientHandler.java
+++ b/src/main/java/com/ard/utils/tcp/ClientHandler.java
@@ -194,6 +194,8 @@
             // log.info("有效负载大小(转整型):" + payloadSizeToDecimal);
             //endregion
             List<ArdAlarmRadar> radarAlarmInfos = new ArrayList<>();
+            //抽油机新推送集合
+            List<ArdAlarmRadar> well = new ArrayList<>();
             String alarmTime = "";
             Integer targetNum = 0;
             if (Arrays.equals(cmdId, new byte[]{0x01})) {
@@ -381,6 +383,8 @@
                     //log.info("所属组:" + Grp);
                     //endregion
                     String alarmType;
+                    //新集合中运行变量
+                    String wellType = "运行";
                     byte[] cStat = Arrays.copyOfRange(data, index + 23, index + 24);
                     cStat = ByteUtils.toLittleEndian(cStat);
                     //String binaryString = String.format("%8s", Integer.toBinaryString(cStat[0] & 0xFF)).replace(' ', '0');
@@ -391,21 +395,30 @@
                     // 判断提取的值
                     if (isB0) {
                         alarmType = "雷达抽油机停机";
+                        byte[] szName = Arrays.copyOfRange(data, index + 32, index + 64);
+                        //log.info("所属告警区域名称:" + DatatypeConverter.printHexBinary(szName));
+                        String alarmPointName = ByteUtils.bytesToStringZh(szName);
+                        // log.info("所属告警区域名称:" + alarmPointName);
+                        log.debug("报警信息:" + "【id】" + id + "【name】" + alarmPointName + "【alarmType】" + alarmType + "【alarmTime】" + alarmTime);
+                        ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar();
+                        ardAlarmRadar.setTargetId(id);
+                        ardAlarmRadar.setName(alarmPointName);
+                        ardAlarmRadar.setAlarmType(alarmType);
+                        radarAlarmInfos.add(ardAlarmRadar);
+                        wellType = "停机";
                     } else {
-                        continue;
+                        wellType = "运行";
+//                        continue;
                     }
-                    //log.info("报警类型:" + alarmType);
-
+                    //新的集合中装入数据
                     byte[] szName = Arrays.copyOfRange(data, index + 32, index + 64);
-                    //log.info("所属告警区域名称:" + DatatypeConverter.printHexBinary(szName));
                     String alarmPointName = ByteUtils.bytesToStringZh(szName);
-                    // log.info("所属告警区域名称:" + alarmPointName);
-                    log.debug("报警信息:" + "【id】" + id + "【name】" + alarmPointName + "【alarmType】" + alarmType + "【alarmTime】" + alarmTime);
-                    ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar();
-                    ardAlarmRadar.setTargetId(id);
-                    ardAlarmRadar.setName(alarmPointName);
-                    ardAlarmRadar.setAlarmType(alarmType);
-                    radarAlarmInfos.add(ardAlarmRadar);
+                    //log.info("报警类型:" + alarmType);
+                    ArdAlarmRadar wellAlarm = new ArdAlarmRadar();
+                    wellAlarm.setTargetId(id);
+                    wellAlarm.setName(alarmPointName);
+                    wellAlarm.setAlarmType(wellType);
+                    well.add(wellAlarm);
                 }
                 //endregion
             }
@@ -421,6 +434,9 @@
             radarAlarmData.setAlarmTime(alarmTime);
             radarAlarmData.setArdAlarmRadars(radarAlarmInfos);
             MqttConsumer.publish(2, false, "radar", JSON.toJSONString(radarAlarmData));
+            //新的MQTT队列
+            radarAlarmData.setArdAlarmRadars(well);
+            MqttConsumer.publish(2, false, "well", JSON.toJSONString(radarAlarmData));
         } catch (Exception ex) {
             log.error("雷达报文解析异常:" + ex.getMessage());
         }

--
Gitblit v1.9.3