| | |
| | | */ |
| | | @Override |
| | | public Object selectAlarmRecordPage(IPage<AlarmRecordVO> page, AlarmRecordVO alarmRecord) { |
| | | if (!Strings.isBlank(alarmRecord.getAdCode())){ |
| | | alarmRecord.setAdCode(alarmRecord.getAdCode().replaceAll("0+$", "")); |
| | | } |
| | | // if (!Strings.isBlank(alarmRecord.getAdCode())){ |
| | | // alarmRecord.setAdCode(alarmRecord.getAdCode().replaceAll("0+$", "")); |
| | | // } |
| | | if (null != alarmRecord.getIsExport()){ |
| | | return baseMapper.selectAlarmRecordPage(null,alarmRecord); |
| | | } |
| | |
| | | List<StatisticAlarmRecord> list = baseMapper.statisticsPie(alarmRecordVO); |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | | * 告警统计按告警分类-等级统计 |
| | | * @param alarmRecord |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Object statisticAlaByTypeAndLev(AlarmRecordVO alarmRecord) { |
| | | Map<String, Object> map = new HashMap<>(4); |
| | | List<StatisticAlarmRecord> recordList = baseMapper.statisticAlaByTypeAndLev(alarmRecord); |
| | | if (recordList.size()>0){ |
| | | map.put("水情监测",setAlaStatisticListByData(recordList,"水情监测")); |
| | | map.put("雨情监测",setAlaStatisticListByData(recordList,"雨情监测")); |
| | | map.put("渗压监测",setAlaStatisticListByData(recordList,"渗压监测")); |
| | | map.put("渗流监测",setAlaStatisticListByData(recordList,"渗流监测")); |
| | | map.put("变形监测",setAlaStatisticListByData(recordList,"变形监测")); |
| | | }else { |
| | | map.put("水情监测",setAlaStatisticList()); |
| | | map.put("雨情监测",setAlaStatisticList()); |
| | | map.put("渗压监测",setAlaStatisticList()); |
| | | map.put("渗流监测",setAlaStatisticList()); |
| | | map.put("变形监测",setAlaStatisticList()); |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 设置组装预警统计数据-带参数 |
| | | * @return |
| | | */ |
| | | private List<StatisticAlarmRecord> setAlaStatisticListByData(List<StatisticAlarmRecord> recordList, String typeName) { |
| | | List<StatisticAlarmRecord> list = new ArrayList<>(); |
| | | List<String> levelList = new ArrayList<>(){{ |
| | | add("蓝色预警"); |
| | | add("黄色预警"); |
| | | add("橙色预警"); |
| | | add("红色预警"); |
| | | }}; |
| | | List<String> alarmLevelList = recordList.stream() |
| | | .filter(a -> a.getRuleName().equals(typeName)) |
| | | .map(StatisticAlarmRecord::getAlarmLevel) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | // 先取差集 |
| | | List<String> diffList = levelList.stream().filter(item -> !alarmLevelList.contains(item)).collect(Collectors.toList()); |
| | | for (StatisticAlarmRecord alarmRecord : recordList) { |
| | | if (alarmRecord.getRuleName().equals(typeName)){ |
| | | StatisticAlarmRecord statisticAlarmRecord = new StatisticAlarmRecord(); |
| | | statisticAlarmRecord.setAlarmLevel(alarmRecord.getAlarmLevel()); |
| | | statisticAlarmRecord.setNum(alarmRecord.getNum()); |
| | | list.add(statisticAlarmRecord); |
| | | } |
| | | } |
| | | if (diffList.size()>0){ |
| | | for (String level : diffList) { |
| | | StatisticAlarmRecord statisticAlarmRecord = new StatisticAlarmRecord(); |
| | | statisticAlarmRecord.setAlarmLevel(level); |
| | | statisticAlarmRecord.setNum(0); |
| | | list.add(statisticAlarmRecord); |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | | * 设置组装预警统计数据 |
| | | * @return |
| | | */ |
| | | private List<StatisticAlarmRecord> setAlaStatisticList() { |
| | | List<StatisticAlarmRecord> list = new ArrayList<>(); |
| | | StatisticAlarmRecord statisticAlarmRecord1 = new StatisticAlarmRecord(); |
| | | statisticAlarmRecord1.setAlarmLevel("蓝色预警"); |
| | | statisticAlarmRecord1.setNum(0); |
| | | |
| | | StatisticAlarmRecord statisticAlarmRecord2 = new StatisticAlarmRecord(); |
| | | statisticAlarmRecord2.setAlarmLevel("黄色预警"); |
| | | statisticAlarmRecord2.setNum(0); |
| | | |
| | | StatisticAlarmRecord statisticAlarmRecord3 = new StatisticAlarmRecord(); |
| | | statisticAlarmRecord3.setAlarmLevel("橙色预警"); |
| | | statisticAlarmRecord3.setNum(0); |
| | | |
| | | StatisticAlarmRecord statisticAlarmRecord4 = new StatisticAlarmRecord(); |
| | | statisticAlarmRecord4.setAlarmLevel("红色预警"); |
| | | statisticAlarmRecord4.setNum(0); |
| | | |
| | | list.add(statisticAlarmRecord1); |
| | | list.add(statisticAlarmRecord2); |
| | | list.add(statisticAlarmRecord3); |
| | | list.add(statisticAlarmRecord4); |
| | | return list; |
| | | } |
| | | } |