Commit 52f1b74a authored by litengwei's avatar litengwei

告警列表sql优化

parent 3718bf8a
......@@ -7194,31 +7194,18 @@
</select>
<select id="getSystemTypesNumStats" resultType="Map">
SELECT
d.id,
d.system_type_code AS code,
d.name,
SUM(IF(d.VALUE > 0, 1, 0)) AS num
FROM (
SELECT
t1.id AS id,
t2.name AS name,
t1.system_type_code,
(SELECT COUNT(DISTINCT t.equipment_specific_id) FROM wl_equipment_specific_alarm t WHERE FIND_IN_SET(t1.id, t.system_ids) > 0 AND t.status = 1) AS value
FROM
f_fire_fighting_system t1
LEFT JOIN wl_equipment_category t2 on t1.system_type = t2.id
WITH t1 as (
SELECT ff.id,ff.name,system_type_code as code from f_fire_fighting_system ff LEFT JOIN wl_equipment_category wec on ff.system_type = wec.id
WHERE
t1.system_type_code IS NOT NULL AND LENGTH(TRIM(t1.system_type_code)) != 0
AND t2.name IS NOT NULL AND LENGTH(TRIM(t2.name)) != 0
<if test="bizOrgCode != null and bizOrgCode != ''">
AND t1.biz_org_code LIKE CONCAT(#{bizOrgCode},'%')
</if>
) d
WHERE
d.value != 0
GROUP BY
d.system_type_code
ff.system_type_code IS NOT NULL AND LENGTH(TRIM(ff.system_type_code)) != 0
AND wec.name IS NOT NULL AND LENGTH(TRIM(wec.name)) != 0
<if test="bizOrgCode != null and bizOrgCode != ''">
AND t1.biz_org_code LIKE CONCAT(#{bizOrgCode},'%')
</if>
), t2 as (
SELECT COUNT(DISTINCT t.equipment_specific_id)as value, t.system_ids FROM wl_equipment_specific_alarm t WHERE t.status = 1 GROUP BY t.system_ids
)
SELECT t1.*,SUM(IF(t2.VALUE > 0, 1, 0)) AS num from t1,t2 where FIND_IN_SET(t1.id, t2.system_ids) > 0 GROUP BY t1.code
</select>
<select id="getSystemInfoPage" resultType="Map">
......
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