max( CASE WHEN ei.equipment_index_key = 'CAFS_FoamTank_FoamTankLevel' THEN ei.`value` END ) AS nowLevel,
max( CASE WHEN fi.field_name = 'minLevel' THEN fi.field_value END ) AS minLevel,
max( CASE WHEN fi.field_name = 'maxLevel' THEN fi.field_value END ) AS maxLevel
FROM
wl_equipment_specific es
LEFT JOIN wl_equipment_detail ed ON es.equipment_detail_id = ed.id
LEFT JOIN wl_equipment_specific_index ei ON es.id = ei.equipment_specific_id
LEFT JOIN wl_equipment e ON e.id = ed.equipment_id
LEFT JOIN wl_equipment_category ec ON e.category_id = ec.id
LEFT JOIN wl_form_instance_equip fi ON fi.instance_id = es.id
WHERE
ed.`code` LIKE '92031900%'
AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%')
AND es.iot_code IS NOT NULL
GROUP BY
es.id
) a UNION ALL
SELECT
a.`name`,
IFNULL( a.nowLevel, '--' ) AS nowLevel,
a.id,
IFNULL( a.image, '' ) AS image,
'M' AS unit,
a.minLevel AS minLevel,
a.maxLevel AS maxLevel,
(
(
CASE
CASE
WHEN nowLevel IS NOT NULL
WHEN a.nowLevel IS NULL
AND maxLevel IS NOT NULL
OR a.minLevel IS NULL THEN
AND nowLevel - maxLevel > 0 THEN '1'
'--'
WHEN nowLevel IS NOT NULL
WHEN a.minLevel - a.nowLevel > 0 THEN
AND minLevel IS NOT NULL
'缺水' ELSE '正常'
AND nowLevel != '--'
END
AND nowLevel - minLevel >= 0 THEN '2'
) AS levelStatus,
WHEN nowLevel IS NOT NULL
a.type AS type
AND minLevel IS NOT NULL
FROM
AND nowLevel != '--'
AND minLevel - nowLevel > 0 THEN '0'
ELSE '4'
END ) AS `status`
from
(
(
SELECT
SELECT
r.`name`,
a.`name`, IFNULL( a.nowLevel, '--' ) AS nowLevel, a.id, IFNULL( a.image, '' ) AS image, a.unit, a.minLevel AS minLevel, a.maxLevel AS maxLevel, (
IFNULL( rp.min_water_level, 0 ) AS minLevel,
CASE
IFNULL( rp.max_water_level, 0 ) AS maxLevel,
WHEN a.nowLevel IS NULL
OR a.minLevel IS NULL THEN '--'
WHEN a.minLevel - a.nowLevel > 0 THEN '缺水'
ELSE '正常'
END ) AS levelStatus, 'foamTank' AS type
FROM
(
(
SELECT
SELECT
FORMAT( avg( IFNULL( ei.`value`, 0 ) ), 2 )
ed.`name`, es.iot_code, es.id, ec.image, ei.unit, max( CASE WHEN ei.equipment_index_key = 'CAFS_FoamTank_FoamTankLevel' THEN ei.`value` END ) AS nowLevel, max( CASE WHEN fi.field_name = 'minLevel' THEN fi.field_value END ) AS minLevel, max( CASE WHEN fi.field_name = 'maxLevel' THEN fi.field_value END ) AS maxLevel
FROM
FROM
wl_equipment_specific_index ei
wl_equipment_specific es
LEFT JOIN wl_equipment_detail ed ON
es.equipment_detail_id = ed.id
LEFT JOIN wl_equipment_specific_index ei ON
es.id = ei.equipment_specific_id
LEFT JOIN wl_equipment e ON
e.id = ed.equipment_id
LEFT JOIN wl_equipment_category ec ON
e.category_id = ec.id
LEFT JOIN wl_form_instance_equip fi ON
fi.instance_id = es.id
WHERE
WHERE
( ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' OR ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' )
ed.`code` LIKE '92031900%'
AND FIND_IN_SET( ei.equipment_specific_id, rp.level_device_id ) > 0
AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%')
) AS nowLevel,
AND es.iot_code IS NOT NULL
ec.image,
GROUP BY
r.resource_type AS type,
es.id ) a
r.sequence_nbr AS id
UNION ALL
SELECT
a.`name`, IFNULL( a.nowLevel, '--' ) AS nowLevel, a.id, IFNULL( a.image, '' ) AS image, 'M' AS unit, a.minLevel AS minLevel, a.maxLevel AS maxLevel, (
CASE
WHEN a.nowLevel IS NULL
OR a.minLevel IS NULL THEN '--'
WHEN a.minLevel - a.nowLevel > 0 THEN '缺水'
ELSE '正常'
END ) AS levelStatus, a.type AS type
FROM
FROM
cb_water_resource r
(
LEFT JOIN cb_water_resource_pool rp ON rp.resource_id = r.sequence_nbr
SELECT
LEFT JOIN wl_equipment_category ec ON ec.id = r.equip_category_id
r.`name`, IFNULL( rp.min_water_level, 0 ) AS minLevel, IFNULL( rp.max_water_level, 0 ) AS maxLevel, (
WHERE
SELECT
r.resource_type = 'waterTank'
FORMAT( avg( IFNULL( ei.`value`, 0 ) ), 2 )
AND r.biz_org_code LIKE concat(#{bizOrgCode}, '%')