diff --git a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml index 8b58382..bc87da6 100644 --- a/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xml @@ -285,7 +285,7 @@ COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 AND c.is_online = 1 THEN kpc.camera_id END) AS onlineFixedCameraCount, COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 AND c.is_online = 1 THEN kpc.camera_id END) AS onlineMobileCameraCount, COALESCE(sei_stat.inspectCount, 0) AS inspectCount, - COALESCE(sei_stat.hazardCount, 0) AS hazardCount, + COALESCE(hidden_stat.hazardCount, 0) AS hazardCount, GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraIdList, GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList from key_project kp @@ -294,13 +294,41 @@ LEFT JOIN ( SELECT key_project_id, - COUNT(DISTINCT id) AS inspectCount, - SUM(IFNULL(hidden_number, 0)) AS hazardCount + COUNT(DISTINCT id) AS inspectCount FROM safety_environmental_inspection WHERE delete_enum = 'FALSE' AND status != 0 GROUP BY key_project_id ) sei_stat ON kp.key_project_id = sei_stat.key_project_id + LEFT JOIN ( + SELECT + temp.key_project_id, + COUNT(DISTINCT temp.hidden_table_id) AS hazardCount + FROM ( + SELECT + i.key_project_id, + h.id AS hidden_table_id + FROM hidden h + INNER JOIN safety_environmental_inspection i + ON i.inspection_id = h.foreign_key + AND i.delete_enum = 'FALSE' + AND i.status != 0 + AND h.source IN (2, 3) + WHERE h.delete_enum = 'FALSE' + + UNION ALL + + SELECT + aa.key_project_id, + h.id AS hidden_table_id + FROM hidden h + INNER JOIN ai_alarm aa + ON aa.ai_alarm_id = h.foreign_key + AND h.source = 1 + WHERE h.delete_enum = 'FALSE' + ) temp + GROUP BY temp.key_project_id + ) hidden_stat ON kp.key_project_id = hidden_stat.key_project_id where kp.delete_enum = 'FALSE' and kp.apply_status in (1,2,4,5,6) and kp.jurisdiction_corpinfo_id = #{params.jurisdictionCorpinfoId}