Commit ff5ba5d9 authored by KeYong's avatar KeYong

修改消防资源点击筛选问题

parent d16ee708
...@@ -519,6 +519,7 @@ public class FireFightingSystemController extends AbstractBaseController { ...@@ -519,6 +519,7 @@ public class FireFightingSystemController extends AbstractBaseController {
} }
EquipmentCategory equipmentCategory = equipmentCategoryList.get(0); EquipmentCategory equipmentCategory = equipmentCategoryList.get(0);
int inhierarchy = 1; int inhierarchy = 1;
int flag = 0;
for (int i = 0; i < result.length + 1; i++) { for (int i = 0; i < result.length + 1; i++) {
//进来先判断是否默认就是空,如果为空第一层 //进来先判断是否默认就是空,如果为空第一层
if (equipmentCategory.getParentId() == null) { if (equipmentCategory.getParentId() == null) {
...@@ -528,16 +529,24 @@ public class FireFightingSystemController extends AbstractBaseController { ...@@ -528,16 +529,24 @@ public class FireFightingSystemController extends AbstractBaseController {
} else { } else {
inhierarchy = map.get(i); inhierarchy = map.get(i);
} }
flag = i;
break; break;
} else { } else {
//查找到循环几次为空 //查找到循环几次为空
equipmentCategory = equipmentCategoryService.getById(equipmentCategory.getParentId()); equipmentCategory = equipmentCategoryService.getById(equipmentCategory.getParentId());
} }
} }
return fireFightingSystemService.getColaCategoryAmountEquList(inhierarchy, equipTypeAmountPage.getEquipmentClassificationCode(), equipTypeAmountPage); if (flag == 0) {
String classificationCode = equipTypeAmountPage.getEquipmentClassificationCode().replaceAll("0+$", "");
return fireFightingSystemService.getColaCategoryAmountEquList(inhierarchy, classificationCode, equipTypeAmountPage);
} else {
String classificationCode = equipTypeAmountPage.getEquipmentClassificationCode().replaceAll("0+$", "");
return fireFightingSystemService.getColaCategoryAmountEquList(inhierarchy, classificationCode.length() % 2 == 0 ? classificationCode : classificationCode + "0", equipTypeAmountPage);
}
// return fireFightingSystemService.getColaCategoryAmountEquList(inhierarchy, equipTypeAmountPage.getEquipmentClassificationCode(), equipTypeAmountPage);
//String classificationCode = equipTypeAmountPage.getEquipmentClassificationCode().replaceAll("0+$", ""); // String classificationCode = equipTypeAmountPage.getEquipmentClassificationCode().replaceAll("0+$", "");
//return fireFightingSystemService.getColaCategoryAmountEquList(inhierarchy, classificationCode.length() % 2 == 0 ? classificationCode : classificationCode + "0", equipTypeAmountPage); // return fireFightingSystemService.getColaCategoryAmountEquList(inhierarchy, classificationCode.length() % 2 == 0 ? classificationCode : classificationCode + "0", equipTypeAmountPage);
} else { } else {
if (null != equipTypeAmountPage.getIsDefect() && 1 == equipTypeAmountPage.getIsDefect()) { if (null != equipTypeAmountPage.getIsDefect() && 1 == equipTypeAmountPage.getIsDefect()) {
ReginParams reginParams = getSelectedOrgInfo(); ReginParams reginParams = getSelectedOrgInfo();
......
...@@ -1997,698 +1997,698 @@ ...@@ -1997,698 +1997,698 @@
LEFT JOIN wl_equipment_category wec ON wle.category_id = wec.id LEFT JOIN wl_equipment_category wec ON wle.category_id = wec.id
WHERE 1=1 WHERE 1=1
<if test="codeHead!=null and codeHead!='' and codeHead!=' '"> <if test="codeHead!=null and codeHead!='' and codeHead!=' '">
<!-- and LEFT (wle.CODE, #{hierarchy}) = #{codeHead}--> and LEFT (wle.CODE, #{hierarchy}) = #{codeHead}
and wec.`code` like concat(#{codeHead}, '%') <!-- and wec.`code` like concat(#{codeHead}, '%')-->
</if> </if>
<if test="equipTypeAmountPage.industryCode!=null"> <if test="equipTypeAmountPage.industryCode!=null">
and wec.industry_code = #{equipTypeAmountPage.industryCode} and wec.industry_code = #{equipTypeAmountPage.industryCode}
</if> </if>
<if test="equipTypeAmountPage.teamId!=null"> <if test="equipTypeAmountPage.teamId!=null">
and wles.team_id = #{equipTypeAmountPage.teamId} and wles.team_id = #{equipTypeAmountPage.teamId}
</if> </if>
<if test="equipTypeAmountPage.systemId!=null"> <if test="equipTypeAmountPage.systemId!=null">
and wles.system_id = #{equipTypeAmountPage.systemId} and wles.system_id = #{equipTypeAmountPage.systemId}
</if> </if>
<if test="equipTypeAmountPage.manufacturerId!=null"> <if test="equipTypeAmountPage.manufacturerId!=null">
and wled.manufacturer_id = #{equipTypeAmountPage.manufacturerId} and wled.manufacturer_id = #{equipTypeAmountPage.manufacturerId}
</if> </if>
<if test="equipTypeAmountPage.isImport!=null"> <if test="equipTypeAmountPage.isImport!=null">
and wled.is_import = #{equipTypeAmountPage.isImport} and wled.is_import = #{equipTypeAmountPage.isImport}
</if> </if>
<if test="equipTypeAmountPage.warehouseStructureId!=null"> <if test="equipTypeAmountPage.warehouseStructureId!=null">
and wlsd.warehouse_structure_id in ( and wlsd.warehouse_structure_id in (
select id from wl_warehouse_structure where parent_id in( select id from wl_warehouse_structure where parent_id in(
select id from wl_warehouse_structure where parent_id = #{equipTypeAmountPage.warehouseStructureId}) select id from wl_warehouse_structure where parent_id = #{equipTypeAmountPage.warehouseStructureId})
union union
select id from wl_warehouse_structure where parent_id = #{equipTypeAmountPage.warehouseStructureId} or select id from wl_warehouse_structure where parent_id = #{equipTypeAmountPage.warehouseStructureId} or
id = #{equipTypeAmountPage.warehouseStructureId} id = #{equipTypeAmountPage.warehouseStructureId}
) )
</if> </if>
<if test="equipTypeAmountPage.status == 1"> <if test="equipTypeAmountPage.status == 1">
and wlsd.warehouse_structure_id is null and wlsd.warehouse_structure_id is null
</if> </if>
<if test="equipTypeAmountPage.isIot!=null"> <if test="equipTypeAmountPage.isIot!=null">
and wle.is_iot=#{equipTypeAmountPage.isIot} and wle.is_iot=#{equipTypeAmountPage.isIot}
</if> </if>
<if test="equipTypeAmountPage.status == 0"> <if test="equipTypeAmountPage.status == 0">
and wlsd.warehouse_structure_id is not null and wlsd.warehouse_structure_id is not null
</if> </if>
<if test="equipTypeAmountPage.equipmentName!=null and equipTypeAmountPage.equipmentName!=''"> <if test="equipTypeAmountPage.equipmentName!=null and equipTypeAmountPage.equipmentName!=''">
AND wled.name LIKE CONCAT('%',#{equipTypeAmountPage.equipmentName},'%') AND wled.name LIKE CONCAT('%',#{equipTypeAmountPage.equipmentName},'%')
</if> </if>
<if test="equipTypeAmountPage.nameOrCode!=null and equipTypeAmountPage.nameOrCode!=''"> <if test="equipTypeAmountPage.nameOrCode!=null and equipTypeAmountPage.nameOrCode!=''">
AND (wled.name LIKE CONCAT('%',#{equipTypeAmountPage.nameOrCode},'%') or wles.code LIKE CONCAT('%',#{equipTypeAmountPage.nameOrCode},'%')) AND (wled.name LIKE CONCAT('%',#{equipTypeAmountPage.nameOrCode},'%') or wles.code LIKE CONCAT('%',#{equipTypeAmountPage.nameOrCode},'%'))
</if> </if>
<if test="equipTypeAmountPage.code!=null and equipTypeAmountPage.code!=''"> <if test="equipTypeAmountPage.code!=null and equipTypeAmountPage.code!=''">
AND wles.code LIKE CONCAT('%',#{equipTypeAmountPage.code},'%') AND wles.code LIKE CONCAT('%',#{equipTypeAmountPage.code},'%')
</if> </if>
<if test="equipTypeAmountPage.iotCode!=null and equipTypeAmountPage.iotCode!=''"> <if test="equipTypeAmountPage.iotCode!=null and equipTypeAmountPage.iotCode!=''">
AND wles.iot_code LIKE CONCAT('%',#{equipTypeAmountPage.iotCode},'%') AND wles.iot_code LIKE CONCAT('%',#{equipTypeAmountPage.iotCode},'%')
</if> </if>
)s1 WHERE 1=1 )s1 WHERE 1=1
<if test="equipTypeAmountPage.warehouseStructureName!=null and equipTypeAmountPage.warehouseStructureName!=''"> <if test="equipTypeAmountPage.warehouseStructureName!=null and equipTypeAmountPage.warehouseStructureName!=''">
AND s1.full_name LIKE CONCAT('%',#{equipTypeAmountPage.warehouseStructureName},'%') AND s1.full_name LIKE CONCAT('%',#{equipTypeAmountPage.warehouseStructureName},'%')
</if> </if>
<if test="equipTypeAmountPage.bizOrgCode!=null and equipTypeAmountPage.bizOrgCode!=''">
AND s1.bizOrgCode LIKE CONCAT(#{equipTypeAmountPage.bizOrgCode},'%')
</if>
order by createDate DESC
</select>
<select id="listByBizOrgCode" resultType="java.util.Map">
SELECT
form_group_id typeId,
COUNT(form_group_id) total
FROM
f_fire_fighting_system
WHERE
biz_org_code LIKE CONCAT(#{bizOrgCode}, '%' )
GROUP BY form_group_id
</select>
<if test="equipTypeAmountPage.bizOrgCode!=null and equipTypeAmountPage.bizOrgCode!=''">
AND s1.bizOrgCode LIKE CONCAT(#{equipTypeAmountPage.bizOrgCode},'%')
</if>
order by createDate DESC
</select>
<select id="listByBizOrgCode" resultType="java.util.Map">
SELECT
form_group_id typeId,
COUNT(form_group_id) total
FROM
f_fire_fighting_system
WHERE
biz_org_code LIKE CONCAT(#{bizOrgCode}, '%' )
GROUP BY form_group_id
</select>
<select id="getColaCategoryAmountListIot" resultMap="CategoryAmountList">
<if test="equipTypeAmountPage.type == 'equipment' or codeHead==null or codeHead=='' or codeHead==' '">
select * from (
SELECT
wles.id,
wles.qr_code,
CONCAT('01#',wles.qr_code) fullqrCode,
wled.standard,
wle.img,
wled.NAME equipmentName,
concat_ws('-',wlws.full_name,wled.area) as full_name,
wlun.NAME unitName,
(SELECT GROUP_CONCAT(fem.name) FROM `f_fire_fighting_system` fem WHERE find_in_set(fem.id,wles.system_id))
as systemName,
wlsd.amount,
wlsd.id as stockDetailId,
'equipment' as type,
wlai.`name` manufacturerName,
wles.code,
wles.iot_code as iotCode,
case wlsd.`status`
when '1' then '在位'
when '2' then '执勤'
when '3' then '维修'
when '6' then '退役'
when '7' then '报废'
when '10' then '车载'
when '11' then '损耗'
when '12' then '配装'
else '未入库' END as status,
wles.create_date as createDate,
wled.code as eqtype,
wles.biz_org_code as bizOrgCode,
wles.biz_org_name as bizOrgName,
wles.equip_status as equipStatus
FROM
(select id,qr_code,code ,iot_code ,biz_org_code ,team_id,biz_org_name,create_date ,equipment_detail_id ,system_id ,equip_status from wl_equipment_specific) wles
LEFT JOIN (select id,amount,status,equipment_specific_id,warehouse_structure_id from wl_stock_detail ) wlsd on wlsd.equipment_specific_id = wles.id
LEFT JOIN wl_warehouse_structure wlws on wlsd.warehouse_structure_id = wlws.id
LEFT JOIN (select id,standard ,name ,area ,code, equipment_id ,manufacturer_id,is_import from wl_equipment_detail) wled on wles.equipment_detail_id = wled.id
LEFT JOIN wl_equipment wle ON wle.id = wled.equipment_id
LEFT JOIN wl_unit wlun ON wle.unit_id = wlun.id
LEFT JOIN wl_manufacturer_info wlai on wled.manufacturer_id=wlai.id
LEFT JOIN wl_equipment_category wec ON wle.category_id = wec.id
WHERE 1=1
<if test="codeHead!=null and codeHead!='' and codeHead!=' '">
and LEFT (wle.CODE, #{hierarchy}) = #{codeHead}
</if>
<if test="equipTypeAmountPage.isIot!=null">
and wle.is_iot=1
</if>
<if test="equipTypeAmountPage.industryCode!=null"> <select id="getColaCategoryAmountListIot" resultMap="CategoryAmountList">
and wec.industry_code = #{equipTypeAmountPage.industryCode} <if test="equipTypeAmountPage.type == 'equipment' or codeHead==null or codeHead=='' or codeHead==' '">
</if> select * from (
SELECT
wles.id,
wles.qr_code,
CONCAT('01#',wles.qr_code) fullqrCode,
wled.standard,
wle.img,
wled.NAME equipmentName,
concat_ws('-',wlws.full_name,wled.area) as full_name,
wlun.NAME unitName,
(SELECT GROUP_CONCAT(fem.name) FROM `f_fire_fighting_system` fem WHERE find_in_set(fem.id,wles.system_id))
as systemName,
wlsd.amount,
wlsd.id as stockDetailId,
'equipment' as type,
wlai.`name` manufacturerName,
wles.code,
wles.iot_code as iotCode,
case wlsd.`status`
when '1' then '在位'
when '2' then '执勤'
when '3' then '维修'
when '6' then '退役'
when '7' then '报废'
when '10' then '车载'
when '11' then '损耗'
when '12' then '配装'
else '未入库' END as status,
wles.create_date as createDate,
wled.code as eqtype,
wles.biz_org_code as bizOrgCode,
wles.biz_org_name as bizOrgName,
wles.equip_status as equipStatus
FROM
(select id,qr_code,code ,iot_code ,biz_org_code ,team_id,biz_org_name,create_date ,equipment_detail_id ,system_id ,equip_status from wl_equipment_specific) wles
LEFT JOIN (select id,amount,status,equipment_specific_id,warehouse_structure_id from wl_stock_detail ) wlsd on wlsd.equipment_specific_id = wles.id
LEFT JOIN wl_warehouse_structure wlws on wlsd.warehouse_structure_id = wlws.id
LEFT JOIN (select id,standard ,name ,area ,code, equipment_id ,manufacturer_id,is_import from wl_equipment_detail) wled on wles.equipment_detail_id = wled.id
LEFT JOIN wl_equipment wle ON wle.id = wled.equipment_id
LEFT JOIN wl_unit wlun ON wle.unit_id = wlun.id
LEFT JOIN wl_manufacturer_info wlai on wled.manufacturer_id=wlai.id
LEFT JOIN wl_equipment_category wec ON wle.category_id = wec.id
WHERE 1=1
<if test="codeHead!=null and codeHead!='' and codeHead!=' '">
and LEFT (wle.CODE, #{hierarchy}) = #{codeHead}
</if>
<if test="equipTypeAmountPage.teamId!=null"> <if test="equipTypeAmountPage.isIot!=null">
and wles.team_id = #{equipTypeAmountPage.teamId} and wle.is_iot=1
</if> </if>
<if test="equipTypeAmountPage.systemId!=null">
and wles.system_id = #{equipTypeAmountPage.systemId}
</if>
<if test="equipTypeAmountPage.manufacturerId!=null">
and wled.manufacturer_id = #{equipTypeAmountPage.manufacturerId}
</if>
<if test="equipTypeAmountPage.isImport!=null">
and wled.is_import = #{equipTypeAmountPage.isImport}
</if>
<if test="equipTypeAmountPage.warehouseStructureId!=null">
and wlsd.warehouse_structure_id in (
select id from wl_warehouse_structure where parent_id in(
select id from wl_warehouse_structure where parent_id = #{equipTypeAmountPage.warehouseStructureId})
union
select id from wl_warehouse_structure where parent_id = #{equipTypeAmountPage.warehouseStructureId} or
id = #{equipTypeAmountPage.warehouseStructureId}
)
</if>
<if test="equipTypeAmountPage.status == 1">
and wlsd.warehouse_structure_id is null
</if>
<if test="equipTypeAmountPage.status == 0">
and wlsd.warehouse_structure_id is not null
</if>
<if test="equipTypeAmountPage.equipmentName!=null and equipTypeAmountPage.equipmentName!=''">
AND wled.name LIKE CONCAT('%',#{equipTypeAmountPage.equipmentName},'%')
</if>
<if test="equipTypeAmountPage.code!=null and equipTypeAmountPage.code!=''">
AND wles.code LIKE CONCAT('%',#{equipTypeAmountPage.code},'%')
</if>
<if test="equipTypeAmountPage.iotCode!=null and equipTypeAmountPage.iotCode!=''">
AND wles.iot_code LIKE CONCAT('%',#{equipTypeAmountPage.iotCode},'%')
</if>
)s1 WHERE 1=1
<if test="equipTypeAmountPage.warehouseStructureName!=null and equipTypeAmountPage.warehouseStructureName!=''">
and s1.full_name LIKE CONCAT('%',#{equipTypeAmountPage.warehouseStructureName},'%')
</if>
<if test="equipTypeAmountPage.bizOrgCode!=null and equipTypeAmountPage.bizOrgCode!=''"> <if test="equipTypeAmountPage.industryCode!=null">
and s1.bizOrgCode LIKE CONCAT(#{equipTypeAmountPage.bizOrgCode},'%') and wec.industry_code = #{equipTypeAmountPage.industryCode}
</if> </if>
<if test="equipTypeAmountPage.teamId!=null">
and wles.team_id = #{equipTypeAmountPage.teamId}
</if>
<if test="equipTypeAmountPage.systemId!=null">
and wles.system_id = #{equipTypeAmountPage.systemId}
</if>
<if test="equipTypeAmountPage.manufacturerId!=null">
and wled.manufacturer_id = #{equipTypeAmountPage.manufacturerId}
</if>
<if test="equipTypeAmountPage.isImport!=null">
and wled.is_import = #{equipTypeAmountPage.isImport}
</if>
<if test="equipTypeAmountPage.warehouseStructureId!=null">
and wlsd.warehouse_structure_id in (
select id from wl_warehouse_structure where parent_id in(
select id from wl_warehouse_structure where parent_id = #{equipTypeAmountPage.warehouseStructureId})
union
select id from wl_warehouse_structure where parent_id = #{equipTypeAmountPage.warehouseStructureId} or
id = #{equipTypeAmountPage.warehouseStructureId}
)
</if>
<if test="equipTypeAmountPage.status == 1">
and wlsd.warehouse_structure_id is null
</if>
<if test="equipTypeAmountPage.status == 0">
and wlsd.warehouse_structure_id is not null
</if>
<if test="equipTypeAmountPage.equipmentName!=null and equipTypeAmountPage.equipmentName!=''">
AND wled.name LIKE CONCAT('%',#{equipTypeAmountPage.equipmentName},'%')
</if>
<if test="equipTypeAmountPage.code!=null and equipTypeAmountPage.code!=''">
AND wles.code LIKE CONCAT('%',#{equipTypeAmountPage.code},'%')
</if>
<if test="equipTypeAmountPage.iotCode!=null and equipTypeAmountPage.iotCode!=''">
AND wles.iot_code LIKE CONCAT('%',#{equipTypeAmountPage.iotCode},'%')
</if>
)s1 WHERE 1=1
<if test="equipTypeAmountPage.warehouseStructureName!=null and equipTypeAmountPage.warehouseStructureName!=''">
and s1.full_name LIKE CONCAT('%',#{equipTypeAmountPage.warehouseStructureName},'%')
</if>
<if test="equipTypeAmountPage.bizOrgCode!=null and equipTypeAmountPage.bizOrgCode!=''">
and s1.bizOrgCode LIKE CONCAT(#{equipTypeAmountPage.bizOrgCode},'%')
</if>
</if>
order by createDate DESC
</select>
<select id="getSystemAlarmInfo" resultType="java.util.Map">
SELECT
`fs`.`id` AS `id`,
`fs`.`name` AS `name`,
`fs`.`code`,
(
SELECT
count(1)
FROM
`wl_equipment_specific` `wes`
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
0 != find_in_set(
`fs`.`id`,
`wes`.`system_id`
)
) AS `totalEquipNum`,
(
SELECT
count(
DISTINCT `eqlog`.`equipment_specific_id`
)
FROM
`wl_equipment_specific_alarm` `eqlog`
WHERE
(
(
0 != find_in_set(
`fs`.`id`,
`eqlog`.`system_ids`
)
)
AND (
`eqlog`.`create_date` LIKE concat(
date_format(curdate(), '%Y-%m-%d'),
'%'
)
)
)
) AS `todayAlarmNum`,
IF (
(
(
SELECT
count(
`esa`.`equipment_specific_id`
)
FROM
`wl_equipment_specific_alarm` `esa`
WHERE
(
(
0 != find_in_set(
`fs`.`id`,
`esa`.`system_ids`
)
)
AND (`esa`.`status` = 1)
)
) > 0
),
'异常',
'正常'
) AS `stateDesc`,
IFNULL(ec.image, "") AS image
FROM
`f_fire_fighting_system` `fs`
LEFT JOIN wl_equipment_category ec ON ec.id = fs.system_type
<where>
<if test="bizOrgCode!=null and bizOrgCode!=''">
and fs.biz_org_code like concat(#{bizOrgCode}, '%')
</if> </if>
</where> order by createDate DESC
ORDER BY stateDesc, `fs`.`id` </select>
</select>
<select id="getEquipAlarmInfoNum" resultType="java.util.Map"> <select id="getSystemAlarmInfo" resultType="java.util.Map">
SELECT
(
SELECT SELECT
count( log.id ) `fs`.`id` AS `id`,
`fs`.`name` AS `name`,
`fs`.`code`,
(
SELECT
count(1)
FROM
`wl_equipment_specific` `wes`
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
0 != find_in_set(
`fs`.`id`,
`wes`.`system_id`
)
) AS `totalEquipNum`,
(
SELECT
count(
DISTINCT `eqlog`.`equipment_specific_id`
)
FROM
`wl_equipment_specific_alarm` `eqlog`
WHERE
(
(
0 != find_in_set(
`fs`.`id`,
`eqlog`.`system_ids`
)
)
AND (
`eqlog`.`create_date` LIKE concat(
date_format(curdate(), '%Y-%m-%d'),
'%'
)
)
)
) AS `todayAlarmNum`,
IF (
(
(
SELECT
count(
`esa`.`equipment_specific_id`
)
FROM
`wl_equipment_specific_alarm` `esa`
WHERE
(
(
0 != find_in_set(
`fs`.`id`,
`esa`.`system_ids`
)
)
AND (`esa`.`status` = 1)
)
) > 0
),
'异常',
'正常'
) AS `stateDesc`,
IFNULL(ec.image, "") AS image
FROM FROM
`wl_equipment_specific_alarm_log` log `f_fire_fighting_system` `fs`
LEFT JOIN wl_equipment_specific es ON log.equipment_specific_id = es.id LEFT JOIN wl_equipment_category ec ON ec.id = fs.system_type
<where> <where>
log.`status` = 1 <if test="bizOrgCode!=null and bizOrgCode!=''">
<if test="bizOrgCode!=null and bizOrgCode!=''"> and fs.biz_org_code like concat(#{bizOrgCode}, '%')
and es.biz_org_code like concat(#{bizOrgCode}, '%') </if>
</if> </where>
<if test="systemCode!=null and systemCode!=''"> ORDER BY stateDesc, `fs`.`id`
and FIND_IN_SET( #{systemCode,jdbcType=VARCHAR}, log.system_codes ) </select>
</if>
</where> <select id="getEquipAlarmInfoNum" resultType="java.util.Map">
) AS unclearInfoNum,
(
SELECT SELECT
count( log.id ) (
FROM SELECT
`wl_equipment_specific_alarm_log` log count( log.id )
LEFT JOIN wl_equipment_specific es ON log.equipment_specific_id = es.id FROM
<where> `wl_equipment_specific_alarm_log` log
log.`confirm_date` IS NULL LEFT JOIN wl_equipment_specific es ON log.equipment_specific_id = es.id
<if test="bizOrgCode!=null and bizOrgCode!=''"> <where>
and es.biz_org_code like concat(#{bizOrgCode}, '%') log.`status` = 1
</if> <if test="bizOrgCode!=null and bizOrgCode!=''">
<if test="systemCode!=null and systemCode!=''"> and es.biz_org_code like concat(#{bizOrgCode}, '%')
and FIND_IN_SET( #{systemCode,jdbcType=VARCHAR}, log.system_codes ) </if>
</if> <if test="systemCode!=null and systemCode!=''">
</where> and FIND_IN_SET( #{systemCode,jdbcType=VARCHAR}, log.system_codes )
) AS unConfirmInfoNum </if>
</select> </where>
) AS unclearInfoNum,
(
SELECT
count( log.id )
FROM
`wl_equipment_specific_alarm_log` log
LEFT JOIN wl_equipment_specific es ON log.equipment_specific_id = es.id
<where>
log.`confirm_date` IS NULL
<if test="bizOrgCode!=null and bizOrgCode!=''">
and es.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
<if test="systemCode!=null and systemCode!=''">
and FIND_IN_SET( #{systemCode,jdbcType=VARCHAR}, log.system_codes )
</if>
</where>
) AS unConfirmInfoNum
</select>
<select id="getStationBizOrgCode" resultType="java.util.Map"> <select id="getStationBizOrgCode" resultType="java.util.Map">
select select
org.biz_org_name as bizOrgName, org.biz_org_name as bizOrgName,
org.biz_org_code as bizOrgCode, org.biz_org_code as bizOrgCode,
org.sequence_nbr as id org.sequence_nbr as id
from cb_org_usr org from cb_org_usr org
right JOIN idx_biz_station_info ibi on ibi.code = org.code right JOIN idx_biz_station_info ibi on ibi.code = org.code
where where
org.is_delete = 0 and org.biz_org_type = 'COMPANY' org.is_delete = 0 and org.biz_org_type = 'COMPANY'
</select> </select>
<select id="getFireTeamInfoBy117" resultType="java.util.Map"> <select id="getFireTeamInfoBy117" resultType="java.util.Map">
SELECT SELECT
ifnull( count( 0 ), 0 ) AS `total`, ifnull( count( 0 ), 0 ) AS `total`,
ifnull( sum(( SELECT count( 0 ) FROM `d_duty_details` `duty` WHERE ( `duty`.`user_id` = `cou`.`amos_org_id` and duty.duty_date like concat(DATE_FORMAT(NOW(),'%Y-%m-%d'), '%') ))), 0 ) AS `on_duty`, ifnull( sum(( SELECT count( 0 ) FROM `d_duty_details` `duty` WHERE ( `duty`.`user_id` = `cou`.`amos_org_id` and duty.duty_date like concat(DATE_FORMAT(NOW(),'%Y-%m-%d'), '%') ))), 0 ) AS `on_duty`,
'志愿消防队' as typeName '志愿消防队' as typeName
FROM FROM
( SELECT * FROM `cb_org_usr` WHERE `cb_org_usr`.`is_firefighters` = 1 AND `cb_org_usr`.`type_code` = 117 ( SELECT * FROM `cb_org_usr` WHERE `cb_org_usr`.`is_firefighters` = 1 AND `cb_org_usr`.`type_code` = 117
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND biz_org_code like concat(#{bizOrgCode}, '%')
</if> ) `cou`
</select>
<select id="getFireTeamInfoBy116" resultType="java.util.Map">
SELECT
ifnull( count( 0 ), 0 ) AS `total`,
ifnull( sum(( SELECT count( 0 ) FROM `d_duty_details` `duty` WHERE ( `duty`.`user_id` = `cou`.`amos_org_id` and duty.duty_date like concat(DATE_FORMAT(NOW(),'%Y-%m-%d'), '%') ))), 0 ) AS `on_duty`,
'专职驻站消防队' as typeName
FROM
( SELECT * FROM `cb_org_usr` WHERE `cb_org_usr`.`is_firefighters` = 1 AND `cb_org_usr`.`type_code` = 116
<if test="bizOrgCode!=null and bizOrgCode!=''"> <if test="bizOrgCode!=null and bizOrgCode!=''">
AND biz_org_code like concat(#{bizOrgCode}, '%') AND biz_org_code like concat(#{bizOrgCode}, '%')
</if> ) `cou` </if> ) `cou`
</select> </select>
<select id="getFireTeamInfoBy116" resultType="java.util.Map">
SELECT
ifnull( count( 0 ), 0 ) AS `total`,
ifnull( sum(( SELECT count( 0 ) FROM `d_duty_details` `duty` WHERE ( `duty`.`user_id` = `cou`.`amos_org_id` and duty.duty_date like concat(DATE_FORMAT(NOW(),'%Y-%m-%d'), '%') ))), 0 ) AS `on_duty`,
'专职驻站消防队' as typeName
FROM
( SELECT * FROM `cb_org_usr` WHERE `cb_org_usr`.`is_firefighters` = 1 AND `cb_org_usr`.`type_code` = 116
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND biz_org_code like concat(#{bizOrgCode}, '%')
</if> ) `cou`
</select>
<select id="getFireCarInfo" resultType="java.util.Map">
SELECT
COUNT( 1 ) AS total,
IFNULL( sum( a.carStartState ), 0 ) AS carStartNum,
IFNULL( sum( a.carCloseState ), 0 ) AS carCloseNum
FROM
(
SELECT
`wc`.`id` AS `id`,
`wc`.`name` AS `name`,
max(
CASE
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
1
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
0
END
) AS `carStartState`,
max(
CASE
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
0
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
1
END
) AS `carCloseState`
FROM
`wl_car` `wc`
LEFT JOIN `wl_car_property` `wcp` ON `wcp`.`car_id` = `wc`.`id`
<where>
<if test="bizOrgCode!=null and bizOrgCode!=''">
wc.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
</where>
GROUP BY
wc.id
) a
</select>
<select id="getFireCarInfoByWL" resultType="java.util.Map">
SELECT
a.*
FROM
(
SELECT
`wc`.`id` AS `id`,
`wc`.`iot_code` AS `iot_code`,
`wc`.`name` AS `name`,
IFNULL( max( CASE WHEN ( `wcp`.`equipment_index_key` = 'FireCar_WaterCapacity' ) THEN `wcp`.`value` END ), 0 ) AS `waterCapacity`,
IFNULL( max( CASE WHEN ( `wcp`.`equipment_index_key` = 'FireCar_FoamCapacity' ) THEN `wcp`.`value` END ), 0 ) AS `foamCapacity`,
IFNULL(
max(
CASE
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
'启动'
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
'熄火'
END
),
'--'
) AS `carState`,
IFNULL(
max(
CASE
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
`wcp`.`update_date`
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
`wcp`.`update_date`
END
),
''
) AS `carStateDate`
FROM
`wl_car` `wc`
LEFT JOIN `wl_car_property` `wcp` ON `wcp`.`car_id` = `wc`.`id`
<where>
1=1
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND wc.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
</where>
GROUP BY
`wc`.`id`
) a
</select>
<select id="getWaterInfo" resultType="java.util.Map">
select * from ( <select id="getFireCarInfo" resultType="java.util.Map">
select * from ( SELECT
(SELECT COUNT( 1 ) AS total,
r.`name`, IFNULL( sum( a.carStartState ), 0 ) AS carStartNum,
ou.`code`, IFNULL( sum( a.carCloseState ), 0 ) AS carCloseNum
IFNULL( rp.min_water_level, 0 ) AS minLevel, FROM
IFNULL( rp.max_water_level, 0 ) AS maxLevel, (
IF(( SELECT
CASE `wc`.`id` AS `id`,
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 `wc`.`name` AS `name`,
'--' max(
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 ) CASE
AND rp.max_water_level IS NULL THEN
'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 )
AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL((
abs( WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
IFNULL( 1
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ), WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
IFNULL( rp.min_water_level, 0 )) / 0
IF END
( ) AS `carStartState`,
IFNULL( rp.max_water_level, 0 ) = 0, max(
1, CASE
IFNULL( rp.max_water_level, 0 ))) * 100
),
0
)
END
) = '--', '--', ROUND((
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 ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
'--' 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 ) WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
AND rp.max_water_level IS NULL THEN 1
'100' END
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 ) ) AS `carCloseState`
AND rp.max_water_level IS NULL THEN FROM
'--' ELSE IFNULL(( `wl_car` `wc`
LEFT JOIN `wl_car_property` `wcp` ON `wcp`.`car_id` = `wc`.`id`
<where>
<if test="bizOrgCode!=null and bizOrgCode!=''">
wc.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
</where>
GROUP BY
wc.id
) a
</select>
abs( <select id="getFireCarInfoByWL" resultType="java.util.Map">
IFNULL( SELECT
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ), a.*
IFNULL( rp.min_water_level, 0 )) / FROM
IF (
( SELECT
IFNULL( rp.max_water_level, 0 ) = 0, `wc`.`id` AS `id`,
1, `wc`.`iot_code` AS `iot_code`,
IFNULL( rp.max_water_level, 0 ))) * 100 `wc`.`name` AS `name`,
), IFNULL( max( CASE WHEN ( `wcp`.`equipment_index_key` = 'FireCar_WaterCapacity' ) THEN `wcp`.`value` END ), 0 ) AS `waterCapacity`,
0 IFNULL( max( CASE WHEN ( `wcp`.`equipment_index_key` = 'FireCar_FoamCapacity' ) THEN `wcp`.`value` END ), 0 ) AS `foamCapacity`,
) IFNULL(
END max(
), 2)) AS levelAbs, CASE
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
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 ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
OR rp.min_water_level IS NULL THEN '启动'
'--' WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
WHEN IFNULL( '熄火'
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ), END
IFNULL( rp.min_water_level, 0 )) &lt; IFNULL( rp.min_water_level, 0 ) THEN ),
'缺水' ELSE '正常' '--'
END ) AS `carState`,
) AS levelStatus, IFNULL(
IFNULL( rp.volume, 0 ) AS volume, max(
ec.image, CASE
r.resource_type,
r.sequence_nbr,
rp.level_device_id,
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_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
WHERE
r.resource_type = 'industryPool'
AND r.is_delete = 1
AND ou.`code` IS NOT NULL
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
<if test="systemCode!=null and systemCode!=''">
AND fs.code = #{systemCode,jdbcType=VARCHAR}
</if>
GROUP BY
r.sequence_nbr) union all
(
SELECT
a.`name`,
a.`code`,
a.minLevel,
a.maxLevel,
IF(( WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'true' ) THEN
CASE `wcp`.`update_date`
WHEN ( `wcp`.`equipment_index_key` = 'FireCar_Start' AND `wcp`.`value` = 'false' ) THEN
`wcp`.`update_date`
END
),
''
) AS `carStateDate`
FROM
`wl_car` `wc`
LEFT JOIN `wl_car_property` `wcp` ON `wcp`.`car_id` = `wc`.`id`
<where>
1=1
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND wc.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
</where>
GROUP BY
`wc`.`id`
) a
</select>
<select id="getWaterInfo" resultType="java.util.Map">
select * from (
select * from (
(SELECT
r.`name`,
ou.`code`,
IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel,
IF((
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 ) >= IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN
'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 )
AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL((
abs(
IFNULL(
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 )) /
IF
(
IFNULL( rp.max_water_level, 0 ) = 0,
1,
IFNULL( rp.max_water_level, 0 ))) * 100
),
0
)
END
) = '--', '--', ROUND((
CASE
WHEN a.nowLevel 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 a.nowLevel >= IFNULL( a.minLevel, 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 a.maxLevel IS NULL THEN AND rp.max_water_level IS NULL THEN
'100' '100'
WHEN IFNULL( a.minLevel, 0 ) > a.nowLevel 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 a.maxLevel IS NULL THEN AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL(( '--' ELSE IFNULL((
abs(
IFNULL(
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 )) /
IF
(
IFNULL( rp.max_water_level, 0 ) = 0,
1,
IFNULL( rp.max_water_level, 0 ))) * 100
),
0
)
END
), 2)) 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,
(
CASE
abs( 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
IFNULL( OR rp.min_water_level IS NULL THEN
a.nowLevel, '--'
IFNULL( a.minLevel, 0 )) / WHEN IFNULL(
IF 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( a.maxLevel, 0 ) = 0, '缺水' ELSE '正常'
1, END
IFNULL( a.maxLevel, 0 ))) * 100 ) AS levelStatus,
), IFNULL( rp.volume, 0 ) AS volume,
0 ec.image,
) r.resource_type,
END r.sequence_nbr,
) = '--', '--', ROUND(( rp.level_device_id,
CASE 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_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
WHERE
r.resource_type = 'industryPool'
AND r.is_delete = 1
AND ou.`code` IS NOT NULL
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
<if test="systemCode!=null and systemCode!=''">
AND fs.code = #{systemCode,jdbcType=VARCHAR}
</if>
GROUP BY
r.sequence_nbr) union all
(
SELECT
a.`name`,
a.`code`,
a.minLevel,
a.maxLevel,
WHEN a.nowLevel IS NULL THEN IF((
'--' CASE
WHEN a.nowLevel >= IFNULL( a.minLevel, 0 )
AND a.maxLevel IS NULL THEN
'100'
WHEN IFNULL( a.minLevel, 0 ) > a.nowLevel
AND a.maxLevel IS NULL THEN
'--' ELSE IFNULL((
abs( WHEN a.nowLevel IS NULL THEN
IFNULL( '--'
a.nowLevel, WHEN a.nowLevel >= IFNULL( a.minLevel, 0 )
IFNULL( a.minLevel, 0 )) / AND a.maxLevel IS NULL THEN
IF '100'
( WHEN IFNULL( a.minLevel, 0 ) > a.nowLevel
IFNULL( a.maxLevel, 0 ) = 0, AND a.maxLevel IS NULL THEN
1, '--' ELSE IFNULL((
IFNULL( a.maxLevel, 0 ))) * 100
), abs(
0 IFNULL(
) a.nowLevel,
END IFNULL( a.minLevel, 0 )) /
), 2)) AS levelAbs, IF
a.nowLevel, (
( IFNULL( a.maxLevel, 0 ) = 0,
CASE 1,
IFNULL( a.maxLevel, 0 ))) * 100
),
0
)
END
) = '--', '--', ROUND((
CASE
WHEN a.nowLevel IS NULL WHEN a.nowLevel IS NULL THEN
OR a.minLevel IS NULL THEN '--'
'--' WHEN a.nowLevel >= IFNULL( a.minLevel, 0 )
WHEN IFNULL( a.minLevel, 0 ) > IFNULL( AND a.maxLevel IS NULL THEN
a.nowLevel, '100'
IFNULL( a.minLevel, 0 )) THEN WHEN IFNULL( a.minLevel, 0 ) > a.nowLevel
'缺水' ELSE '正常' AND a.maxLevel IS NULL THEN
END '--' ELSE IFNULL((
) AS levelStatus,
a.volume, abs(
a.image, IFNULL(
a.resource_type, a.nowLevel,
a.sequence_nbr, IFNULL( a.minLevel, 0 )) /
a.level_device_id, IF
a.`code` AS systemCode (
FROM IFNULL( a.maxLevel, 0 ) = 0,
( 1,
SELECT IFNULL( a.maxLevel, 0 ))) * 100
r.`name`, ),
ou.`code`, 0
IFNULL( rp.min_water_level, 0 ) AS minLevel, )
IFNULL( rp.max_water_level, 0 ) AS maxLevel, END
(select ), 2)) AS levelAbs,
avg(IFNULL(ei.`value`,0)) a.nowLevel,
from (
wl_equipment_specific_index ei CASE
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( rp.volume, 0 ) AS volume,
ec.image,
r.resource_type,
r.sequence_nbr,
rp.level_device_id,
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_category ec ON ec.id = r.equip_category_id
LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
WHERE
r.resource_type = 'pool'
AND r.is_delete = 1
AND ou.`code` IS NOT NULL
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
<if test="systemCode!=null and systemCode!=''">
AND fs.code = #{systemCode,jdbcType=VARCHAR}
</if>
GROUP BY
r.sequence_nbr
) a
)) b
ORDER BY
levelStatus DESC,sequence_nbr DESC ) as a
</select>
<select id="getFireSystemInfo" resultType="java.util.Map"> WHEN a.nowLevel IS NULL
select `nz`.name,`nz`.status from ( SELECT OR a.minLevel IS NULL THEN
`fs`.`id` AS `id`, '--'
`fs`.`code` AS `code`, WHEN IFNULL( a.minLevel, 0 ) > IFNULL(
`fs`.`biz_org_code` AS `biz_org_code`, a.nowLevel,
`fs`.`name` AS `name`, IFNULL( a.minLevel, 0 )) THEN
`fs`.`install_date` AS `installdate`, '缺水' ELSE '正常'
`fs`.`charge_person_name` AS `chargeperson`, END
`fs`.`charge_person_phone` AS `chargepersonphone`, ) AS levelStatus,
`mim`.`name` AS `maintenanceunit`, a.volume,
`mic`.`name` AS `constructionunit`,( a.image,
CASE a.resource_type,
a.sequence_nbr,
a.level_device_id,
a.`code` AS systemCode
FROM
(
SELECT
r.`name`,
ou.`code`,
IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel,
(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( rp.volume, 0 ) AS volume,
ec.image,
r.resource_type,
r.sequence_nbr,
rp.level_device_id,
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_category ec ON ec.id = r.equip_category_id
LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
WHERE
r.resource_type = 'pool'
AND r.is_delete = 1
AND ou.`code` IS NOT NULL
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
<if test="systemCode!=null and systemCode!=''">
AND fs.code = #{systemCode,jdbcType=VARCHAR}
</if>
GROUP BY
r.sequence_nbr
) a
)) b
ORDER BY
levelStatus DESC,sequence_nbr DESC ) as a
</select>
<select id="getFireSystemInfo" resultType="java.util.Map">
select `nz`.name,`nz`.status from ( SELECT
`fs`.`id` AS `id`,
`fs`.`code` AS `code`,
`fs`.`biz_org_code` AS `biz_org_code`,
`fs`.`name` AS `name`,
`fs`.`install_date` AS `installdate`,
`fs`.`charge_person_name` AS `chargeperson`,
`fs`.`charge_person_phone` AS `chargepersonphone`,
`mim`.`name` AS `maintenanceunit`,
`mic`.`name` AS `constructionunit`,(
CASE
WHEN (( WHEN ((
SELECT SELECT
count( 1 ) count( 1 )
FROM FROM
`wl_equipment_specific_alarm` `wl_equipment_specific_alarm`
WHERE WHERE
(( ((
`wl_equipment_specific_alarm`.`status` = 1 `wl_equipment_specific_alarm`.`status` = 1
) )
AND ( AND (
0 != find_in_set( `fs`.`id`, `wl_equipment_specific_alarm`.`system_ids` )))) > 0 0 != find_in_set( `fs`.`id`, `wl_equipment_specific_alarm`.`system_ids` )))) > 0
) THEN ) THEN
'异常' ELSE '正常' '异常' ELSE '正常'
END END
) AS `status` ) AS `status`
FROM FROM
(( ((
`f_fire_fighting_system` `fs` `f_fire_fighting_system` `fs`
LEFT JOIN `wl_manufacturer_info` `mic` ON (( LEFT JOIN `wl_manufacturer_info` `mic` ON ((
`mic`.`id` = `fs`.`maintenance_unit` `mic`.`id` = `fs`.`maintenance_unit`
))) )))
LEFT JOIN `wl_manufacturer_info` `mim` ON (( LEFT JOIN `wl_manufacturer_info` `mim` ON ((
`mim`.`id` = `fs`.`construction_unit` `mim`.`id` = `fs`.`construction_unit`
)))) `nz` )))) `nz`
<where> <where>
<if test="systemCode!=null and systemCode!=''"> <if test="systemCode!=null and systemCode!=''">
and `nz`.code = #{systemCode} and `nz`.code = #{systemCode}
</if> </if>
<if test="bizOrgCode!=null and bizOrgCode!=''"> <if test="bizOrgCode!=null and bizOrgCode!=''">
and `nz`.biz_org_code like concat(#{bizOrgCode}, '%') and `nz`.biz_org_code like concat(#{bizOrgCode}, '%')
</if> </if>
</where> </where>
</select> </select>
<select id="equipAlarmTOP" resultType="java.util.Map"> <select id="equipAlarmTOP" resultType="java.util.Map">
<!-- SELECT--> <!-- SELECT-->
<!-- ifnull( `a`.`fightSysName`, NULL ) AS `fightSysName`,--> <!-- ifnull( `a`.`fightSysName`, NULL ) AS `fightSysName`,-->
<!-- ifnull( `a`.`fightSysCode`, NULL ) AS `fightSysCode`,--> <!-- ifnull( `a`.`fightSysCode`, NULL ) AS `fightSysCode`,-->
<!-- ifnull( `a`.`fightSysId`, NULL ) AS `fightSysId`,--> <!-- ifnull( `a`.`fightSysId`, NULL ) AS `fightSysId`,-->
......
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