xieb
2024-03-07 e2fda8f4f705f6636fcf51e4c11a78a2b1f5f3b5
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java
@@ -12,6 +12,7 @@
import cn.gistack.sm.patrol.feign.PatrolTaskClient;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.logging.log4j.util.Strings;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.DateUtil;
@@ -48,6 +49,9 @@
    */
   @Override
   public Object selectAlarmRecordPage(IPage<AlarmRecordVO> page, AlarmRecordVO alarmRecord) {
      if (!Strings.isBlank(alarmRecord.getAdCode())){
         alarmRecord.setAdCode(alarmRecord.getAdCode().replaceAll("0+$", ""));
      }
      if (null != alarmRecord.getIsExport()){
         return baseMapper.selectAlarmRecordPage(null,alarmRecord);
      }
@@ -61,10 +65,22 @@
    */
   @Override
   public Object statisticAlarmRecordByType(AlarmRecordVO alarmRecord) {
      // 获取当前用户的行政区划
      String adCode = "420000000000";
      if (!Strings.isBlank(alarmRecord.getAdCode())){
         alarmRecord.setAdCode(alarmRecord.getAdCode().replaceAll("0+$", ""));
      }
      // 查询统计数据
      List<StatisticAlarmRecord> list = baseMapper.statisticAlarmRecordByType(alarmRecord);
      // 返回数据
      return list;
   }
   @Override
   public Object statisticAlarmRecordByAlarmRuleType(AlarmRecordVO alarmRecord) {
      if (!Strings.isBlank(alarmRecord.getAdCode())){
         alarmRecord.setAdCode(alarmRecord.getAdCode().replaceAll("0+$", ""));
      }
      // 查询统计数据
      List<StatisticAlarmRecord> list = baseMapper.statisticAlarmRecordByAlarmRuleType(alarmRecord);
      // 返回数据
      return list;
   }
@@ -76,13 +92,23 @@
    */
   @Override
   public Object statisticAlarmRecord(AlarmRecordVO alarmRecord) {
      // 获取当前用户的行政区划
      String adCode = "420000000000";
      if (Strings.isBlank(alarmRecord.getAdCode())){
         // 获取当前用户的行政区划
         alarmRecord.setAdCode("420000000000");
      }
      // 查询所有的市级行政区
      List<String> adNameList = baseMapper.getAdNameList(adCode);
      List<String> adNameList = baseMapper.getAdNameList(alarmRecord.getAdCode());
      if (alarmRecord.getAdLevel().equals("4")) {
         adNameList = baseMapper.getAdNameListByAdCode(alarmRecord.getAdCode());
      }
      // 查询符合条件的告警类型
      List<AlarmRule> alarmRuleList = baseMapper.listAlarmRule(alarmRecord);
      // 查询统计数据
      if (!Strings.isBlank(alarmRecord.getAdCode())){
         alarmRecord.setAdCode(alarmRecord.getAdCode().replaceAll("0+$", ""));
      }
      List<StatisticAlarmRecord> list = baseMapper.statisticAlarmRecord(alarmRecord);
      // 按行政区分组
      Map<String, List<StatisticAlarmRecord>> listMap = list.stream().filter(item->null!=item.getAdName()).collect(Collectors.groupingBy(StatisticAlarmRecord::getAdName));