fix(alarm): 修复告警数据显示问题
- 移除多余的代码行和空行 - 添加完整性检测和在线率告警的默认数据构建逻辑 - 实现buildDefaultAlarmData方法为缺失数据提供默认结构 - 确保告警详情显示的完整性和一致性
This commit is contained in:
@@ -185,9 +185,7 @@ public class CsAlarmServiceImpl extends ServiceImpl<CsAlarmMapper, CsAlarm> impl
|
||||
for (int i = 0; i < devIds.length; i++) {
|
||||
for (int i1 = 0; i1 < param.getDevList().size(); i1++) {
|
||||
if (Objects.equals(devIds[i], param.getDevList().get(i1))) {
|
||||
|
||||
CsLedgerVO csLedgerVO = ledgerMap.get(devIds[i]);
|
||||
|
||||
AlarmVO.AlarmDetail alarmDetail = new AlarmVO.AlarmDetail();
|
||||
alarmDetail.setEngineeringName(ledgerMap.get(csLedgerVO.getPids().split(",")[1]).getName());
|
||||
alarmDetail.setProjectName(ledgerMap.get(csLedgerVO.getPids().split(",")[2]).getName());
|
||||
@@ -243,6 +241,36 @@ public class CsAlarmServiceImpl extends ServiceImpl<CsAlarmMapper, CsAlarm> impl
|
||||
}
|
||||
}
|
||||
}
|
||||
//特殊处理,如果完整性和在线率没有告警,需要特殊处理下,模拟数据
|
||||
if (CollectionUtil.isNotEmpty(result)) {
|
||||
result.forEach(item->{
|
||||
if (Objects.isNull(item.getDataDetails())) {
|
||||
item.setDataDetails(buildDefaultAlarmData(item.getDevName()));
|
||||
}
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建默认的告警数据详情
|
||||
* @param deviceId 设备ID
|
||||
* @return 默认结构的 CsAlarmData
|
||||
*/
|
||||
private CsAlarmData buildDefaultAlarmData(String deviceId) {
|
||||
CsAlarmData defaultData = new CsAlarmData();
|
||||
defaultData.setDeviceId(deviceId);
|
||||
// 构建 onlineRate 默认结构
|
||||
CsAlarmData.OnlineRateAlarm onlineRate = new CsAlarmData.OnlineRateAlarm();
|
||||
onlineRate.setValue(0.0);
|
||||
onlineRate.setThreshold(0.0);
|
||||
onlineRate.setIsAbnormal(false);
|
||||
defaultData.setOnlineRate(onlineRate);
|
||||
// 构建 integrity 默认结构
|
||||
CsAlarmData.IntegrityAlarm integrity = new CsAlarmData.IntegrityAlarm();
|
||||
integrity.setThreshold(0.0);
|
||||
integrity.setMonitorPoints(new ArrayList<>());
|
||||
defaultData.setIntegrity(integrity);
|
||||
return defaultData;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user