skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/StatisticAlarmRecord.java
@@ -21,4 +21,6 @@ * 数量 */ private Integer num; private String alarmLevel; } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java
@@ -145,6 +145,12 @@ return R.data(alarmRecordService.statisticAlarmRecordByAlarmRuleType(alarmRecord)); } @GetMapping(value = "/statisticsPie") public R statisticsPie(AlarmRecordVO alarmRecordVO){ return R.data(alarmRecordService.statisticsPie(alarmRecordVO)); } /** * 按行政区统计告警 * @param alarmRecord skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java
@@ -73,4 +73,5 @@ List<AlarmRule> listAlarmRule(@Param("alarmRecord") AlarmRecordVO alarmRecord); List<StatisticAlarmRecord> statisticsPie(@Param("alarmRecord") AlarmRecordVO alarmRecordVO); } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
@@ -251,5 +251,32 @@ and rule_name = #{alarmRecord.ruleName} </if> </select> <select id="statisticsPie" resultType="cn.gistack.alerts.alarmRule.vo.StatisticAlarmRecord"> SELECT count(*) num,rule.alarm_level alarmLevel FROM YWXT.sm_alarm_record record LEFT JOIN ywxt.SM_ALARM_RULE rule on rule.id = record.alarm_rule_id LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = record.reservoir_number where record.is_deleted = 0 <if test="alarmRecord.type != null and alarmRecord.type !=''"> and rule.type = #{alarmRecord.type} </if> <if test="alarmRecord.adCode != null and alarmRecord.adCode !=''"> and arb."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%') </if> <if test="alarmRecord.startTime!=null and alarmRecord.startTime!=''"> and record.create_time >= #{alarmRecord.startTime} </if> <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''"> and record.create_time <= #{alarmRecord.endTime} </if> <!-- <if test="alarmRecord.reservoirName != null and alarmRecord.reservoirName !=''">--> <!-- and arb."name" LIKE CONCAT('%',#{alarmRecord.reservoirName},'%')--> <!-- </if>--> group by rule.alarm_level order by field(rule.alarm_level,'蓝色预警','黄色预警','橙色预警','红色预警') </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java
@@ -42,4 +42,6 @@ Object statisticAlarmRecord(AlarmRecordVO alarmRecord); Boolean updateStatus(AlarmRecord alarmRecord); Object statisticsPie(AlarmRecordVO alarmRecordVO); } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java
@@ -172,4 +172,14 @@ return b; } @Override public Object statisticsPie(AlarmRecordVO alarmRecordVO) { if (!Strings.isBlank(alarmRecordVO.getAdCode())){ alarmRecordVO.setAdCode(alarmRecordVO.getAdCode().replaceAll("0+$", "")); } // 查询统计数据 List<StatisticAlarmRecord> list = baseMapper.statisticsPie(alarmRecordVO); return list; } }