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