| | |
| | | <!--自定义分页列表查询--> |
| | | <select id="selectAlarmRecordPage" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRecordVO"> |
| | | select |
| | | <if test="alarmRecord.type == '渗压监测' or alarmRecord.type =='渗流监测' or alarmRecord.type == '变形监测' "> |
| | | acb."cd_nm" as cdNm, |
| | | </if> |
| | | sar.*, |
| | | sar1.type,sar1.alarm_rule_type as alarmRuleType,sar1.create_alarm_type as createAlarmType, |
| | | arb."name" as reservoirName,aab."ad_name" as areaName |
| | | sar1.type,sar1.alarm_rule_type as alarmRuleType,sar1.create_alarm_type as createAlarmType,sar1.rule_name as ruleName,a."label" as labels, |
| | | a."name" as reservoirName,a."res_reg_code" as resRegCode,a."eng_scal" as engScal, |
| | | case when b."ad_grad" = 4 THEN b."ad_name" |
| | | ELSE NULL END AS townName, |
| | | case when b."ad_grad" = 3 THEN b."ad_name" |
| | | when c."ad_grad" = 3 THEN C."ad_name" |
| | | 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, |
| | | 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" arb on arb."guid" = sar.reservoir_number |
| | | left join SJZT_MD."att_ad_base" aab on aab."guid" = arb."interior_ad_guid" |
| | | left join SJZT_MD."att_res_base" a on a."guid" = sar.reservoir_number |
| | | left join SJZT_MD."att_ad_base" b on b."guid" = a."interior_ad_guid" |
| | | LEFT JOIN SJZT_MD."att_ad_base" c ON b."p_ad_code" = c."guid" |
| | | LEFT JOIN SJZT_MD."att_ad_base" d ON c."p_ad_code" = d."guid" |
| | | |
| | | LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = sar.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" |
| | | |
| | | <if test="alarmRecord.type == '渗压监测'"> |
| | | LEFT JOIN SJZT_MD."att_cd_base" acb on acb."cd" = sar.alarm_survey_station_code and acb."cd_type" = 'sy' and sar.alarm_survey_station_code !='-1' and acb."res_cd" = sar.reservoir_number |
| | | </if> |
| | | <if test="alarmRecord.type == '渗流监测'"> |
| | | LEFT JOIN SJZT_MD."att_cd_base" acb on acb."cd" = sar.alarm_survey_station_code and acb."cd_type" = 'sl' and sar.alarm_survey_station_code !='-1' and acb."res_cd" = sar.reservoir_number |
| | | </if> |
| | | <if test="alarmRecord.type == '变形监测'"> |
| | | LEFT JOIN SJZT_MD."att_wy_cd_base" acb on acb."cd" = sar.alarm_survey_station_code and acb."cd_type" = 'wy' and sar.alarm_survey_station_code !='-1' and acb."res_cd" = sar.reservoir_number |
| | | </if> |
| | | where sar.is_deleted = 0 |
| | | <if test="alarmRecord.reservoirName!=null and alarmRecord.reservoirName!=''"> |
| | | and arb."name" like concat('%',#{alarmRecord.reservoirName},'%') |
| | | and a."name" like concat('%',#{alarmRecord.reservoirName},'%') |
| | | </if> |
| | | <if test="alarmRecord.type!=null and alarmRecord.type!=''"> |
| | | and sar1.type = #{alarmRecord.type} |
| | | and |
| | | <foreach collection="alarmRecord.type.split(',')" index="index" item="item" open="(" separator="or " close=")"> |
| | | sar1.type = #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="alarmRecord.alarmRuleType!=null and alarmRecord.alarmRuleType!=''"> |
| | | and sar1.alarm_rule_type = #{alarmRecord.alarmRuleType} |
| | |
| | | <if test="alarmRecord.createAlarmType!=null and alarmRecord.createAlarmType!=''"> |
| | | and sar1.create_alarm_type = #{alarmRecord.createAlarmType} |
| | | </if> |
| | | <if test="alarmRecord.ruleName!=null and alarmRecord.ruleName!=''"> |
| | | and sar1.rule_name = #{alarmRecord.ruleName} |
| | | </if> |
| | | <if test="alarmRecord.startTime!=null and alarmRecord.startTime!=''"> |
| | | and sar.create_time >= #{alarmRecord.startTime} |
| | | </if> |
| | | <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''"> |
| | | and sar.create_time <= #{alarmRecord.endTime} |
| | | </if> |
| | | <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''"> |
| | | and concat(a."interior_ad_guid",b."guid",c."guid",d."guid") like concat('%',#{alarmRecord.adCode},'%') |
| | | </if> |
| | | <if test="alarmRecord.alarmLevel != null and alarmRecord.alarmLevel !=''"> |
| | | and sar1.alarm_level = #{alarmRecord.alarmLevel} |
| | | </if> |
| | | |
| | | <if test="alarmRecord.engScal != null and alarmRecord.engScal != ''"> |
| | | and a."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 (a."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 sar.reservoir_number in |
| | | <foreach collection="alarmRecord.resGuids.split(',')" item="item" index="index" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | order by field(sar1.alarm_level,'红色预警','橙色预警','黄色预警','蓝色预警') |
| | | </select> |
| | | |
| | | <select id="getVODetail" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRecordVO"> |
| | | select |
| | | sar.*, |
| | | sar1.type,sar1.alarm_rule_type as alarmRuleType,sar1.create_alarm_type as createAlarmType,sar1.rule_name as ruleName, |
| | | a."name" as reservoirName,a."res_reg_code" as resRegCode,a."eng_scal" as engScal, |
| | | case when b."ad_grad" = 4 THEN b."ad_name" |
| | | ELSE NULL END AS townName, |
| | | case when b."ad_grad" = 3 THEN b."ad_name" |
| | | when c."ad_grad" = 3 THEN C."ad_name" |
| | | 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 |
| | | 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 |
| | | left join SJZT_MD."att_ad_base" b on b."guid" = a."interior_ad_guid" |
| | | LEFT JOIN SJZT_MD."att_ad_base" c ON b."p_ad_code" = c."guid" |
| | | LEFT JOIN SJZT_MD."att_ad_base" d ON c."p_ad_code" = d."guid" |
| | | where sar.is_deleted = 0 and sar.id = #{id} |
| | | </select> |
| | | |
| | | <!--按行政区code 查询下级行政区--> |
| | | <select id="getAdNameList" resultType="java.lang.String"> |
| | | 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 |
| | | <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", |
| | | e.rule_name, |
| | | case when b."ad_grad" = 4 THEN b."ad_name" ELSE NULL END AS townName, |
| | | case when b."ad_grad" = 3 THEN b."ad_name" |
| | | when c."ad_grad" = 3 THEN c."ad_name" END AS countyName, |
| | | case when b."ad_grad" = 3 THEN b."ad_code" |
| | | when c."ad_grad" = 3 THEN c."ad_code" END AS countyCode, |
| | | case when b."ad_grad" = 2 THEN b."ad_code" |
| | | when c."ad_grad" = 2 THEN c."ad_code" |
| | | ELSE d."ad_code" END AS cityCode, |
| | | 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 |
| | | from YWXT.sm_alarm_record sar |
| | | left join SJZT_MD."att_res_base" arb on arb."guid" = sar.reservoir_number |
| | | left join SJZT_MD."att_ad_base" b ON arb."interior_ad_guid" = b."guid" |
| | | left join SJZT_MD."att_ad_base" c ON b."p_ad_code" = c."guid" |
| | | left join SJZT_MD."att_ad_base" d ON c."p_ad_code" = d."guid" |
| | | left join YWXT.sm_alarm_rule e on e.id = sar.alarm_rule_id |
| | | |
| | | LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = sar.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 sar.is_deleted = 0 |
| | | <if test="alarmRecord.reservoirName!=null and alarmRecord.reservoirName!=''"> |
| | | and arb."name" like concat('%',#{alarmRecord.reservoirName},'%') |
| | | </if> |
| | | <if test="alarmRecord.type!=null and alarmRecord.type!=''"> |
| | | and e.type = #{alarmRecord.type} |
| | | </if> |
| | | <if test="alarmRecord.alarmRuleType!=null and alarmRecord.alarmRuleType!=''"> |
| | | and e.alarm_rule_type = #{alarmRecord.alarmRuleType} |
| | | </if> |
| | | <if test="alarmRecord.createAlarmType!=null and alarmRecord.createAlarmType!=''"> |
| | | and e.create_alarm_type = #{alarmRecord.createAlarmType} |
| | | </if> |
| | | <if test="alarmRecord.ruleName!=null and alarmRecord.ruleName!=''"> |
| | | and e.rule_name = #{alarmRecord.ruleName} |
| | | </if> |
| | | <if test="alarmRecord.startTime!=null and alarmRecord.startTime!=''"> |
| | | and sar.create_time >= #{alarmRecord.startTime} |
| | | </if> |
| | | <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''"> |
| | | and sar.create_time <= #{alarmRecord.endTime} |
| | | </if> |
| | | <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''"> |
| | | and arb."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%') |
| | | </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 sar.reservoir_number in |
| | | <foreach collection="alarmRecord.resGuids.split(',')" item="item" index="index" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | |
| | | |
| | | ) f |
| | | 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> |
| | | |
| | | <!--查询告警统计数据-按三大类--> |
| | | <select id="statisticAlarmRecordByType" resultType="cn.gistack.alerts.alarmRule.vo.StatisticAlarmRecord"> |
| | | select |
| | | a.dict_value as ruleName, |
| | | case when ifnull(b.type,0)='0' then 0 else b.num end as num |
| | | from |
| | | ( |
| | | select dict_value from YWXT.blade_dict_biz where code = 'ALARM_TYPE' and dict_key!= '-1' and is_deleted = 0 |
| | | ) a left join |
| | | ( |
| | | select type,count(*) num |
| | | from YWXT.sm_alarm_record sar |
| | | left join YWXT.sm_alarm_rule e on e.id = sar.alarm_rule_id |
| | | left join SJZT_MD."att_res_base" a on a."guid" = sar.reservoir_number |
| | | left join SJZT_MD."att_ad_base" b on b."guid" = a."interior_ad_guid" |
| | | where sar.is_deleted = 0 |
| | | <if test="alarmRecord.startTime!=null and alarmRecord.startTime!=''"> |
| | | and sar.create_time >= #{alarmRecord.startTime} |
| | | </if> |
| | | <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''"> |
| | | and sar.create_time <= #{alarmRecord.endTime} |
| | | </if> |
| | | <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''"> |
| | | and a."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%') |
| | | </if> |
| | | group by type |
| | | ) b on a.dict_value = b.type |
| | | </select> |
| | | |
| | | <!-- 查询大坝安全告警统计数据 --> |
| | | <select id="statisticAlarmRecordByAlarmRuleType" resultType="cn.gistack.alerts.alarmRule.vo.StatisticAlarmRecord"> |
| | | select |
| | | case |
| | | when alarm_rule_type='渗压监测告警' then '告警数量' |
| | | when alarm_rule_type='渗压监测预警' then '预警数量' |
| | | when alarm_rule_type='变形监测告警' then '告警数量' |
| | | when alarm_rule_type='变形监测预警' then '预警数量' |
| | | when alarm_rule_type='渗流监测告警' then '告警数量' |
| | | when alarm_rule_type='渗流监测预警' then '预警数量' |
| | | else alarm_rule_type |
| | | end as ruleName, |
| | | sum( |
| | | ( |
| | | select count(*) from YWXT.sm_alarm_record cha |
| | | left join SJZT_MD."att_res_base" a on a."guid" = cha.reservoir_number |
| | | left join SJZT_MD."att_ad_base" b on b."guid" = a."interior_ad_guid" |
| | | where a.id = cha.alarm_rule_id |
| | | and cha.is_deleted = 0 |
| | | <if test="alarmRecord.startTime!=null and alarmRecord.startTime!=''"> |
| | | and cha.create_time >= #{alarmRecord.startTime} |
| | | </if> |
| | | <if test="alarmRecord.endTime!=null and alarmRecord.endTime!=''"> |
| | | and cha.create_time <= #{alarmRecord.endTime} |
| | | </if> |
| | | <if test="alarmRecord.adCode!=null and alarmRecord.adCode!=''"> |
| | | and a."interior_ad_guid" like concat('%',#{alarmRecord.adCode},'%') |
| | | </if> |
| | | ) |
| | | ) as num |
| | | from YWXT.sm_alarm_rule a |
| | | <where> |
| | | <if test="alarmRecord.type!=null and alarmRecord.type!=''"> |
| | | and type = #{alarmRecord.type} |
| | | </if> |
| | | </where> |
| | | group by alarm_rule_type |
| | | </select> |
| | | |
| | | <!--查询符合条件的告警类型--> |
| | | <select id="listAlarmRule" resultType="cn.gistack.alerts.alarmRule.entity.AlarmRule"> |
| | | select * from YWXT.sm_alarm_rule where is_deleted = 0 |
| | | <if test="alarmRecord.type!=null and alarmRecord.type!=''"> |
| | | and type = #{alarmRecord.type} |
| | | </if> |
| | | <if test="alarmRecord.alarmRuleType!=null and alarmRecord.alarmRuleType!=''"> |
| | | and alarm_rule_type = #{alarmRecord.alarmRuleType} |
| | | </if> |
| | | <if test="alarmRecord.createAlarmType!=null and alarmRecord.createAlarmType!=''"> |
| | | and create_alarm_type = #{alarmRecord.createAlarmType} |
| | | </if> |
| | | <if test="alarmRecord.ruleName!=null and alarmRecord.ruleName!=''"> |
| | | 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 |
| | | |
| | | 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 !=''"> |
| | | and rule.type = #{alarmRecord.type} |
| | | </if> |
| | | <if test="alarmRecord.reservoirName!=null and alarmRecord.reservoirName!=''"> |
| | | and arb."name" like concat('%',#{alarmRecord.reservoirName},'%') |
| | | </if> |
| | | <if test="alarmRecord.alarmRuleType!=null and alarmRecord.alarmRuleType!=''"> |
| | | and rule.alarm_rule_type = #{alarmRecord.alarmRuleType} |
| | | </if> |
| | | <if test="alarmRecord.createAlarmType!=null and alarmRecord.createAlarmType!=''"> |
| | | and rule.create_alarm_type = #{alarmRecord.createAlarmType} |
| | | </if> |
| | | <if test="alarmRecord.ruleName!=null and alarmRecord.ruleName!=''"> |
| | | and rule.rule_name = #{alarmRecord.ruleName} |
| | | </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.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> |
| | | |
| | | <!--告警统计按告警分类-等级统计--> |
| | | <select id="statisticAlaByTypeAndLev" resultType="cn.gistack.alerts.alarmRule.vo.StatisticAlarmRecord"> |
| | | SELECT |
| | | count(*) num,type as ruleName,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 |
| | | 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 |
| | | and rule.type in ('渗压监测','渗流监测','变形监测','水情监测','雨情监测') |
| | | <if test="alarmRecord.reservoirName!=null and alarmRecord.reservoirName!=''"> |
| | | and arb."name" like concat('%',#{alarmRecord.reservoirName},'%') |
| | | </if> |
| | | <if test="alarmRecord.alarmRuleType!=null and alarmRecord.alarmRuleType!=''"> |
| | | and rule.alarm_rule_type = #{alarmRecord.alarmRuleType} |
| | | </if> |
| | | <if test="alarmRecord.createAlarmType!=null and alarmRecord.createAlarmType!=''"> |
| | | and rule.create_alarm_type = #{alarmRecord.createAlarmType} |
| | | </if> |
| | | <if test="alarmRecord.ruleName!=null and alarmRecord.ruleName!=''"> |
| | | and rule.rule_name = #{alarmRecord.ruleName} |
| | | </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.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 type,rule.alarm_level |
| | | </select> |
| | | |
| | | </mapper> |