fix(data-task): 修复数据任务中的越限标签计算和报警处理逻辑
- 修复了buildOverlimitTag方法名拼写错误,统一为buildOverLimitTag - 添加了lineInterval参数用于越限次数到分钟数的转换计算 - 将越限次数乘以统计间隔并限制最大值为1440分钟 - 优化了CsAlarmServiceImpl中的在线率和完整性异常判断逻辑 - 重构了报警VO的数据流处理方式 - 更新了CsHarmonicServiceImpl中的枚举映射配置 - 调整了设备消息接口的参数注解配置 - 清理了无用的Jackson依赖导入 - 移除了废弃的通信离线时段计算代码
This commit is contained in:
@@ -103,8 +103,7 @@ public class CsAlarmServiceImpl extends ServiceImpl<CsAlarmMapper, CsAlarm> impl
|
||||
List<CsEventUserPO> userEvents = csEventUserPOService.queryEventListByUserId(RequestUtil.getUserIndex(), list.stream().map(CsAlarm::getId).collect(Collectors.toList()));
|
||||
|
||||
List<String> finalDevList = devList;
|
||||
List<AlarmVO> result = list.stream()
|
||||
.map(alarm -> {
|
||||
List<AlarmVO> result = list.stream().map(alarm -> {
|
||||
AlarmVO alarmVO = new AlarmVO();
|
||||
alarmVO.setEventId(alarm.getId());
|
||||
alarmVO.setDate(alarm.getTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
@@ -137,12 +136,21 @@ public class CsAlarmServiceImpl extends ServiceImpl<CsAlarmMapper, CsAlarm> impl
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<CsAlarmData.OnlineRateAlarm> list1 = new ArrayList<>();
|
||||
List<CsAlarmData.IntegrityAlarm.MonitorPointIntegrity> list2 = new ArrayList<>();
|
||||
//根据resultList 来查询在线率和完整是否有true的,如果有就设置alarmVO的属性
|
||||
resultList.forEach(item->{
|
||||
alarmVO.setOnlineRateIsWarn(item.getOnlineRate().getIsAbnormal());
|
||||
boolean hasAbnormal = item.getIntegrity().getMonitorPoints().stream()
|
||||
list1.add(item.getOnlineRate());
|
||||
list2.addAll(item.getIntegrity().getMonitorPoints());
|
||||
// 判断 onlineRate 是否有异常
|
||||
boolean hasOnlineRateAbnormal = list1.stream()
|
||||
.anyMatch(CsAlarmData.OnlineRateAlarm::getIsAbnormal);
|
||||
// 判断 monitorPoints 是否有异常
|
||||
boolean hasMonitorPointAbnormal = list2.stream()
|
||||
.anyMatch(CsAlarmData.IntegrityAlarm.MonitorPointIntegrity::getIsAbnormal);
|
||||
alarmVO.setIntegrityIsWarn(hasAbnormal);
|
||||
alarmVO.setOnlineRateIsWarn(hasOnlineRateAbnormal);
|
||||
alarmVO.setIntegrityIsWarn(hasMonitorPointAbnormal);
|
||||
});
|
||||
alarmVO.setWarnCounts(warnCounts);
|
||||
return alarmVO;
|
||||
|
||||
@@ -52,6 +52,10 @@ public class CsHarmonicServiceImpl extends ServiceImpl<CsHarmonicMapper, CsHarmo
|
||||
put("min", "最小值");
|
||||
put("avg", "平均值");
|
||||
put("cp95", "95%概率值");
|
||||
put("MAX", "最大值");
|
||||
put("MIN", "最小值");
|
||||
put("AVG", "平均值");
|
||||
put("CP95", "95%概率值");
|
||||
}};
|
||||
|
||||
private final CsLedgerFeignClient csLedgerFeignClient;
|
||||
@@ -275,7 +279,7 @@ public class CsHarmonicServiceImpl extends ServiceImpl<CsHarmonicMapper, CsHarmo
|
||||
|
||||
|
||||
public List<HarmonicDetailVO.HarmDetail> AnalyzeData(String jsonString) {
|
||||
List<HarmonicDetailVO.HarmDetail> result = new ArrayList<>();
|
||||
List<HarmonicDetailVO.HarmDetail> result;
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
List<PhaseData> phaseDataList = null;
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user