Commit ce18026f authored by 李秀明's avatar 李秀明

Merge remote-tracking branch 'origin/develop_dl_bugfix_0723' into develop_dl_bugfix_0723

parents 9b94f8da 3c2d4c16
...@@ -196,13 +196,12 @@ public class PoolStatisticController { ...@@ -196,13 +196,12 @@ public class PoolStatisticController {
@RequestMapping(value = "/station/statistic", method = RequestMethod.GET) @RequestMapping(value = "/station/statistic", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取换流站水池信息", notes = "获取换流站水池信息") @ApiOperation(httpMethod = "GET", value = "获取换流站水池信息", notes = "获取换流站水池信息")
public ResponseModel getStationWaterInfo( @RequestParam(required = false) String bizOrgCode) { public ResponseModel getStationWaterInfo( @RequestParam(required = false) String bizOrgCode) {
List<Map<String, Object>> infoList = fireFightingSystemMapper.getWaterInfoByBizOrgName(bizOrgCode); List<Map<String, Object>> infoList = fireFightingSystemMapper.getWaterInfoByBizOrgCode(bizOrgCode);
List<Map<String, Object>> lt4000 = new ArrayList<>(); List<Map<String, Object>> lt4000 = new ArrayList<>();
List<Map<String, Object>> gt4000 = new ArrayList<>(); List<Map<String, Object>> gt4000 = new ArrayList<>();
if (!CollectionUtils.isEmpty(infoList)) { if (!CollectionUtils.isEmpty(infoList)) {
for (Map<String, Object> m : infoList) { for (Map<String, Object> m : infoList) {
int result = new BigDecimal(4000).compareTo(new BigDecimal(String.valueOf(m.get("allVolume")))); if ("1".equals(String.valueOf(m.get("eligibility")))) {
if (0 < result) {
lt4000.add(m); lt4000.add(m);
} else { } else {
gt4000.add(m); gt4000.add(m);
......
...@@ -366,7 +366,7 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE ...@@ -366,7 +366,7 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE
*/ */
List<Map<String, Object>> getWaterInfoBySuper(@Param("bizOrgCode") String bizOrgCode); List<Map<String, Object>> getWaterInfoBySuper(@Param("bizOrgCode") String bizOrgCode);
List<Map<String, Object>> getWaterInfoByBizOrgName(@Param("bizOrgCode") String bizOrgCode); List<Map<String, Object>> getWaterInfoByBizOrgCode(@Param("bizOrgCode") String bizOrgCode);
/** /**
* CAFS水箱和CAFS泡沫罐信息 * CAFS水箱和CAFS泡沫罐信息
......
...@@ -5303,24 +5303,30 @@ ...@@ -5303,24 +5303,30 @@
</if> </if>
</select> </select>
<select id="getWaterInfoByBizOrgName" resultType="java.util.Map"> <select id="getWaterInfoByBizOrgCode" resultType="java.util.Map">
SELECT SELECT * FROM (
*,
(
CASE WHEN
IFNULL(allVolume*allNowLevel/allMaxLevel, 0) > 4000
THEN '1'
ELSE '0'
END
) AS eligibility
FROM (
select select
*, *,
sum(volume) AS allVolume, (
sum(nowLevel) AS allNowLevel, CASE
sum(maxLevel) AS allMaxLevel WHEN nowLevel IS NOT NULL
AND maxLevel IS NOT NULL
AND nowLevel - maxLevel > 0 THEN
'1'
WHEN nowLevel IS NOT NULL
AND minLevel IS NOT NULL
AND nowLevel != '--'
AND nowLevel - minLevel >= 0 THEN
'0'
WHEN nowLevel IS NOT NULL
AND minLevel IS NOT NULL AND nowLevel != '--'
AND minLevel - nowLevel > 0 THEN
'1' ELSE '0'
END
) AS `status`
from ( from (
(SELECT (SELECT
r.sequence_nbr AS id,
r.`name`, r.`name`,
wes.id as equipmentSpecificId, wes.id as equipmentSpecificId,
IFNULL( rp.min_water_level, 0 ) AS minLevel, IFNULL( rp.min_water_level, 0 ) AS minLevel,
...@@ -5331,11 +5337,9 @@ ...@@ -5331,11 +5337,9 @@
from from
wl_equipment_specific_index ei wl_equipment_specific_index ei
where where
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = (ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
'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(CASE WHEN (ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = IFNULL(CASE WHEN (ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel') THEN ei.`unit` END,'--') AS 'unit',
'FHS_WirelessliquidDetector_WaterLevel') THEN ei.`unit` END,'--') AS 'unit',
IFNULL( rp.volume, 0 ) AS volume, IFNULL( rp.volume, 0 ) AS volume,
ec.image, ec.image,
r.resource_type, r.resource_type,
...@@ -5361,6 +5365,7 @@ ...@@ -5361,6 +5365,7 @@
r.sequence_nbr) union all r.sequence_nbr) union all
( (
SELECT SELECT
a.id,
a.`name`, a.`name`,
a.equipmentSpecificId, a.equipmentSpecificId,
a.minLevel, a.minLevel,
...@@ -5378,6 +5383,7 @@ ...@@ -5378,6 +5383,7 @@
FROM FROM
( (
SELECT SELECT
r.sequence_nbr AS id,
r.`name`, r.`name`,
wes.id as equipmentSpecificId, wes.id as equipmentSpecificId,
IFNULL( rp.min_water_level, 0 ) AS minLevel, IFNULL( rp.min_water_level, 0 ) AS minLevel,
...@@ -5388,16 +5394,14 @@ ...@@ -5388,16 +5394,14 @@
from from
wl_equipment_specific_index ei wl_equipment_specific_index ei
where where
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = (ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
'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,
(select (select
ei.unit ei.unit
from from
wl_equipment_specific_index ei wl_equipment_specific_index ei
where where
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = (ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
'FHS_WirelessliquidDetector_WaterLevel')
and FIND_IN_SET( ei.equipment_specific_id, rp.level_device_id) > 0 limit 1) AS 'unit', and FIND_IN_SET( ei.equipment_specific_id, rp.level_device_id) > 0 limit 1) AS 'unit',
IFNULL( rp.volume, 0 ) AS volume, IFNULL( rp.volume, 0 ) AS volume,
ec.image, ec.image,
...@@ -5424,8 +5428,133 @@ ...@@ -5424,8 +5428,133 @@
r.sequence_nbr r.sequence_nbr
) a ) a
)) b )) b
GROUP BY bizOrgName
) c ) c
LEFT JOIN (SELECT SUM(c1.csl) AS totalCsl, (CASE WHEN SUM(c1.csl) <![CDATA[<]]> 4000 THEN '1' ELSE '0' END) AS eligibility, c1.bizOrgName AS bizOrgName1 FROM (
select
*,
(
CASE
WHEN nowLevel IS NOT NULL
AND maxLevel IS NOT NULL
AND nowLevel - maxLevel > 0 THEN
'1'
WHEN nowLevel IS NOT NULL
AND minLevel IS NOT NULL
AND nowLevel != '--'
AND nowLevel - minLevel >= 0 THEN
'0'
WHEN nowLevel IS NOT NULL
AND minLevel IS NOT NULL AND nowLevel != '--'
AND minLevel - nowLevel > 0 THEN
'1' ELSE '0'
END
) AS `status`,
IFNULL(nowLevel/maxlevel, 0) * volume AS csl
from (
(SELECT
r.sequence_nbr AS id,
r.`name`,
wes.id as equipmentSpecificId,
IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel,
IFNULL( rp.output_flow_rate, 0 ) AS outputFlowRate,
IFNULL((select
avg(IFNULL(ei.`value`, 0))
from
wl_equipment_specific_index ei
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(CASE WHEN (ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel') THEN ei.`unit` END,'--') AS 'unit',
IFNULL( rp.volume, 0 ) AS volume,
ec.image,
r.resource_type,
r.sequence_nbr,
wes.code,
ifnull(rp.pump_device_id, '') as pumpDeviceId,
r.biz_org_name AS bizOrgName
FROM
cb_water_resource r
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
LEFT JOIN wl_equipment_specific wes ON wes.id = rp.level_device_id
WHERE
r.resource_type = 'industryPool'
AND r.is_delete = 1
AND r.`biz_org_code` IS NOT NULL
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
GROUP BY
r.sequence_nbr) union all
(
SELECT
a1.id,
a1.`name`,
a1.equipmentSpecificId,
a1.minLevel,
a1.maxLevel,
a1.outputFlowRate,
IFNULL( a1.nowLevel, '--' ) nowLevel,
a1.`unit`,
a1.volume,
a1.image,
a1.resource_type,
a1.sequence_nbr,
a1.code,
a1.pumpDeviceId,
a1.bizOrgName
FROM
(
SELECT
r.sequence_nbr AS id,
r.`name`,
wes.id as equipmentSpecificId,
IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel,
IFNULL( rp.output_flow_rate, 0 ) AS outputFlowRate,
(select
avg(IFNULL(ei.`value`,0))
from
wl_equipment_specific_index ei
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,
(select
ei.unit
from
wl_equipment_specific_index ei
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 limit 1) AS 'unit',
IFNULL( rp.volume, 0 ) AS volume,
ec.image,
r.resource_type,
r.sequence_nbr,
rp.level_device_id,
wes.code,
ifnull(rp.pump_device_id, '') as pumpDeviceId,
r.biz_org_name AS bizOrgName
FROM
cb_water_resource r
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
LEFT JOIN wl_equipment_specific wes ON wes.id = rp.level_device_id
WHERE
r.resource_type = 'pool'
AND r.is_delete = 1
AND r.`biz_org_code` IS NOT NULL
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
GROUP BY
r.sequence_nbr
) a1
)) b1
) c1 GROUP BY bizOrgName1) d ON d.bizOrgName1 = c.bizOrgName GROUP BY d.bizOrgName1
</select> </select>
<select id="getCAFSWaterTankAndFormTank" resultType="java.util.Map"> <select id="getCAFSWaterTankAndFormTank" resultType="java.util.Map">
...@@ -7292,14 +7421,24 @@ ...@@ -7292,14 +7421,24 @@
update_date AS updateDate, update_date AS updateDate,
equipment_index_key AS equipmentIndexKey equipment_index_key AS equipmentIndexKey
FROM FROM
(
SELECT
equipment_specific_id,
update_date,
equipment_index_key,
ROW_NUMBER() OVER ( PARTITION BY equipment_specific_id ORDER BY update_date DESC ) AS rn
FROM
wl_equipment_specific_index wl_equipment_specific_index
WHERE WHERE
equipment_index_key IN ( 'ONL_DrainOilValve_Open', 'ONL_DrainOilValve_Close' ) equipment_index_key IN ( 'ONL_DrainOilValve_Open', 'ONL_DrainOilValve_Close' )
AND `value` = 'true' AND `value` = 'true'
AND equipment_specific_id in AND equipment_specific_id IN
<foreach collection="collect" item="item" index="index" open="(" close=")" separator=","> <foreach collection="collect" item="item" index="index" open="(" close=")" separator=",">
#{item} #{item}
</foreach> </foreach>
) t
WHERE
t.rn = 1
GROUP BY GROUP BY
equipment_specific_id equipment_specific_id
ORDER BY ORDER BY
......
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