diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml index 5d90112..9041565 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml @@ -309,6 +309,7 @@ alert_history.confirm_status, alert_history.handle_status, alert_history.id alertHistoryId, + alert_history.retain_alert, 1 as classId, basic_monitoring_asset.`symbol` assetSymbol from @@ -371,6 +372,7 @@ alert_history.confirm_status, alert_history.handle_status, alert_history.id alertHistoryId, + alert_history.retain_alert, 1 as classId, basic_monitoring_asset.`symbol` assetSymbol from diff --git a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceAlarmData.java b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceAlarmData.java index 55dfd2f..62f1f9e 100644 --- a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceAlarmData.java +++ b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceAlarmData.java @@ -39,5 +39,8 @@ public class DeviceAlarmData extends BaseData{ @Schema(description = "已过去时长", example = "177日3時間54分間") private String elapsedTimeStr; + @Schema(description = "0=正常,1=告警", example = "1") + private Integer inAlarm; + } diff --git a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java index 614ad01..e94be6f 100644 --- a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java +++ b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java @@ -32,7 +32,4 @@ public class DeviceBaStatusData extends BaseData{ @Schema(description = "last stop time", example = "1720000000000", hidden = true) private String latestTs; - @Schema(description = "0=正常,1=告警", example = "1") - private Integer inAlarm; - } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java index 23acb65..e01502e 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java @@ -121,12 +121,27 @@ public class DeviceDataAlarmServiceImpl implements DeviceDataAlarmService { data.setElapsedTime(currentTs - data.getUploadTimestamp()); data.setElapsedTimeStr(commonOpt.formatElapsedTime(data.getElapsedTime(), languageType)); } + data.setInAlarm(isInAlarm(data.getHandleStatus(), data.getRetainAlert()) ? 1 : 0); } } return resultList; } + public static boolean isInAlarm(Integer handleStatus, Integer retainAlert) { + if (handleStatus == null) { + return false; + } + + // (handle_status != 3 AND handle_status != 4) + if (handleStatus != 3 && handleStatus != 4) { + return true; + } + + // (handle_status = 4 AND retain_alert = 1) + return handleStatus == 4 && Integer.valueOf(1).equals(retainAlert); + } + @Override @Transactional public SimpleDataResponse handleAlarm(HandleAlarmParams handleAlarmParams, Long userId, Long companyId, Integer languageType) { diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java index e8b1274..2c55682 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java @@ -103,8 +103,6 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService List deviceIds = resultList.stream() .map(DeviceBaStatusData::getDeviceId) .toList(); - //查询是否告警 - List inAlarmDeviceIds = deviceInfoMapperExt.selectAlertingDeviceIds(deviceIds); // 查询 111状态 数据 Map deviceId85To111Map = commonOpt.buildDeviceId85To111Map(deviceIds); @@ -175,8 +173,6 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(diff)); } } - - data.setInAlarm(inAlarmDeviceIds.contains(deviceId) ? 1 : 0); } }