Commit e2833682 authored by zhangsen's avatar zhangsen

改bug

parent 81d6fdb1
......@@ -1304,6 +1304,8 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
@Override
public Map<String, Object> equipAlarmTOP(HashMap<String, Object> hashMap) {
Map<String, Object> resultMap = new HashMap<>();
String id = fireFightingSystemMapper.equipmentId(hashMap);
hashMap.put("systemId", id);
List<Map<String, Object>> list = fireFightingSystemMapper.equipAlarmTOP(hashMap);
if (!CollectionUtils.isEmpty(list)) {
LinkedHashSet<String> yAxis = new LinkedHashSet<>();
......
......@@ -398,6 +398,9 @@
<if test="param.equipmentCode != null and param.equipmentCode != ''">
AND wlesal.equipment_code like concat(concat("%",#{param.equipmentCode}),"%")
</if>
<if test="param.equipDetailCode != null and param.equipDetailCode != ''">
AND wlesal.equipment_code like concat(concat("%",#{param.equipDetailCode}),"%")
</if>
<if test="param.indexTypeCode != null and param.indexTypeCode != ''">
AND wlesal.type = #{param.indexTypeCode}
</if>
......@@ -1137,7 +1140,10 @@
FROM
`wl_equipment_specific` `wles`
LEFT JOIN f_fire_fighting_system fs ON FIND_IN_SET( fs.id, wles.system_id )
LEFT JOIN wl_equipment_detail wed ON wed.id = wles.equipment_detail_id
LEFT JOIN wl_equipment we ON we.id = wed.equipment_id
<where>
we.is_iot = 1
<if test="systemCode != null and systemCode != ''">
AND fs.code = #{systemCode}
</if>
......@@ -1152,8 +1158,11 @@
FROM
wl_equipment_specific_alarm wlesa
LEFT JOIN wl_equipment_specific wes on wes.id = wlesa.equipment_specific_id
LEFT JOIN wl_equipment_detail wed ON wed.id = wes.equipment_detail_id
LEFT JOIN wl_equipment we ON we.id = wed.equipment_id
<where>
wlesa.`status` = 1
and we.is_iot = 1
<if test="systemCode != null and systemCode != ''">
AND FIND_IN_SET( #{systemCode}, wlesa.system_codes )>0
</if>
......
......@@ -2128,7 +2128,8 @@
count(1)
FROM
`wl_equipment_specific` `wes`
LEFT JOIN wl_equipment e ON wes.`equipment_code` = e.`code`
LEFT JOIN wl_equipment_detail wed on wed.id = wes.equipment_detail_id
LEFT JOIN wl_equipment e ON wed.`equipment_id` = e.`id`
WHERE
e.is_iot = 1
and
......@@ -2355,18 +2356,18 @@
(
CASE
WHEN max( CASE WHEN ei.name_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.perf_value END ) IS NULL THEN
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) IS NULL THEN
'--'
WHEN max( CASE WHEN ei.name_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.perf_value END ) >= IFNULL( rp.min_water_level, 0 )
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_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.name_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.perf_value END ) &lt; IFNULL( rp.min_water_level, 0 )
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) &lt; IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL((
TRUNCATE (
abs(
IFNULL(
max( CASE WHEN ei.name_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.perf_value END ),
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ),
IFNULL( rp.min_water_level, 0 )) /
IF
(
......@@ -2380,15 +2381,15 @@
)
END
) AS levelAbs,
IFNULL( max( CASE WHEN ei.name_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.perf_value END ), '--' ) AS nowLevel,
IFNULL(max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ),'--') AS nowLevel,
(
CASE
WHEN max( CASE WHEN ei.name_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.perf_value END ) IS NULL
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) IS NULL
OR rp.min_water_level IS NULL THEN
'--'
WHEN IFNULL(
max( CASE WHEN ei.name_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.perf_value END ),
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ),
IFNULL( rp.min_water_level, 0 )) &lt; IFNULL( rp.min_water_level, 0 ) THEN
'缺水' ELSE '正常'
END
......@@ -2396,17 +2397,19 @@
IFNULL( rp.volume, 0 ) AS volume,
ec.image,
r.resource_type,
r.sequence_nbr
r.sequence_nbr,
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 es ON es.id = rp.level_device_id
LEFT JOIN wl_equipment_detail ed ON ed.id = es.equipment_detail_id
LEFT JOIN wl_equipment_index ei ON ei.equipment_id = ed.equipment_id
LEFT JOIN wl_equipment e ON e.id = ei.equipment_id
LEFT JOIN wl_equipment_specific_index ei ON ei.equipment_specific_id = rp.level_device_id
LEFT JOIN wl_equipment e ON e.id = ed.equipment_id
LEFT JOIN wl_equipment_category ec ON ec.id = e.category_id
LEFT JOIN f_fire_fighting_system fs ON FIND_IN_SET( fs.id, es.system_id )
LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
WHERE
r.resource_type IN ( 'pool', 'industryPool' )
AND r.is_delete = 1
......@@ -2471,50 +2474,75 @@
</select>
<select id="equipAlarmTOP" resultType="java.util.Map">
<!-- SELECT-->
<!-- ifnull( `a`.`fightSysName`, NULL ) AS `fightSysName`,-->
<!-- ifnull( `a`.`fightSysCode`, NULL ) AS `fightSysCode`,-->
<!-- ifnull( `a`.`fightSysId`, NULL ) AS `fightSysId`,-->
<!-- ifnull( `a`.`report_date`, NULL ) AS `reportDate`,-->
<!-- `a`.`equipName` AS `equipName`,-->
<!-- sum( `a`.`total` ) AS `total`-->
<!-- FROM-->
<!-- (-->
<!-- SELECT-->
<!-- `rd`.`index_type` AS `indxKey`,-->
<!-- `rd`.`index_name` AS `index_name`,-->
<!-- `rd`.`equipment_specific_name` AS `equipName`,-->
<!-- count( DISTINCT `rd`.`equipment_specific_id` ) AS `total`,-->
<!-- `rd`.`report_date` AS `report_date`,-->
<!-- `fs`.`name` AS `fightSysName`,-->
<!-- `fs`.`code` AS `fightSysCode`,-->
<!-- `fs`.`id` AS `fightSysId`,-->
<!-- `rd`.`equipment_specific_id` AS `equipId`-->
<!-- FROM-->
<!-- (-->
<!-- `wl_equipment_alarm_report_day` `rd`-->
<!-- LEFT JOIN `f_fire_fighting_system` `fs` ON ((-->
<!-- 0 != find_in_set( `fs`.`id`, `rd`.`system_ids` ))))-->
<!-- WHERE-->
<!-- (((-->
<!-- curdate() - INTERVAL 30 DAY-->
<!-- ) &lt;= cast( `rd`.`report_date` AS date ))-->
<!-- AND ( `fs`.`code` = #{systemCode} )-->
<!-- AND ( `fs`.`biz_org_code` like concat(#{bizOrgCode}, '%') )-->
<!-- AND ((-->
<!-- `rd`.`index_type` LIKE '%Fault'-->
<!-- )-->
<!-- OR ( `rd`.`index_type` LIKE '%FireAlarm' )-->
<!-- OR ( `rd`.`index_type` LIKE '%Shield' ))-->
<!-- AND ( `rd`.`value` = 'true' ))-->
<!-- GROUP BY-->
<!-- `rd`.`equipment_specific_id`,-->
<!-- `rd`.`report_date`-->
<!-- ) `a`-->
<!-- GROUP BY-->
<!-- `a`.`equipId`-->
<!-- ORDER BY-->
<!-- `total` DESC-->
<!-- LIMIT 5-->
SELECT
ifnull( `a`.`fightSysName`, NULL ) AS `fightSysName`,
ifnull( `a`.`fightSysCode`, NULL ) AS `fightSysCode`,
ifnull( `a`.`fightSysId`, NULL ) AS `fightSysId`,
ifnull( `a`.`report_date`, NULL ) AS `reportDate`,
`a`.`equipName` AS `equipName`,
sum( `a`.`total` ) AS `total`
a.equipName,
count( DISTINCT wesa.equipment_specific_id ) AS total
FROM
(
SELECT
`rd`.`index_type` AS `indxKey`,
`rd`.`index_name` AS `index_name`,
`rd`.`equipment_specific_name` AS `equipName`,
count( DISTINCT `rd`.`equipment_specific_id` ) AS `total`,
`rd`.`report_date` AS `report_date`,
`fs`.`name` AS `fightSysName`,
`fs`.`code` AS `fightSysCode`,
`fs`.`id` AS `fightSysId`,
`rd`.`equipment_specific_id` AS `equipId`
eq.`name` AS equipName,
eq.id AS equipmentId,
eq.`code` AS `code`
FROM
(
`wl_equipment_alarm_report_day` `rd`
LEFT JOIN `f_fire_fighting_system` `fs` ON ((
0 != find_in_set( `fs`.`id`, `rd`.`system_ids` ))))
wl_equipment eq
LEFT JOIN wl_equipment_detail wed ON eq.id = wed.equipment_id
LEFT JOIN wl_equipment_specific wes ON wed.id = wes.equipment_detail_id
WHERE
(((
curdate() - INTERVAL 30 DAY
) &lt;= cast( `rd`.`report_date` AS date ))
AND ( `fs`.`code` = #{systemCode} )
AND ( `fs`.`biz_org_code` like concat(#{bizOrgCode}, '%') )
AND ((
`rd`.`index_type` LIKE '%Fault'
)
OR ( `rd`.`index_type` LIKE '%FireAlarm' )
OR ( `rd`.`index_type` LIKE '%Shield' ))
AND ( `rd`.`value` = 'true' ))
GROUP BY
`rd`.`equipment_specific_id`,
`rd`.`report_date`
) `a`
FIND_IN_SET( #{systemId}, wes.system_id ) > 0
) a
LEFT JOIN wl_equipment_specific_alarm wesa ON wesa.equipment_id = a.equipmentId
AND FIND_IN_SET( #{systemId}, wesa.system_ids ) > 0
AND `wesa`.`create_date` >= ( curdate() - INTERVAL 30 DAY )
GROUP BY
`a`.`equipId`
a.equipmentId
ORDER BY
`total` DESC
total DESC
LIMIT 5
</select>
......@@ -2579,9 +2607,9 @@
eq.id AS equipmentId,
eq.`code` AS `code`
FROM
wl_equipment_specific wes
LEFT JOIN wl_equipment_detail wed ON wed.id = wes.equipment_detail_id
LEFT JOIN wl_equipment eq on eq.id = wed.equipment_id
wl_equipment eq
LEFT JOIN wl_equipment_detail wed ON eq.id = wed.equipment_id
LEFT JOIN wl_equipment_specific wes on wed.id = wes.equipment_detail_id
WHERE
FIND_IN_SET( #{id}, wes.system_id ) > 0
) a
......
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