| | |
| | | // 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})) { |
| | |
| | | //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'); |
| | |
| | | // 判断提取的值 |
| | | if (isB0) { |
| | | alarmType = "雷达抽油机停机"; |
| | | } else { |
| | | continue; |
| | | } |
| | | //log.info("报警类型:" + alarmType); |
| | | |
| | | byte[] szName = Arrays.copyOfRange(data, index + 32, index + 64); |
| | | //log.info("所属告警区域名称:" + DatatypeConverter.printHexBinary(szName)); |
| | | String alarmPointName = ByteUtils.bytesToStringZh(szName); |
| | |
| | | ardAlarmRadar.setName(alarmPointName); |
| | | ardAlarmRadar.setAlarmType(alarmType); |
| | | radarAlarmInfos.add(ardAlarmRadar); |
| | | wellType = "停机"; |
| | | } else { |
| | | wellType = "运行"; |
| | | // continue; |
| | | } |
| | | //新的集合中装入数据 |
| | | byte[] szName = Arrays.copyOfRange(data, index + 32, index + 64); |
| | | String alarmPointName = ByteUtils.bytesToStringZh(szName); |
| | | //log.info("报警类型:" + alarmType); |
| | | ArdAlarmRadar wellAlarm = new ArdAlarmRadar(); |
| | | wellAlarm.setTargetId(id); |
| | | wellAlarm.setName(alarmPointName); |
| | | wellAlarm.setAlarmType(wellType); |
| | | well.add(wellAlarm); |
| | | } |
| | | //endregion |
| | | } |
| | |
| | | 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()); |
| | | } |