| | |
| | | FROM ( |
| | | -- 子查询:拆分察打一体设备为侦测/反制两类 |
| | | SELECT |
| | | id, |
| | | d.id, |
| | | CASE |
| | | WHEN |
| | | device_type = '3' THEN '1' -- 察打一体拆分为侦测 |
| | |
| | | split_device_type |
| | | FROM |
| | | ja_fw_device d |
| | | LEFT JOIN ja_fw_area_divide ad |
| | | ON find_in_set(d.id, ad.device_ids) > 0 |
| | | AND ad.is_deleted = 0 |
| | | WHERE |
| | | d.is_deleted = 0 |
| | | AND d.is_enabled = 1 |
| | | AND status != 3 |
| | | AND d.status != 3 |
| | | <if test="regionCode != null and regionCode != ''"> |
| | | and (d.final_outbound_area_code like concat(#{regionCode}, '%') |
| | | <!-- 或者设备是共享给当前部门的 --> |
| | |
| | | </if> |
| | | ) |
| | | </if> |
| | | <if test="flyTime != null"> |
| | | and exists ( |
| | | select 1 |
| | | from ja_fw_defense_scene ds |
| | | join ja_fw_defense_scene_manage dsm on dsm.defense_scene_id = ds.id and dsm.is_deleted = 0 |
| | | where ds.is_deleted = 0 |
| | | and ds.area_divide_ids is not null |
| | | and ds.area_divide_ids != '' |
| | | and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', '')) |
| | | and (dsm.effective_date_start is null or dsm.effective_date_start <= #{flyTime}) |
| | | and (dsm.effective_date_end is null or dsm.effective_date_end >= #{flyTime}) |
| | | ) |
| | | </if> |
| | | |
| | | UNION ALL -- 合并拆分的反制部分 |
| | | |
| | | SELECT |
| | | id, |
| | | d.id, |
| | | CASE |
| | | WHEN |
| | | device_type = '3' THEN '2' -- 察打一体拆分为反制 |
| | |
| | | split_device_type |
| | | FROM |
| | | ja_fw_device d |
| | | LEFT JOIN ja_fw_area_divide ad |
| | | ON find_in_set(d.id, ad.device_ids) > 0 |
| | | AND ad.is_deleted = 0 |
| | | WHERE |
| | | d.is_deleted = 0 |
| | | AND is_enabled = 1 |
| | | AND status != 3 |
| | | AND d.status != 3 |
| | | AND device_type = '3' |
| | | <if test="regionCode != null and regionCode != ''"> |
| | | and (d.final_outbound_area_code like concat(#{regionCode}, '%') |
| | |
| | | </if> |
| | | ) |
| | | </if> |
| | | <if test="flyTime != null"> |
| | | and exists ( |
| | | select 1 |
| | | from ja_fw_defense_scene ds |
| | | join ja_fw_defense_scene_manage dsm on dsm.defense_scene_id = ds.id and dsm.is_deleted = 0 |
| | | where ds.is_deleted = 0 |
| | | and ds.area_divide_ids is not null |
| | | and ds.area_divide_ids != '' |
| | | and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', '')) |
| | | and (dsm.effective_date_start is null or dsm.effective_date_start <= #{flyTime}) |
| | | and (dsm.effective_date_end is null or dsm.effective_date_end >= #{flyTime}) |
| | | ) |
| | | </if> |
| | | ) AS temp |
| | | GROUP BY split_device_type |
| | | ORDER BY split_device_type |
| | |
| | | COUNT(*) |
| | | FROM |
| | | ja_fw_device d |
| | | left join ja_fw_area_divide ad |
| | | on find_in_set(d.id, ad.device_ids) > 0 |
| | | and ad.is_deleted = 0 |
| | | WHERE |
| | | d.is_deleted = 0 |
| | | and d.is_enabled = 1 |
| | |
| | | </if> |
| | | ) |
| | | </if> |
| | | <if test="flyTime != null"> |
| | | and exists ( |
| | | select 1 |
| | | from ja_fw_defense_scene ds |
| | | join ja_fw_defense_scene_manage dsm on dsm.defense_scene_id = ds.id and dsm.is_deleted = 0 |
| | | where ds.is_deleted = 0 |
| | | and ds.area_divide_ids is not null |
| | | and ds.area_divide_ids != '' |
| | | and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', '')) |
| | | and (dsm.effective_date_start is null or dsm.effective_date_start <= #{flyTime}) |
| | | and (dsm.effective_date_end is null or dsm.effective_date_end >= #{flyTime}) |
| | | ) |
| | | </if> |
| | | ) AS deviceCount, |
| | | -- 无线电设备数量 |
| | | (SELECT |
| | | COUNT(*) |
| | | FROM |
| | | ja_fw_device d |
| | | left join ja_fw_area_divide ad |
| | | on find_in_set(d.id, ad.device_ids) > 0 |
| | | and ad.is_deleted = 0 |
| | | WHERE |
| | | d.is_deleted = 0 |
| | | and d.is_enabled = 1 |
| | | AND device_att = '1' |
| | | <if test="regionCode != null and regionCode != ''"> |
| | | <if test="regionCode != null and regionCode != ''"> |
| | | and (d.final_outbound_area_code like concat(#{regionCode},'%') |
| | | <!-- 或者设备是共享给当前部门的 --> |
| | | <if test="currentDeptId != null and currentDeptId != '' "> |
| | |
| | | </if> |
| | | ) |
| | | </if> |
| | | <if test="flyTime != null"> |
| | | and exists ( |
| | | select 1 |
| | | from ja_fw_defense_scene ds |
| | | join ja_fw_defense_scene_manage dsm on dsm.defense_scene_id = ds.id and dsm.is_deleted = 0 |
| | | where ds.is_deleted = 0 |
| | | and ds.area_divide_ids is not null |
| | | and ds.area_divide_ids != '' |
| | | and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', '')) |
| | | and (dsm.effective_date_start is null or dsm.effective_date_start <= #{flyTime}) |
| | | and (dsm.effective_date_end is null or dsm.effective_date_end >= #{flyTime}) |
| | | ) |
| | | </if> |
| | | ) AS radioCount, |
| | | -- 光电设备数量 |
| | | (SELECT |
| | | COUNT(*) |
| | | FROM |
| | | ja_fw_device d |
| | | left join ja_fw_area_divide ad |
| | | on find_in_set(d.id, ad.device_ids) > 0 |
| | | and ad.is_deleted = 0 |
| | | WHERE d.is_deleted = 0 |
| | | and d.is_enabled = 1 |
| | | AND device_att = '2' |
| | |
| | | </if> |
| | | ) |
| | | </if> |
| | | <if test="flyTime != null"> |
| | | and exists ( |
| | | select 1 |
| | | from ja_fw_defense_scene ds |
| | | join ja_fw_defense_scene_manage dsm on dsm.defense_scene_id = ds.id and dsm.is_deleted = 0 |
| | | where ds.is_deleted = 0 |
| | | and ds.area_divide_ids is not null |
| | | and ds.area_divide_ids != '' |
| | | and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', '')) |
| | | and (dsm.effective_date_start is null or dsm.effective_date_start <= #{flyTime}) |
| | | and (dsm.effective_date_end is null or dsm.effective_date_end >= #{flyTime}) |
| | | ) |
| | | </if> |
| | | ) AS opticalCount, |
| | | -- 雷达设备数量 |
| | | (SELECT |
| | | COUNT(*) |
| | | FROM ja_fw_device d |
| | | left join ja_fw_area_divide ad |
| | | on find_in_set(d.id, ad.device_ids) > 0 |
| | | and ad.is_deleted = 0 |
| | | WHERE d.is_deleted = 0 |
| | | and d.is_enabled = 1 |
| | | AND device_att = '3' |
| | | <if test="regionCode != null and regionCode != ''"> |
| | | <if test="regionCode != null and regionCode != ''"> |
| | | and (d.final_outbound_area_code like concat(#{regionCode},'%') |
| | | <!-- 或者设备是共享给当前部门的 --> |
| | | <if test="currentDeptId != null and currentDeptId != '' "> |
| | |
| | | </if> |
| | | ) |
| | | </if> |
| | | <if test="flyTime != null"> |
| | | and exists ( |
| | | select 1 |
| | | from ja_fw_defense_scene ds |
| | | join ja_fw_defense_scene_manage dsm on dsm.defense_scene_id = ds.id and dsm.is_deleted = 0 |
| | | where ds.is_deleted = 0 |
| | | and ds.area_divide_ids is not null |
| | | and ds.area_divide_ids != '' |
| | | and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', '')) |
| | | and (dsm.effective_date_start is null or dsm.effective_date_start <= #{flyTime}) |
| | | and (dsm.effective_date_end is null or dsm.effective_date_end >= #{flyTime}) |
| | | ) |
| | | </if> |
| | | ) AS radarCount, |
| | | -- 设备告警 |
| | | (SELECT |
| | | COUNT(*) |
| | | FROM ja_fw_device d |
| | | left join ja_fw_area_divide ad |
| | | on find_in_set(d.id, ad.device_ids) > 0 |
| | | and ad.is_deleted = 0 |
| | | WHERE d.is_deleted = 0 |
| | | and d.is_enabled = 1 |
| | | AND status in ('1', '2', '3' ) |
| | | <if test="regionCode != null and regionCode != ''"> |
| | | AND d.status in ('1', '2', '3' ) |
| | | <if test="regionCode != null and regionCode != ''"> |
| | | and (d.final_outbound_area_code like concat(#{regionCode},'%') |
| | | <!-- 或者设备是共享给当前部门的 --> |
| | | <if test="currentDeptId != null and currentDeptId != '' "> |
| | |
| | | AND is_deleted = 0 |
| | | ) |
| | | </if> |
| | | ) |
| | | </if> |
| | | <if test="flyTime != null"> |
| | | and exists ( |
| | | select 1 |
| | | from ja_fw_defense_scene ds |
| | | join ja_fw_defense_scene_manage dsm on dsm.defense_scene_id = ds.id and dsm.is_deleted = 0 |
| | | where ds.is_deleted = 0 |
| | | and ds.area_divide_ids is not null |
| | | and ds.area_divide_ids != '' |
| | | and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', '')) |
| | | and (dsm.effective_date_start is null or dsm.effective_date_start <= #{flyTime}) |
| | | and (dsm.effective_date_end is null or dsm.effective_date_end >= #{flyTime}) |
| | | ) |
| | | </if> |
| | | ) AS deviceAlarmCount |
| | |
| | | <where> |
| | | d.is_deleted = 0 |
| | | and d.is_enabled = 1 |
| | | <if test=" param2.flyTime != null"> |
| | | and exists ( |
| | | select 1 |
| | | from ja_fw_defense_scene ds |
| | | join ja_fw_defense_scene_manage dsm on dsm.defense_scene_id = ds.id and dsm.is_deleted = 0 |
| | | where ds.is_deleted = 0 |
| | | and ds.area_divide_ids is not null |
| | | and ds.area_divide_ids != '' |
| | | and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', '')) |
| | | and (dsm.effective_date_start is null or dsm.effective_date_start <= #{param2.flyTime}) |
| | | and (dsm.effective_date_end is null or dsm.effective_date_end >= #{param2.flyTime}) |
| | | ) |
| | | </if> |
| | | <if test="param2.regionCode != null and param2.regionCode != ''"> |
| | | and (d.final_outbound_area_code like concat(#{param2.regionCode},'%') |
| | | <!-- 或者设备是共享给当前部门的 --> |
| | |
| | | COUNT(*) AS count |
| | | FROM |
| | | ja_fw_device d |
| | | LEFT JOIN ja_fw_area_divide ad |
| | | ON find_in_set(d.id, ad.device_ids) > 0 |
| | | AND ad.is_deleted = 0 |
| | | WHERE |
| | | d.is_deleted = 0 |
| | | AND d.is_enabled = 1 |
| | |
| | | </if> |
| | | ) |
| | | </if> |
| | | <if test="flyTime != null"> |
| | | and exists ( |
| | | select 1 |
| | | from ja_fw_defense_scene ds |
| | | join ja_fw_defense_scene_manage dsm on dsm.defense_scene_id = ds.id and dsm.is_deleted = 0 |
| | | where ds.is_deleted = 0 |
| | | and ds.area_divide_ids is not null |
| | | and ds.area_divide_ids != '' |
| | | and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', '')) |
| | | and (dsm.effective_date_start is null or dsm.effective_date_start <= #{flyTime}) |
| | | and (dsm.effective_date_end is null or dsm.effective_date_end >= #{flyTime}) |
| | | ) |
| | | </if> |
| | | GROUP BY |
| | | d.final_outbound_area |
| | | </select> |