From 6474b923d8f6d8ea5e5b63277f18335136c7e33c Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期一, 04 十二月 2023 11:24:16 +0800 Subject: [PATCH] 增加动态客户端备用代码 优化雷达追踪引导 优化打印日志 --- src/main/java/com/ard/utils/tcp/ClientHandler.java | 25 +++++++++++++++---------- 1 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/ard/utils/tcp/ClientHandler.java b/src/main/java/com/ard/utils/tcp/ClientHandler.java index 2f62a5f..a032d57 100644 --- a/src/main/java/com/ard/utils/tcp/ClientHandler.java +++ b/src/main/java/com/ard/utils/tcp/ClientHandler.java @@ -188,7 +188,8 @@ byte[] type = Arrays.copyOfRange(data, 0, 1);//鍛戒护绫诲瀷 // log.info("鍛戒护绫诲瀷:" + DatatypeConverter.printHexBinary(type)); byte[] cmdId = Arrays.copyOfRange(data, 1, 2);//鍛戒护ID - // log.info("鍛戒护ID:" + DatatypeConverter.printHexBinary(cmdId)); + String cmdIdStr=DatatypeConverter.printHexBinary(cmdId); + //log.info("鍛戒护ID:" + DatatypeConverter.printHexBinary(cmdId)); byte[] payloadSize = Arrays.copyOfRange(data, 2, 4);//鏈夋晥璐熻浇澶у皬 payloadSize = toLittleEndian(payloadSize); //log.info("payloadSize:" + DatatypeConverter.printHexBinary(payloadSize)); @@ -196,11 +197,12 @@ // log.info("鏈夋晥璐熻浇澶у皬(杞暣鍨�):" + payloadSizeToDecimal); //endregion List<ArdAlarmRadar> radarAlarmInfos = new ArrayList<>(); - ArdAlarmRadar radarFollowInfo = null; + List<ArdAlarmRadar> radarFollowInfos = new ArrayList<>(); //鎶芥补鏈虹姸鎬侀浄杈炬帹閫侀泦鍚� List<ArdAlarmRadar> well = new ArrayList<>(); String alarmTime = ""; Integer targetNum = 0; + log.debug("澶勭悊闆疯揪"+radarName+"鏁版嵁-->鍛戒护ID:"+cmdIdStr); //闆疯揪绉诲姩闃茬伀鎶ヨ if (Arrays.equals(cmdId, new byte[]{0x01})) { //region 鍛婅淇℃伅鍙嶉 @@ -309,11 +311,15 @@ double thetaRadians = Math.toRadians(fTy + 90); // 浣跨敤姝e鸡鍑芥暟璁$畻瀵硅竟闀垮害 Distance = Math.sin(thetaRadians) * Distance; + if(Distance<0) + { + continue;//杩囨护璺濈灏忎簬0鐨勮剰鏁版嵁 + } //log.debug("鐩爣鎶曞奖璺濈(m):" + Distance); Double[] radarXY = {radarLongitude, radarLagitude}; Double[] alarmXY = GisUtils.CalculateCoordinates(radarXY, Distance, (double) fTx); - log.debug("鎶ヨ淇℃伅锛�" + "銆恟adarId銆�" + radarId+ "銆恡argetId銆�" + targetId + "銆恘ame銆�" + alarmPointName + "銆恆larmType銆�" + alarmType + "銆恆larmTime銆�" + alarmTime + "銆恉istance銆�" + Distance + "銆怭銆�" + fTx + "銆怲銆�" + fTy + "銆怷銆�" + alarmXY[0] + "銆怸銆�" + alarmXY[1]); + log.debug("鎶ヨ淇℃伅锛�" + "銆恟adarName銆�" + radarName + "銆恡argetId銆�"+ targetId + "銆恆larmType銆�" + alarmType + "銆恆larmTime銆�" + alarmTime + "銆恘ame銆�" + alarmPointName+"銆怐istance銆�"+Distance); ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar(); ardAlarmRadar.setTargetId(targetId); ardAlarmRadar.setName(alarmPointName); @@ -324,9 +330,7 @@ int bit1 = (cStat[0] >> 1) & 0x1; //鐩爣鐨凚1=1 閿佸畾 if (bit1 == 1) { - radarFollowInfo = ardAlarmRadar; - //灏嗚拷韪攣瀹氱殑鎶ヨ瀵硅薄灞炴�у鍒剁粰radarFollowInfo瀵硅薄 - //BeanUtils.copyProperties(ardAlarmRadar, radarFollowInfo); + radarFollowInfos.add(ardAlarmRadar); } } //endregion @@ -342,9 +346,10 @@ radarAlarmData.setAlarmTime(alarmTime); radarAlarmData.setArdAlarmRadars(radarAlarmInfos); MqttProducer.publish(2, false, "radar", JSON.toJSONString(radarAlarmData)); - if (radarFollowInfo != null) { + if (radarFollowInfos.size() >0) { + radarAlarmData.setArdFollowRadars(radarFollowInfos); //褰撳墠闆疯揪鎵弿瀛樺湪寮曞璺熻釜鏁版嵁锛屽彧淇濈暀鏈�鍚庝竴娆¢攣瀹氱殑鏁版嵁 - MqttProducer.publish(2, false, "radarFollowGuide", JSON.toJSONString(radarFollowInfo)); + MqttProducer.publish(2, false, "radarFollowGuide", JSON.toJSONString(radarAlarmData)); } //鎶芥补鏈虹姸鎬丮QTT闃熷垪 radarAlarmData.setArdAlarmRadars(well); @@ -428,7 +433,7 @@ //log.info("鎵�灞炲憡璀﹀尯鍩熷悕绉�:" + DatatypeConverter.printHexBinary(szName)); String alarmPointName = ByteUtils.bytesToStringZh(szName); // log.info("鎵�灞炲憡璀﹀尯鍩熷悕绉�:" + alarmPointName); - log.debug("鎶ヨ淇℃伅锛�"+ "銆恟adarId銆�" + radarId + "銆恡argetId銆�" + targetId + "銆恘ame銆�" + alarmPointName + "銆恆larmType銆�" + alarmType + "銆恆larmTime銆�" + alarmTime); + log.debug("鎶ヨ淇℃伅锛�"+ "銆恟adarName銆�" + radarName + "銆恡argetId銆�" + targetId + "銆恘ame銆�" + alarmPointName + "銆恆larmType銆�" + alarmType + "銆恆larmTime銆�" + alarmTime); ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar(); ardAlarmRadar.setTargetId(targetId); ardAlarmRadar.setName(alarmPointName); @@ -441,7 +446,7 @@ //鎶芥补鏈虹姸鎬侀泦鍚堜腑瑁呭叆鏁版嵁 byte[] szName = Arrays.copyOfRange(data, index + 32, index + 64); String alarmPointName = ByteUtils.bytesToStringZh(szName); - log.debug("鎶ヨ淇℃伅锛�" + "銆恟adarId銆�" + radarId + "銆恡argetId銆�" + targetId + "銆恘ame銆�" + alarmPointName + "銆恆larmType銆戞娊娌规満鐘舵�佹姤璀︺�恆larmState銆�" + wellType + "銆恆larmTime銆�" + alarmTime); + //log.debug("鐘舵�佷俊鎭細" + "銆恟adarName銆�" + radarName + "銆恡argetId銆�" + targetId + "銆恆larmTime銆�" + alarmTime + "銆恘ame銆�" + alarmPointName + "銆恆larmState銆�" + wellType); ArdAlarmRadar wellAlarm = new ArdAlarmRadar(); wellAlarm.setTargetId(targetId); wellAlarm.setName(alarmPointName); -- Gitblit v1.9.3