| | |
| | | FROM ( |
| | | -- 子查询:拆分察打一体设备为侦测/反制两类 |
| | | SELECT |
| | | id, |
| | | id, |
| | | CASE |
| | | WHEN device_type = '3' THEN '1' -- 察打一体拆分为侦测 |
| | | ELSE device_type |
| | | END AS split_device_type |
| | | FROM ja_fw_device |
| | | WHERE is_deleted = 0 and status != 3 -- 排除已删除数据 |
| | | WHEN |
| | | device_type = '3' THEN '1' -- 察打一体拆分为侦测 |
| | | ELSE |
| | | device_type |
| | | END AS |
| | | split_device_type |
| | | FROM |
| | | ja_fw_device |
| | | WHERE |
| | | is_deleted = 0 |
| | | AND status != 3 |
| | | AND effective_range_km is not null |
| | | AND effective_range_km > 0 |
| | | |
| | | UNION ALL -- 合并拆分的反制部分 |
| | | |
| | | SELECT |
| | | id, |
| | | id, |
| | | CASE |
| | | WHEN device_type = '3' THEN '2' -- 察打一体拆分为反制 |
| | | ELSE device_type |
| | | END AS split_device_type |
| | | FROM ja_fw_device |
| | | WHERE is_deleted = 0 and status != 3 |
| | | AND device_type = '3' -- 避免普通设备重复统计 |
| | | WHEN |
| | | device_type = '3' THEN '2' -- 察打一体拆分为反制 |
| | | ELSE |
| | | device_type |
| | | END AS |
| | | split_device_type |
| | | FROM |
| | | ja_fw_device |
| | | WHERE |
| | | is_deleted = 0 |
| | | AND status != 3 |
| | | AND device_type = '3' |
| | | AND effective_range_km is not null |
| | | AND effective_range_km > 0 |
| | | ) AS temp |
| | | GROUP BY split_device_type |
| | | ORDER BY split_device_type |
| | |
| | | <select id="statisticalDeviceAtt" resultType="org.sxkj.fw.cockpit.vo.AlarmStatisticsVO"> |
| | | SELECT |
| | | -- 设备统计总数 |
| | | (SELECT COUNT(*) FROM ja_fw_device WHERE is_deleted = 0) AS deviceCount, |
| | | (SELECT COUNT(*) FROM ja_fw_device WHERE is_deleted = 0 and effective_range_km is not null and effective_range_km > 0) AS deviceCount, |
| | | -- 无线电设备数量 |
| | | (SELECT COUNT(*) FROM ja_fw_device WHERE is_deleted = 0 AND device_att = '1') AS radioCount, |
| | | (SELECT COUNT(*) FROM ja_fw_device WHERE is_deleted = 0 AND device_att = '1' and effective_range_km is not null and effective_range_km > 0) AS radioCount, |
| | | -- 光电设备数量 |
| | | (SELECT COUNT(*) FROM ja_fw_device WHERE is_deleted = 0 AND device_att = '2') AS opticalCount, |
| | | (SELECT COUNT(*) FROM ja_fw_device WHERE is_deleted = 0 AND device_att = '2'and effective_range_km is not null and effective_range_km > 0) AS opticalCount, |
| | | -- 雷达设备数量 |
| | | (SELECT COUNT(*) FROM ja_fw_device WHERE is_deleted = 0 AND device_att = '3') AS radarCount, |
| | | (SELECT COUNT(*) FROM ja_fw_device WHERE is_deleted = 0 AND device_att = '3' and effective_range_km is not null and effective_range_km > 0) AS radarCount, |
| | | -- 设备告警 |
| | | (SELECT COUNT(*) FROM ja_fw_device WHERE is_deleted = 0 AND status in ('1', '2', '3') ) AS deviceAlarmCount; |
| | | (SELECT COUNT(*) FROM ja_fw_device WHERE is_deleted = 0 AND status in ('1', '2', '3' ) and effective_range_km is not null and effective_range_km > 0) AS deviceAlarmCount; |
| | | </select> |
| | | |
| | | <select id="selectCockpitDevicePage" resultType="org.sxkj.fw.device.vo.CockpitFwDeviceVO"> |
| | |
| | | fts.longitude, |
| | | fts.latitude |
| | | from |
| | | ja_fw_device d |
| | | left join ( |
| | | ja_fw_device d |
| | | left join |
| | | ( |
| | | SELECT |
| | | device_id, |
| | | longitude, |
| | |
| | | ) fts ON fts.device_id = d.id |
| | | <where> |
| | | d.is_deleted = 0 |
| | | and d.status != 3 |
| | | and fts.longitude is not null |
| | | and fts.latitude is not null |
| | | and d.longitude is not null |
| | | and d.latitude is not null |
| | | and d.effective_range_km is not null |
| | | and d.effective_range_km > 0 |
| | | <if test="param2.id != null and param2.id != ''"> |
| | | and d.id = #{param2.id} |
| | | </if> |