|
@@ -235,55 +235,25 @@ public class MsgAlarmCloudServiceImpl extends ServiceImpl<MsgAlarmCloudMapper, M
|
|
|
|
|
|
@Override
|
|
|
public AjaxResult alarmStatistics(MsgAlarmVo msgAlarmVo1) {
|
|
|
- int count = 0;
|
|
|
- int unresolvedCount = 0;
|
|
|
- //找出所有报警数据
|
|
|
- List<MsgAlarmCloud> list = msgAlarmCloudMapper.selectMsgAlarmList(msgAlarmVo1);
|
|
|
- //未解除的报警
|
|
|
- msgAlarmVo1.setIsLock(2);
|
|
|
- List<MsgAlarmCloud> alarmList = msgAlarmCloudMapper.selectMsgAlarmList(msgAlarmVo1);
|
|
|
- HashMap<String, Integer> map = new HashMap<>();
|
|
|
- if (!ObjectUtils.isEmpty(list)) {
|
|
|
- //获取所有报警的相机编码
|
|
|
- //找出所有报警数据 1=高铁的数量
|
|
|
- count = (int) list.stream()
|
|
|
- .map(base -> baseCameraManagementMapper.selectOne(new LambdaQueryWrapper<BaseCameraManagement>()
|
|
|
- .eq(BaseCameraManagement::getCameraCode, base.getCameraCode())))
|
|
|
- .filter(Objects::nonNull) // 确保 management 不是 null
|
|
|
- .map(management -> baseRailwayManagementMapper.selectOne(new LambdaQueryWrapper<BaseRailwayManagement>()
|
|
|
- .eq(BaseRailwayManagement::getRailwayCode, management.getRailwayCode()))) // 确保管理信息不是空的
|
|
|
- .filter(Objects::nonNull) // 确保 baseRailwayManagement 不是 null
|
|
|
- .filter(baseRailwayManagement -> baseRailwayManagement.getRailwayType() == 1)
|
|
|
- .count();
|
|
|
- //普铁的数量
|
|
|
- int pu = list.size() - count;
|
|
|
- map.put("highAlarmCount", count);
|
|
|
- map.put("puAlarmCount", pu);
|
|
|
- } else {
|
|
|
- map.put("highAlarmCount", 0);
|
|
|
- map.put("puAlarmCount", 0);
|
|
|
- }
|
|
|
- if (!ObjectUtils.isEmpty(alarmList)) {
|
|
|
- //获取所有报警的相机编码
|
|
|
- //找出所有未解除报警数据 1=高铁的数量
|
|
|
- unresolvedCount = (int) alarmList.stream()
|
|
|
- .map(base -> baseCameraManagementMapper.selectOne(new LambdaQueryWrapper<BaseCameraManagement>()
|
|
|
- .eq(BaseCameraManagement::getCameraCode, base.getCameraCode())))
|
|
|
- .filter(Objects::nonNull)
|
|
|
- .map(management -> baseRailwayManagementMapper.selectOne(new LambdaQueryWrapper<BaseRailwayManagement>()
|
|
|
- .eq(BaseRailwayManagement::getRailwayCode, management.getRailwayCode()))) // 确保管理信息不是空的
|
|
|
- .filter(Objects::nonNull) // 确保 baseRailwayManagement 不是 null
|
|
|
- .filter(baseRailwayManagement -> baseRailwayManagement.getRailwayType() == 1)
|
|
|
- .count();
|
|
|
- //普铁的数量
|
|
|
- int puUnresolvedCount = alarmList.size() - unresolvedCount;
|
|
|
- map.put("highUnresolvedCount", unresolvedCount);
|
|
|
- map.put("puUnresolvedCount", puUnresolvedCount);
|
|
|
+ // 执行合并查询以获取统计结果
|
|
|
+ Map<String, Integer> statistics = msgAlarmCloudMapper.selectAlarmStatistics(msgAlarmVo1);
|
|
|
+
|
|
|
+ // 创建返回结果的 map
|
|
|
+ Map<String, Integer> results = new HashMap<>();
|
|
|
+ if (statistics != null) {
|
|
|
+ results.put("highAlarmCount", statistics.get("highAlarmCount"));
|
|
|
+ results.put("puAlarmCount", statistics.get("puAlarmCount"));
|
|
|
+ results.put("highUnresolvedCount", statistics.get("highUnresolvedCount"));
|
|
|
+ results.put("puUnresolvedCount", statistics.get("puUnresolvedCount"));
|
|
|
} else {
|
|
|
- map.put("highUnresolvedCount", 0);
|
|
|
- map.put("puUnresolvedCount", 0);
|
|
|
+ // 处理statistics为空的情况,设置默认值或空值
|
|
|
+ results.put("highAlarmCount", 0);
|
|
|
+ results.put("puAlarmCount", 0);
|
|
|
+ results.put("highUnresolvedCount", 0);
|
|
|
+ results.put("puUnresolvedCount", 0);
|
|
|
}
|
|
|
- return AjaxResult.success(map);
|
|
|
+
|
|
|
+ return AjaxResult.success(results);
|
|
|
}
|
|
|
|
|
|
@Override
|