diff --git a/riis-system/src/main/java/com/yfd/platform/component/iec104/client/MasterSysDataHandler.java b/riis-system/src/main/java/com/yfd/platform/component/iec104/client/MasterSysDataHandler.java index 461d89b..db455cb 100644 --- a/riis-system/src/main/java/com/yfd/platform/component/iec104/client/MasterSysDataHandler.java +++ b/riis-system/src/main/java/com/yfd/platform/component/iec104/client/MasterSysDataHandler.java @@ -44,10 +44,8 @@ public class MasterSysDataHandler implements DataHandler { ChannelHandlerContext currentctx = ctx.getCtx(); //------------从通道中获取当前连接的IP-----------------// BootNettyClientChannel channel = BootNettyClientChannelCache.get(currentctx.channel().id().asShortText()); - if (ObjUtil.isEmpty(channel)) { + if (ObjUtil.isNotEmpty(channel)) { //通道已关闭 - } else { - String slaveIp = channel.getCode(); String hexString = ByteUtil.byteArrayToHexString(ruleDetail104.getControl()); if ("83000000".equals(hexString)) { diff --git a/riis-system/src/main/java/com/yfd/platform/modules/auxcontrol/service/impl/DeviceAlarmRecordServiceImpl.java b/riis-system/src/main/java/com/yfd/platform/modules/auxcontrol/service/impl/DeviceAlarmRecordServiceImpl.java index 4c9c6ab..583a56a 100644 --- a/riis-system/src/main/java/com/yfd/platform/modules/auxcontrol/service/impl/DeviceAlarmRecordServiceImpl.java +++ b/riis-system/src/main/java/com/yfd/platform/modules/auxcontrol/service/impl/DeviceAlarmRecordServiceImpl.java @@ -91,23 +91,13 @@ public class DeviceAlarmRecordServiceImpl extends ServiceImpl timeInterval = getTimeInterval(7); - //如果在时间范围内 - if ("1".equals(timeInterval.get("beforeclock").toString())) { - //查询表中是否存在该报警记录 - List alarmRecords = queryDeviceAlarmRecord(deviceAlarmRecord, timeInterval); - //如果没有有报警记录 新增记录 - if (alarmRecords.size() == 0) { - doAlarmAction(deviceAlarmRecord); - } else if (alarmRecords.size() > 1) { - this.removeById(alarmRecords.get(0).getRecordId()); - } - } else { - List alarmRecords = queryDeviceAlarmRecord(deviceAlarmRecord, timeInterval); - if (alarmRecords.size() == 0) { - doAlarmAction(deviceAlarmRecord); - } else if (alarmRecords.size() > 1) { - this.removeById(alarmRecords.get(0).getRecordId()); - } + //查询表中是否存在该报警记录 + List alarmRecords = queryDeviceAlarmRecord(deviceAlarmRecord, timeInterval); + //如果没有有报警记录 新增记录 + if (alarmRecords.size() == 0) { + doAlarmAction(deviceAlarmRecord); + } else if (alarmRecords.size() > 1) { + this.removeById(alarmRecords.get(0).getRecordId()); } } else { //紧接者判断 value (1是告警 0是正常) status 同一信号监测到报警状态消除,对当前信号所有未处理历史报警打上已处理标签,并记录消除时间 @@ -181,34 +171,34 @@ public class DeviceAlarmRecordServiceImpl extends ServiceImpl singaldata, String value) { + Map singalData, String value) { DeviceAlarmRecord deviceAlarmRecord = new DeviceAlarmRecord(); - MeterDevice device = meterDeviceMapper.selectById(singaldata.get("meterDeviceId").toString()); + MeterDevice device = meterDeviceMapper.selectById(singalData.get("meterDeviceId").toString()); // 创建 SimpleDateFormat 对象,指定日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if ("yx".equals(type)) { deviceAlarmRecord.setRecordId(IdUtil.fastSimpleUUID()); - deviceAlarmRecord.setStationId(singaldata.get("stationId").toString()); + deviceAlarmRecord.setStationId(singalData.get("stationId").toString()); //变电站id - deviceAlarmRecord.setSystemcode(singaldata.get("systemcode").toString()); + deviceAlarmRecord.setSystemcode(singalData.get("systemcode").toString()); //所属系统 deviceAlarmRecord.setAlarmTime(DateUtil.toLocalDateTime(DateUtil.date())); //告警时间 - deviceAlarmRecord.setDeviceId(singaldata.get("meterDeviceId").toString()); + deviceAlarmRecord.setDeviceId(singalData.get("meterDeviceId").toString()); //告警设备ID - deviceAlarmRecord.setDeviceName(singaldata.get("deviceName").toString()); + deviceAlarmRecord.setDeviceName(singalData.get("deviceName").toString()); //告警设名称 - deviceAlarmRecord.setSignalId(singaldata.get("signalId").toString()); + deviceAlarmRecord.setSignalId(singalData.get("signalId").toString()); //告警信号id - deviceAlarmRecord.setSignalName(singaldata.get("signalName").toString()); + deviceAlarmRecord.setSignalName(singalData.get("signalName").toString()); //告警信号名称 deviceAlarmRecord.setAlarmValue(value); //告警值 deviceAlarmRecord.setSignalUnit(""); //值单位 - String alarmMessage = String.format("[%s]发生了%s!", singaldata.get("deviceName").toString(), - singaldata.get("signalName").toString()); + String alarmMessage = String.format("[%s]发生了%s!", singalData.get("deviceName").toString(), + singalData.get("signalName").toString()); deviceAlarmRecord.setAlarmMessage(alarmMessage); //告警信息 deviceAlarmRecord.setStatus("01"); @@ -222,27 +212,27 @@ public class DeviceAlarmRecordServiceImpl extends ServiceImpl listSymbol = new ArrayList<>(); List values = new ArrayList<>(); // //获取告警触发条件 @@ -329,34 +318,26 @@ public class DeviceAlarmRecordServiceImpl extends ServiceImpl 1) { resultTwo = compare(values.get(1), listSymbol.get(1), values.get(2)); } - - if (result && resultTwo) { - alramTrigger = true; - } else { - alramTrigger = false; - } - - return alramTrigger; + return result && resultTwo; } - private static boolean compare(double value1, String operator, double value2) { + private static boolean compare(Double value1, String operator, Double value2) { switch (operator) { case "<": - return value1 < value2; + return value1.compareTo(value2) < 0; case "<=": - return value1 <= value2; + return value1.compareTo(value2) < 0 || value1.compareTo(value2) == 0; case ">": - return value1 > value2; + return value1.compareTo(value2) > 0; case ">=": - return value1 >= value2; + return value1.compareTo(value2) > 0 || value1.compareTo(value2) == 0; case "==": - return value1 == value2; - case "!=": - return value1 != value2; case "=": - return value1 == value2; + return value1.compareTo(value2) == 0; + case "!=": + return value1.compareTo(value2) != 0; default: - throw new IllegalArgumentException("Unsupported comparison operator: " + operator); + throw new IllegalArgumentException("错误的告警规则: " + operator); } }