guoshilong
2024-04-19 b5cc77e64eb5a0d4b75488f0d3a3075e56ee0359
告警饼图增加工程规模,标签,流域,多水库查询条件
2 files modified
41 ■■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml 35 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java
@@ -11,6 +11,7 @@
@Data
public class AlarmRecordVO extends AlarmRecord {
    /**
     * 区域名称
     */
@@ -89,4 +90,9 @@
    private String adLevel;
    private String alarmLevel;
    private String labels;
    private String basGuids;
    private String resGuids;
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
@@ -262,6 +262,10 @@
        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
                LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = record.reservoir_number
                LEFT JOIN SJZT_MD."att_bas_base" abb ON abb."code" = rrbl."bas_guid"
                LEFT JOIN SJZT_MD."att_bas_base" pabb ON abb."p_code" = pabb."code"
        where
            record.is_deleted = 0
          <if test="alarmRecord.type != null and alarmRecord.type !=''">
@@ -276,9 +280,34 @@
            <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''">
                and record.create_time &lt;= #{alarmRecord.endTime}
            </if>
<!--            <if test="alarmRecord.reservoirName != null and alarmRecord.reservoirName !=''">-->
<!--                and arb."name" LIKE CONCAT('%',#{alarmRecord.reservoirName},'%')-->
<!--            </if>-->
            <if test="alarmRecord.engScal != null and alarmRecord.engScal != ''">
                and arb."eng_scal" = #{alarmRecord.engScal}
            </if>
            <if test="alarmRecord.labels != null and alarmRecord.labels != '' ">
                AND( 1!=1
                <foreach collection="alarmRecord.labels.split(',')" item="item" open="" separator="" close="" index="index">
                    OR  #{item}  in (arb."label")
                </foreach>
                )
            </if>
            <if test="alarmRecord.basGuids != null and alarmRecord.basGuids !='' ">
                AND(
                abb."code" in
                <foreach collection="alarmRecord.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
                    #{item}
                </foreach>
                or pabb."code" in
                <foreach collection="alarmRecord.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
                    #{item}
                </foreach>
                )
            </if>
            <if test="alarmRecord.resGuids != null and alarmRecord.resGuids !=''">
                AND record.reservoir_number in
                <foreach collection="alarmRecord.resGuids.split(',')" item="item" index="index" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
        group by rule.alarm_level
        order by field(rule.alarm_level,'蓝色预警','黄色预警','橙色预警','红色预警')
    </select>