ke
2024-04-18 f2d0713c2b20a6c751399e2468996eafb8812988
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
@@ -15,7 +15,8 @@
            END AS countyName,
        case when b."ad_grad" = 2 THEN b."ad_name"
            when c."ad_grad" = 2 THEN c."ad_name"
            ELSE d."ad_name" END AS cityName
            ELSE d."ad_name" END AS cityName,
            sar1.alarm_level
        from YWXT.sm_alarm_record sar
        left join YWXT.sm_alarm_rule sar1 on sar.alarm_rule_id = sar1.id and sar1.is_deleted = 0
        left join SJZT_MD."att_res_base" a on a."guid" = sar.reservoir_number
@@ -49,6 +50,9 @@
        </if>
        <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''">
            and  a."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%')
        </if>
        <if test="alarmRecord.alarmLevel != null and alarmRecord.alarmLevel !=''">
            and sar1.alarm_level = #{alarmRecord.alarmLevel}
        </if>
        order by sar.id desc
    </select>
@@ -251,5 +255,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 &lt;= #{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>