skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java
@@ -80,4 +80,9 @@ * 乡镇 */ private String townName; /** * adCode */ private String adCode; } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
@@ -44,6 +44,9 @@ <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''"> and date_format(sar.create_time,'%Y-%m-%d') <= #{alarmRecord.endTime} </if> <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''"> and a."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%') </if> order by sar.id desc </select> @@ -120,6 +123,9 @@ <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''"> and date_format(sar.create_time,'%Y-%m-%d') <= #{alarmRecord.endTime} </if> <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''"> and arb."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%') </if> ) f group by cityName,rule_name </select> @@ -137,6 +143,8 @@ select type,count(*) num from YWXT.sm_alarm_record sar left join YWXT.sm_alarm_rule e on e.id = sar.alarm_rule_id left join SJZT_MD."att_res_base" a on a."guid" = sar.reservoir_number left join SJZT_MD."att_ad_base" b on b."guid" = a."interior_ad_guid" where sar.is_deleted = 0 <if test="alarmRecord.startTime!=null and alarmRecord.startTime!=''"> and date_format(sar.create_time,'%Y-%m-%d') >= #{alarmRecord.startTime} @@ -144,6 +152,9 @@ <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''"> and date_format(sar.create_time,'%Y-%m-%d') <= #{alarmRecord.endTime} </if> <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''"> and a."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%') </if> group by type ) b on a.dict_value = b.type </select> 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,8 +65,9 @@ */ @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); // 返回数据 @@ -76,13 +81,18 @@ */ @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()); // 查询符合条件的告警类型 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));