(SELECT IF(SUM(IF(a.equipment_specific_index_value = 'true', 1, 0)) > 0, '异常', '正常' ) FROM wl_equipment_specific_alarm a WHERE a.equipment_specific_id = spec.id) AS equipStatus,
IF(alarm_summary.has_true > 0, '异常', '正常') AS equipStatus,
IFNULL(detail.standard, '') AS standard
FROM
wl_equipment_specific spec
FROM wl_equipment_specific spec
JOIN wl_equipment_detail detail ON spec.equipment_detail_id = detail.id
JOIN wl_equipment equipment ON equipment.id =detail.equipment_id
LEFT JOIN f_fire_fighting_system s on FIND_IN_SET(s.id, spec.system_id)
JOIN wl_equipment equipment ON equipment.id = detail.equipment_id
LEFT JOIN f_fire_fighting_system s ON FIND_IN_SET(s.id, spec.system_id)
LEFT JOIN (
SELECT
equipment_specific_id,
SUM(equipment_specific_index_value = 'true') AS has_true
FROM wl_equipment_specific_alarm
GROUP BY equipment_specific_id
) alarm_summary ON alarm_summary.equipment_specific_id = spec.id
<where>
<iftest="bizOrgCode!=null and bizOrgCode!=''">
wes.biz_org_code like concat(#{bizOrgCode}, '%')
<iftest="bizOrgCode != null and bizOrgCode != ''">
equipment.biz_org_code LIKE CONCAT(#{bizOrgCode}, '%')
</if>
<iftest="systemCode != null and systemCode != ''">
AND s.`code` = #{systemCode}
AND s.code = #{systemCode}
</if>
<iftest="equipmentCode != null and equipmentCode != ''">
AND spec.equipment_code = #{equipmentCode}
</if>
</where>
ORDER BY
CASE WHEN IF(alarm_summary.has_true > 0, '异常', '正常') = '异常' THEN 0 ELSE 1 END