From 9d4d8b4b7652e04c0c9758fc6796fd946f08b513 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Wed, 4 Feb 2026 18:05:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AD=A6=E6=8A=A5=E8=AE=BE=E5=A4=87=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0inAlarm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mappers/ex/DeviceInfoMapperExt.xml | 2 ++ .../dashboard/back/vo/data/DeviceAlarmData.java | 3 +++ .../back/vo/data/DeviceBaStatusData.java | 3 --- .../service/impl/DeviceDataAlarmServiceImpl.java | 15 +++++++++++++++ .../impl/DeviceDataBaStatusServiceImpl.java | 4 ---- 5 files changed, 20 insertions(+), 7 deletions(-) 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); } }