ifnull( sum(( SELECT count( 0 ) FROM `d_duty_details` `duty` WHERE ( `duty`.`user_id` = `cou`.`amos_org_id` and duty.duty_date like concat(DATE_FORMAT(NOW(),'%Y-%m-%d'), '%') ))), 0 ) AS `on_duty`,
ifnull( sum(( SELECT count( 0 ) FROM `d_duty_details` `duty` WHERE ( `duty`.`user_id` = `cou`.`amos_org_id` and duty.duty_date like concat(DATE_FORMAT(NOW(),'%Y-%m-%d'), '%') ))), 0 ) AS `on_duty`,
'志愿消防队' as typeName
'志愿消防队' as typeName
FROM
FROM
( SELECT * FROM `cb_org_usr` WHERE `cb_org_usr`.`is_firefighters` = 1 AND `cb_org_usr`.`type_code` = 117
( SELECT * FROM `cb_org_usr` WHERE `cb_org_usr`.`is_firefighters` = 1 AND `cb_org_usr`.`type_code` = 117
ifnull( sum(( SELECT count( 0 ) FROM `d_duty_details` `duty` WHERE ( `duty`.`user_id` = `cou`.`amos_org_id` and duty.duty_date like concat(DATE_FORMAT(NOW(),'%Y-%m-%d'), '%') ))), 0 ) AS `on_duty`,
'专职驻站消防队' as typeName
FROM
( SELECT * FROM `cb_org_usr` WHERE `cb_org_usr`.`is_firefighters` = 1 AND `cb_org_usr`.`type_code` = 116
ifnull( sum(( SELECT count( 0 ) FROM `d_duty_details` `duty` WHERE ( `duty`.`user_id` = `cou`.`amos_org_id` and duty.duty_date like concat(DATE_FORMAT(NOW(),'%Y-%m-%d'), '%') ))), 0 ) AS `on_duty`,
'专职驻站消防队' as typeName
FROM
( SELECT * FROM `cb_org_usr` WHERE `cb_org_usr`.`is_firefighters` = 1 AND `cb_org_usr`.`type_code` = 116
IFNULL( sum( a.carStartState ), 0 ) AS carStartNum,
ou.`code`,
IFNULL( sum( a.carCloseState ), 0 ) AS carCloseNum
IFNULL( rp.min_water_level, 0 ) AS minLevel,
FROM
IFNULL( rp.max_water_level, 0 ) AS maxLevel,
(
IF((
SELECT
CASE
`wc`.`id` AS `id`,
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL THEN
`wc`.`name` AS `name`,
'--'
max(
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) >= IFNULL( rp.min_water_level, 0 )
CASE
AND rp.max_water_level IS NULL THEN
'100'
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) < IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL((
abs(
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
IFNULL(
1
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
IFNULL( rp.min_water_level, 0 )) /
0
IF
END
(
) AS `carStartState`,
IFNULL( rp.max_water_level, 0 ) = 0,
max(
1,
CASE
IFNULL( rp.max_water_level, 0 ))) * 100
),
0
)
END
) = '--', '--', ROUND((
CASE
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL THEN
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
'--'
0
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) >= IFNULL( rp.min_water_level, 0 )
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
AND rp.max_water_level IS NULL THEN
1
'100'
END
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) < IFNULL( rp.min_water_level, 0 )
) AS `carCloseState`
AND rp.max_water_level IS NULL THEN
FROM
'--' ELSE IFNULL((
`wl_car` `wc`
LEFT JOIN `wl_car_property` `wcp` ON `wcp`.`car_id` = `wc`.`id`
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),
a.*
IFNULL( rp.min_water_level, 0 )) /
FROM
IF
(
(
SELECT
IFNULL( rp.max_water_level, 0 ) = 0,
`wc`.`id` AS `id`,
1,
`wc`.`iot_code` AS `iot_code`,
IFNULL( rp.max_water_level, 0 ))) * 100
`wc`.`name` AS `name`,
),
IFNULL( max( CASE WHEN ( `wcp`.`equipment_index_key` = 'FireCar_WaterCapacity' ) THEN `wcp`.`value` END ), 0 ) AS `waterCapacity`,
0
IFNULL( max( CASE WHEN ( `wcp`.`equipment_index_key` = 'FireCar_FoamCapacity' ) THEN `wcp`.`value` END ), 0 ) AS `foamCapacity`,
)
IFNULL(
END
max(
), 2)) AS levelAbs,
CASE
IFNULL(max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),'--') AS nowLevel,
(
CASE
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
OR rp.min_water_level IS NULL THEN
'启动'
'--'
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
WHEN IFNULL(
'熄火'
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),
END
IFNULL( rp.min_water_level, 0 )) < IFNULL( rp.min_water_level, 0 ) THEN
),
'缺水' ELSE '正常'
'--'
END
) AS `carState`,
) AS levelStatus,
IFNULL(
IFNULL( rp.volume, 0 ) AS volume,
max(
ec.image,
CASE
r.resource_type,
r.sequence_nbr,
rp.level_device_id,
fs.`code` AS systemCode
FROM
cb_water_resource r
LEFT JOIN cb_org_usr ou ON ou.biz_org_code = r.biz_org_code
AND ou.is_delete = 0
LEFT JOIN cb_water_resource_pool rp ON rp.resource_id = r.sequence_nbr
LEFT JOIN wl_equipment_specific_index ei ON ei.equipment_specific_id = rp.level_device_id
LEFT JOIN wl_equipment_category ec ON ec.id = r.equip_category_id
LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
WHERE
r.resource_type = 'industryPool'
AND r.is_delete = 1
AND ou.`code` IS NOT NULL
<iftest="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
<iftest="systemCode!=null and systemCode!=''">
AND fs.code = #{systemCode,jdbcType=VARCHAR}
</if>
GROUP BY
r.sequence_nbr) union all
(
SELECT
a.`name`,
a.`code`,
a.minLevel,
a.maxLevel,
IF((
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
CASE
`wcp`.`update_date`
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
`wcp`.`update_date`
END
),
''
) AS `carStateDate`
FROM
`wl_car` `wc`
LEFT JOIN `wl_car_property` `wcp` ON `wcp`.`car_id` = `wc`.`id`
<where>
1=1
<iftest="bizOrgCode!=null and bizOrgCode!=''">
AND wc.biz_org_code like concat(#{bizOrgCode}, '%')
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL THEN
'--'
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) >= IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN
'100'
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) < IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL((
abs(
IFNULL(
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),
IFNULL( rp.min_water_level, 0 )) /
IF
(
IFNULL( rp.max_water_level, 0 ) = 0,
1,
IFNULL( rp.max_water_level, 0 ))) * 100
),
0
)
END
) = '--', '--', ROUND((
CASE
WHEN a.nowLevel IS NULL THEN
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL THEN
'--'
'--'
WHEN a.nowLevel >= IFNULL( a.minLevel, 0 )
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) >= IFNULL( rp.min_water_level, 0 )
AND a.maxLevel IS NULL THEN
AND rp.max_water_level IS NULL THEN
'100'
'100'
WHEN IFNULL( a.minLevel, 0 ) > a.nowLevel
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) < IFNULL( rp.min_water_level, 0 )
AND a.maxLevel IS NULL THEN
AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL((
'--' ELSE IFNULL((
abs(
IFNULL(
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),
IFNULL( rp.min_water_level, 0 )) /
IF
(
IFNULL( rp.max_water_level, 0 ) = 0,
1,
IFNULL( rp.max_water_level, 0 ))) * 100
),
0
)
END
), 2)) AS levelAbs,
IFNULL(max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),'--') AS nowLevel,
(
CASE
abs(
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL
IFNULL(
OR rp.min_water_level IS NULL THEN
a.nowLevel,
'--'
IFNULL( a.minLevel, 0 )) /
WHEN IFNULL(
IF
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),
(
IFNULL( rp.min_water_level, 0 )) < IFNULL( rp.min_water_level, 0 ) THEN
IFNULL( a.maxLevel, 0 ) = 0,
'缺水' ELSE '正常'
1,
END
IFNULL( a.maxLevel, 0 ))) * 100
) AS levelStatus,
),
IFNULL( rp.volume, 0 ) AS volume,
0
ec.image,
)
r.resource_type,
END
r.sequence_nbr,
) = '--', '--', ROUND((
rp.level_device_id,
CASE
fs.`code` AS systemCode
FROM
cb_water_resource r
LEFT JOIN cb_org_usr ou ON ou.biz_org_code = r.biz_org_code
AND ou.is_delete = 0
LEFT JOIN cb_water_resource_pool rp ON rp.resource_id = r.sequence_nbr
LEFT JOIN wl_equipment_specific_index ei ON ei.equipment_specific_id = rp.level_device_id
LEFT JOIN wl_equipment_category ec ON ec.id = r.equip_category_id
LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
WHERE
r.resource_type = 'industryPool'
AND r.is_delete = 1
AND ou.`code` IS NOT NULL
<iftest="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
<iftest="systemCode!=null and systemCode!=''">
AND fs.code = #{systemCode,jdbcType=VARCHAR}
</if>
GROUP BY
r.sequence_nbr) union all
(
SELECT
a.`name`,
a.`code`,
a.minLevel,
a.maxLevel,
WHEN a.nowLevel IS NULL THEN
IF((
'--'
CASE
WHEN a.nowLevel >= IFNULL( a.minLevel, 0 )
AND a.maxLevel IS NULL THEN
'100'
WHEN IFNULL( a.minLevel, 0 ) > a.nowLevel
AND a.maxLevel IS NULL THEN
'--' ELSE IFNULL((
abs(
WHEN a.nowLevel IS NULL THEN
IFNULL(
'--'
a.nowLevel,
WHEN a.nowLevel >= IFNULL( a.minLevel, 0 )
IFNULL( a.minLevel, 0 )) /
AND a.maxLevel IS NULL THEN
IF
'100'
(
WHEN IFNULL( a.minLevel, 0 ) > a.nowLevel
IFNULL( a.maxLevel, 0 ) = 0,
AND a.maxLevel IS NULL THEN
1,
'--' ELSE IFNULL((
IFNULL( a.maxLevel, 0 ))) * 100
),
abs(
0
IFNULL(
)
a.nowLevel,
END
IFNULL( a.minLevel, 0 )) /
), 2)) AS levelAbs,
IF
a.nowLevel,
(
(
IFNULL( a.maxLevel, 0 ) = 0,
CASE
1,
IFNULL( a.maxLevel, 0 ))) * 100
),
0
)
END
) = '--', '--', ROUND((
CASE
WHEN a.nowLevel IS NULL
WHEN a.nowLevel IS NULL THEN
OR a.minLevel IS NULL THEN
'--'
'--'
WHEN a.nowLevel >= IFNULL( a.minLevel, 0 )
WHEN IFNULL( a.minLevel, 0 ) > IFNULL(
AND a.maxLevel IS NULL THEN
a.nowLevel,
'100'
IFNULL( a.minLevel, 0 )) THEN
WHEN IFNULL( a.minLevel, 0 ) > a.nowLevel
'缺水' ELSE '正常'
AND a.maxLevel IS NULL THEN
END
'--' ELSE IFNULL((
) AS levelStatus,
a.volume,
abs(
a.image,
IFNULL(
a.resource_type,
a.nowLevel,
a.sequence_nbr,
IFNULL( a.minLevel, 0 )) /
a.level_device_id,
IF
a.`code` AS systemCode
(
FROM
IFNULL( a.maxLevel, 0 ) = 0,
(
1,
SELECT
IFNULL( a.maxLevel, 0 ))) * 100
r.`name`,
),
ou.`code`,
0
IFNULL( rp.min_water_level, 0 ) AS minLevel,
)
IFNULL( rp.max_water_level, 0 ) AS maxLevel,
END
(select
), 2)) AS levelAbs,
avg(IFNULL(ei.`value`,0))
a.nowLevel,
from
(
wl_equipment_specific_index ei
CASE
where
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
and FIND_IN_SET( ei.equipment_specific_id, rp.level_device_id) > 0) AS nowLevel,
IFNULL( rp.volume, 0 ) AS volume,
ec.image,
r.resource_type,
r.sequence_nbr,
rp.level_device_id,
fs.`code` AS systemCode
FROM
cb_water_resource r
LEFT JOIN cb_org_usr ou ON ou.biz_org_code = r.biz_org_code
AND ou.is_delete = 0
LEFT JOIN cb_water_resource_pool rp ON rp.resource_id = r.sequence_nbr
LEFT JOIN wl_equipment_category ec ON ec.id = r.equip_category_id
LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
WHERE
r.resource_type = 'pool'
AND r.is_delete = 1
AND ou.`code` IS NOT NULL
<iftest="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')