guoshilong
2024-04-19 b5cc77e64eb5a0d4b75488f0d3a3075e56ee0359
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>