Commit e2833682 authored by zhangsen's avatar zhangsen

改bug

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