fix(data-task): 修复数据任务中的越限标签计算和报警处理逻辑

- 修复了buildOverlimitTag方法名拼写错误,统一为buildOverLimitTag
- 添加了lineInterval参数用于越限次数到分钟数的转换计算
- 将越限次数乘以统计间隔并限制最大值为1440分钟
- 优化了CsAlarmServiceImpl中的在线率和完整性异常判断逻辑
- 重构了报警VO的数据流处理方式
- 更新了CsHarmonicServiceImpl中的枚举映射配置
- 调整了设备消息接口的参数注解配置
- 清理了无用的Jackson依赖导入
- 移除了废弃的通信离线时段计算代码
This commit is contained in:
xy
2026-05-21 15:26:54 +08:00
parent a82ea6b217
commit 23574f0819
5 changed files with 66 additions and 221 deletions

View File

@@ -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;

View File

@@ -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 {