Commit 3cf71a99 authored by zhangsen's avatar zhangsen

bug修改

parent e73b0a61
...@@ -83,7 +83,6 @@ ...@@ -83,7 +83,6 @@
select * from ( select * from (
(SELECT (SELECT
r.`name`, r.`name`,
ou.`code`,
IFNULL( rp.min_water_level, 0 ) AS minLevel, IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel, IFNULL( rp.max_water_level, 0 ) AS maxLevel,
( (
...@@ -114,7 +113,7 @@ ...@@ -114,7 +113,7 @@
) )
END END
) AS levelAbs, ) 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, 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 CASE
...@@ -128,21 +127,19 @@ ...@@ -128,21 +127,19 @@
END END
) AS levelStatus, ) AS levelStatus,
IFNULL( rp.volume, 0 ) AS volume, IFNULL( rp.volume, 0 ) AS volume,
<!-- ec.image,--> ec.image,
r.resource_type, r.resource_type,
r.sequence_nbr r.sequence_nbr
FROM FROM
cb_water_resource r 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 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_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 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--> LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
WHERE WHERE
r.resource_type = 'industryPool' r.resource_type = 'industryPool'
AND r.is_delete = 1 AND r.is_delete = 1
AND ou.`code` IS NOT NULL AND r.`biz_org_code` IS NOT NULL
<if test="bizOrgCode!=null and bizOrgCode!=''"> <if test="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%') AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if> </if>
...@@ -151,7 +148,6 @@ ...@@ -151,7 +148,6 @@
( (
SELECT SELECT
a.`name`, a.`name`,
a.`code`,
a.minLevel, a.minLevel,
a.maxLevel, a.maxLevel,
( (
...@@ -182,7 +178,7 @@ ...@@ -182,7 +178,7 @@
) )
END END
) AS levelAbs, ) AS levelAbs,
a.nowLevel, IFNULL( a.nowLevel, '--' ) nowLevel,
( (
CASE CASE
...@@ -196,15 +192,13 @@ ...@@ -196,15 +192,13 @@
END END
) AS levelStatus, ) AS levelStatus,
a.volume, a.volume,
<!-- a.image,--> a.image,
a.resource_type, a.resource_type,
a.sequence_nbr a.sequence_nbr
<!-- ,a.`code` AS systemCode-->
FROM FROM
( (
SELECT SELECT
r.`name`, r.`name`,
ou.`code`,
IFNULL( rp.min_water_level, 0 ) AS minLevel, IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel, IFNULL( rp.max_water_level, 0 ) AS maxLevel,
(select (select
...@@ -215,22 +209,19 @@ ...@@ -215,22 +209,19 @@
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel') (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, and FIND_IN_SET( ei.equipment_specific_id, rp.level_device_id) > 0) AS nowLevel,
IFNULL( rp.volume, 0 ) AS volume, IFNULL( rp.volume, 0 ) AS volume,
<!-- ec.image,--> ec.image,
r.resource_type, r.resource_type,
r.sequence_nbr, r.sequence_nbr,
rp.level_device_id rp.level_device_id
<!-- ,fs.`code` AS systemCode-->
FROM FROM
cb_water_resource r 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 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 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--> LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
WHERE WHERE
r.resource_type = 'pool' r.resource_type = 'pool'
AND r.is_delete = 1 AND r.is_delete = 1
AND ou.`code` IS NOT NULL AND r.`biz_org_code` IS NOT NULL
<if test="bizOrgCode!=null and bizOrgCode!=''"> <if test="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%') AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if> </if>
...@@ -245,162 +236,157 @@ ...@@ -245,162 +236,157 @@
<select id="countWater" resultType="long"> <select id="countWater" resultType="long">
select count(1) from ( select count(1) from (
(SELECT select * from (
r.`name`, (SELECT
ou.`code`, r.`name`,
IFNULL( rp.min_water_level, 0 ) AS minLevel, IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel, IFNULL( rp.max_water_level, 0 ) AS maxLevel,
( (
CASE 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 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 ) 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 AND rp.max_water_level IS NULL THEN
'100' '100'
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) &lt; IFNULL( rp.min_water_level, 0 ) WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) &lt; IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL(( '--' ELSE IFNULL((
FORMAT( FORMAT(
abs( abs(
IFNULL( IFNULL(
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ), 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 )) /
IF IF
( (
IFNULL( rp.max_water_level, 0 ) = 0, IFNULL( rp.max_water_level, 0 ) = 0,
1, 1,
IFNULL( rp.max_water_level, 0 ))) * 100, IFNULL( rp.max_water_level, 0 ))) * 100,
2 2
) )
), ),
0 0
) )
END END
) AS levelAbs, ) 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, 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 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 max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL
OR rp.min_water_level IS NULL THEN OR rp.min_water_level IS NULL THEN
'--' '--'
WHEN IFNULL( WHEN IFNULL(
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ), 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 )) &lt; IFNULL( rp.min_water_level, 0 ) THEN IFNULL( rp.min_water_level, 0 )) &lt; IFNULL( rp.min_water_level, 0 ) THEN
'缺水' ELSE '正常' '缺水' ELSE '正常'
END END
) AS levelStatus, ) AS levelStatus,
IFNULL( rp.volume, 0 ) AS volume, IFNULL( rp.volume, 0 ) AS volume,
<!-- ec.image,--> ec.image,
r.resource_type, r.resource_type,
r.sequence_nbr r.sequence_nbr
FROM FROM
cb_water_resource r cb_water_resource r
LEFT JOIN cb_org_usr ou ON ou.biz_org_code = r.biz_org_code LEFT JOIN cb_water_resource_pool rp ON rp.resource_id = r.sequence_nbr
AND ou.is_delete = 0 LEFT JOIN wl_equipment_specific_index ei ON ei.equipment_specific_id = rp.level_device_id
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 wl_equipment_specific_index ei ON ei.equipment_specific_id = rp.level_device_id LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
<!-- LEFT JOIN wl_equipment_category ec ON ec.id = r.equip_category_id--> WHERE
<!-- LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id--> r.resource_type = 'industryPool'
WHERE AND r.is_delete = 1
r.resource_type = 'industryPool' AND r.`biz_org_code` IS NOT NULL
AND r.is_delete = 1 <if test="bizOrgCode!=null and bizOrgCode!=''">
AND ou.`code` IS NOT NULL AND r.biz_org_code like concat(#{bizOrgCode}, '%')
<if test="bizOrgCode!=null and bizOrgCode!=''"> </if>
AND r.biz_org_code like concat(#{bizOrgCode}, '%') GROUP BY
</if> r.sequence_nbr) union all
GROUP BY (
r.sequence_nbr) union all SELECT
( a.`name`,
SELECT a.minLevel,
a.`name`, a.maxLevel,
a.`code`, (
a.minLevel, CASE
a.maxLevel,
(
CASE
WHEN a.nowLevel IS NULL THEN WHEN a.nowLevel IS NULL THEN
'--' '--'
WHEN a.nowLevel >= IFNULL( a.minLevel, 0 ) WHEN a.nowLevel >= IFNULL( a.minLevel, 0 )
AND a.maxLevel IS NULL THEN AND a.maxLevel IS NULL THEN
'100' '100'
WHEN IFNULL( a.minLevel, 0 ) > a.nowLevel WHEN IFNULL( a.minLevel, 0 ) > a.nowLevel
AND a.maxLevel IS NULL THEN AND a.maxLevel IS NULL THEN
'--' ELSE IFNULL(( '--' ELSE IFNULL((
FORMAT( FORMAT(
abs( abs(
IFNULL( IFNULL(
a.nowLevel, a.nowLevel,
IFNULL( a.minLevel, 0 )) / IFNULL( a.minLevel, 0 )) /
IF IF
( (
IFNULL( a.maxLevel, 0 ) = 0, IFNULL( a.maxLevel, 0 ) = 0,
1, 1,
IFNULL( a.maxLevel, 0 ))) * 100, IFNULL( a.maxLevel, 0 ))) * 100,
2 2
) )
), ),
0 0
) )
END END
) AS levelAbs, ) AS levelAbs,
a.nowLevel, IFNULL( a.nowLevel, '--' ) nowLevel,
( (
CASE CASE
WHEN a.nowLevel IS NULL WHEN a.nowLevel IS NULL
OR a.minLevel IS NULL THEN OR a.minLevel IS NULL THEN
'--' '--'
WHEN IFNULL( a.minLevel, 0 ) > IFNULL( WHEN IFNULL( a.minLevel, 0 ) > IFNULL(
a.nowLevel, a.nowLevel,
IFNULL( a.minLevel, 0 )) THEN IFNULL( a.minLevel, 0 )) THEN
'缺水' ELSE '正常' '缺水' ELSE '正常'
END END
) AS levelStatus, ) AS levelStatus,
a.volume, a.volume,
<!-- a.image,--> a.image,
a.resource_type, a.resource_type,
a.sequence_nbr a.sequence_nbr
<!-- ,a.`code` AS systemCode--> FROM
FROM (
( SELECT
SELECT r.`name`,
r.`name`, IFNULL( rp.min_water_level, 0 ) AS minLevel,
ou.`code`, IFNULL( rp.max_water_level, 0 ) AS maxLevel,
IFNULL( rp.min_water_level, 0 ) AS minLevel, (select
IFNULL( rp.max_water_level, 0 ) AS maxLevel, FORMAT(avg(IFNULL(ei.`value`,0)), 2)
(select from
FORMAT(avg(IFNULL(ei.`value`,0)), 2) wl_equipment_specific_index ei
from where
wl_equipment_specific_index ei (ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
where and FIND_IN_SET( ei.equipment_specific_id, rp.level_device_id) > 0) AS nowLevel,
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel') IFNULL( rp.volume, 0 ) AS volume,
and FIND_IN_SET( ei.equipment_specific_id, rp.level_device_id) > 0) AS nowLevel, ec.image,
IFNULL( rp.volume, 0 ) AS volume, r.resource_type,
<!-- ec.image,--> r.sequence_nbr,
r.resource_type, rp.level_device_id
r.sequence_nbr, FROM
rp.level_device_id cb_water_resource r
<!-- ,fs.`code` AS systemCode--> LEFT JOIN cb_water_resource_pool rp ON rp.resource_id = r.sequence_nbr
FROM LEFT JOIN wl_equipment_category ec ON ec.id = r.equip_category_id
cb_water_resource r LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
LEFT JOIN cb_org_usr ou ON ou.biz_org_code = r.biz_org_code WHERE
AND ou.is_delete = 0 r.resource_type = 'pool'
LEFT JOIN cb_water_resource_pool rp ON rp.resource_id = r.sequence_nbr AND r.is_delete = 1
<!-- LEFT JOIN wl_equipment_category ec ON ec.id = r.equip_category_id--> AND r.`biz_org_code` IS NOT NULL
<!-- LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id--> <if test="bizOrgCode!=null and bizOrgCode!=''">
WHERE AND r.biz_org_code like concat(#{bizOrgCode}, '%')
r.resource_type = 'pool' </if>
AND r.is_delete = 1 GROUP BY
AND ou.`code` IS NOT NULL r.sequence_nbr
<if test="bizOrgCode!=null and bizOrgCode!=''"> ) a
AND r.biz_org_code like concat(#{bizOrgCode}, '%') )) b
</if> ORDER BY
GROUP BY levelStatus DESC,sequence_nbr DESC
r.sequence_nbr ) b
) a
)) b
</select> </select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment