From 606d7388589829e6a7108a48898d4e4126312d73 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期三, 01 十一月 2023 16:38:11 +0800 Subject: [PATCH] 增加雷达角度引导信息反馈 --- src/main/java/com/ard/utils/tcp/ClientHandler.java | 43 +++++++++++++++++++++++++++++-------------- 1 files changed, 29 insertions(+), 14 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..2693e76 100644 --- a/src/main/java/com/ard/utils/tcp/ClientHandler.java +++ b/src/main/java/com/ard/utils/tcp/ClientHandler.java @@ -6,7 +6,7 @@ import com.ard.alarm.radar.domain.RadarAlarmData; import com.ard.utils.other.ByteUtils; import com.ard.utils.other.GisUtils; -import com.ard.utils.mqtt.MqttConsumer; +import com.ard.utils.mqtt.MqttProducer; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelId; @@ -43,7 +43,7 @@ * @throws Exception */ @Override - public void channelActive(ChannelHandlerContext ctx) throws Exception { + public void channelActive(ChannelHandlerContext ctx) { context = ctx; startHeartbeatTask();//寮�濮嬪彂閫佸績璺� } @@ -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,29 @@ // 鍒ゆ柇鎻愬彇鐨勫�� 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("鎶ヨ淇℃伅锛�" + "銆恑d銆�" + id + "銆恘ame銆�" + alarmPointName + "銆恆larmType銆�" + alarmType + "銆恆larmTime銆�" + alarmTime); + ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar(); + ardAlarmRadar.setTargetId(id); + ardAlarmRadar.setName(alarmPointName); + ardAlarmRadar.setAlarmType(alarmType); + radarAlarmInfos.add(ardAlarmRadar); + wellType = "鍋滄満"; } else { - continue; + wellType = "杩愯"; } - //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("鎶ヨ淇℃伅锛�" + "銆恑d銆�" + id + "銆恘ame銆�" + alarmPointName + "銆恆larmType銆�" + alarmType + "銆恆larmTime銆�" + alarmTime); - ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar(); - ardAlarmRadar.setTargetId(id); - ardAlarmRadar.setName(alarmPointName); - ardAlarmRadar.setAlarmType(alarmType); - radarAlarmInfos.add(ardAlarmRadar); + log.debug("鎶芥补鏈虹姸鎬佹姤璀︿俊鎭細" + "銆恑d銆�" + id + "銆恘ame銆�" + alarmPointName + "銆恆larmType銆�" + wellType + "銆恆larmTime銆�" + alarmTime); + ArdAlarmRadar wellAlarm = new ArdAlarmRadar(); + wellAlarm.setTargetId(id); + wellAlarm.setName(alarmPointName); + wellAlarm.setAlarmType(wellType); + well.add(wellAlarm); } //endregion } @@ -420,7 +432,10 @@ radarAlarmData.setRadarName(radarName); radarAlarmData.setAlarmTime(alarmTime); radarAlarmData.setArdAlarmRadars(radarAlarmInfos); - MqttConsumer.publish(2, false, "radar", JSON.toJSONString(radarAlarmData)); + MqttProducer.publish(2, false, "radar", JSON.toJSONString(radarAlarmData)); + //鎶芥补鏈虹姸鎬丮QTT闃熷垪 + radarAlarmData.setArdAlarmRadars(well); + MqttProducer.publish(2, false, "radarWellData", JSON.toJSONString(radarAlarmData)); } catch (Exception ex) { log.error("闆疯揪鎶ユ枃瑙f瀽寮傚父:" + ex.getMessage()); } -- Gitblit v1.9.3