xieb
2024-03-07 e2fda8f4f705f6636fcf51e4c11a78a2b1f5f3b5
雨水情告警增加行政区划过滤
4 files modified
52 ■■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml 38 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java
@@ -85,4 +85,6 @@
     * adCode
     */
    private String adCode;
    private String adLevel;
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java
@@ -59,6 +59,13 @@
    List<String> getAdNameList(@Param("adCode") String adCode);
    /**
     * 按行政区code行政区
     * @param adCode
     * @return
     */
    List<String> getAdNameListByAdCode(@Param("adCode") String adCode);
    /**
     * 查询符合条件的告警类型
     * @param alarmRecord
     * @return
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
@@ -80,9 +80,28 @@
        select "ad_name" from SJZT_MD."att_ad_base" where "p_ad_code" = #{adCode} order by "guid"
    </select>
    <!--按行政区code行政区-->
    <select id="getAdNameListByAdCode" resultType="java.lang.String">
        select "ad_name" from SJZT_MD."att_ad_base" where "ad_code" = #{adCode} order by "guid"
    </select>
    <!--查询告警统计数据-->
    <select id="statisticAlarmRecord" resultType="cn.gistack.alerts.alarmRule.vo.StatisticAlarmRecord">
        select cityName as adName,rule_name as ruleName,count(*) num from (
        select
            <if test="alarmRecord.adLevel !=null and alarmRecord.adLevel != '' and alarmRecord.adLevel == 1 ">
                cityName as adName,
            </if>
            <if test="alarmRecord.adLevel !=null and alarmRecord.adLevel != '' and alarmRecord.adLevel == 2 ">
                countyName as adName,
            </if>
            <if test="alarmRecord.adLevel !=null and alarmRecord.adLevel != '' and alarmRecord.adLevel == 3 ">
                townName as adName,
            </if>
            <if test="alarmRecord.adLevel !=null and alarmRecord.adLevel != '' and alarmRecord.adLevel == 4 ">
                townName as adName,
            </if>
            rule_name as ruleName,count(*) num from (
            select
            sar.id,sar.alarm_rule_id,sar.create_time,sar.reservoir_number,
            arb."name",
@@ -130,7 +149,22 @@
                and arb."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%')
            </if>
        ) f
        group by cityName,rule_name
        group by
        <if test="alarmRecord.adLevel !=null and alarmRecord.adLevel != '' and alarmRecord.adLevel == 1 ">
            cityName,
        </if>
        <if test="alarmRecord.adLevel !=null and alarmRecord.adLevel != '' and alarmRecord.adLevel == 2 ">
            countyName,
        </if>
        <if test="alarmRecord.adLevel !=null and alarmRecord.adLevel != '' and alarmRecord.adLevel == 3 ">
            townName,
        </if>
        <if test="alarmRecord.adLevel !=null and alarmRecord.adLevel != '' and alarmRecord.adLevel == 4 ">
            townName,
        </if>
            rule_name
    </select>
    <!--查询告警统计数据-按三大类-->
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java
@@ -98,6 +98,11 @@
        }
        // 查询所有的市级行政区
        List<String> adNameList = baseMapper.getAdNameList(alarmRecord.getAdCode());
        if (alarmRecord.getAdLevel().equals("4")) {
            adNameList = baseMapper.getAdNameListByAdCode(alarmRecord.getAdCode());
        }
        // 查询符合条件的告警类型
        List<AlarmRule> alarmRuleList = baseMapper.listAlarmRule(alarmRecord);
        // 查询统计数据