modbus本地设备数据读取失败,告警等级修改为“一般”,读到数据后自恢复

This commit is contained in:
zq
2026-01-27 17:37:42 +08:00
parent 9f2c303047
commit d19f07c4e8
3 changed files with 43 additions and 8 deletions

View File

@ -36,9 +36,9 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import java.util.stream.Collectors;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.slf4j.Logger;
@ -272,7 +272,8 @@ public class ModbusPoller {
// 数据读取成功,重置计数器
deviceFailureCounts.remove(deviceNumber);
updateDeviceStatus(siteId, deviceNumber, DeviceRunningStatus.ONLINE.getCode());
// 读取到数据后告警自恢复
deleteDeviceOfflineRecord(siteId, deviceNumber);
// 发送MQTT消息、保存Redis数据和数据入库
Long timestamp = System.currentTimeMillis();
@ -317,6 +318,12 @@ public class ModbusPoller {
iEmsAlarmRecordsService.addDeviceOfflineRecord(siteId, deviceNumber);
}
//处理设备读取到数据的情况,更新设备状态为在线,报警记录自恢复
private void deleteDeviceOfflineRecord(String siteId, String deviceNumber) {
updateDeviceStatus(siteId, deviceNumber, DeviceRunningStatus.ONLINE.getCode());
iEmsAlarmRecordsService.deleteDeviceOfflineRecord(siteId, deviceNumber);
}
// 更新设备状态为在线或离线
private void updateDeviceStatus(String siteId, String deviceNumber, String deviceStatus) {
EmsDevicesSetting emsDevicesSetting = emsDevicesSettingMapper.getDeviceBySiteAndDeviceId(deviceNumber, siteId);