添加项目统计功能支持检查次数和隐患数

main
zhangyue 2026-04-21 08:36:13 +08:00
parent 320d648274
commit 3e0614157e
2 changed files with 19 additions and 8 deletions

View File

@ -181,7 +181,6 @@ public class KeyProjectQueryExe {
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
} }
//TODO 补充检查次数,隐患数,在线数,摄像头数
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());

View File

@ -206,12 +206,16 @@
COUNT(DISTINCT CASE WHEN kp.apply_status = 6 THEN kp.id END) AS completeCount, COUNT(DISTINCT CASE WHEN kp.apply_status = 6 THEN kp.id END) AS completeCount,
COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraCount, COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraCount,
COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraCount, COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraCount,
COUNT(sei.id) AS inspectCount,
COUNT(h.id) 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 = 1 THEN kpc.camera_id END) AS fixedCameraIdList,
GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList
FROM corp_info cp FROM corp_info cp
LEFT JOIN key_project kp LEFT JOIN key_project kp
ON cp.id = kp.jurisdiction_corpinfo_id AND kp.delete_enum = 'FALSE' ON cp.id = kp.jurisdiction_corpinfo_id AND kp.delete_enum = 'FALSE'
left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE' left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE'
left join safety_environmental_inspection sei on cp.id = sei.corp_id AND sei.delete_enum = 'FALSE' and sei.status != 0
left join hidden h on cp.id = h.tenant_id AND h.delete_enum = 'FALSE'
WHERE cp.delete_enum = 'FALSE' WHERE cp.delete_enum = 'FALSE'
AND cp.use_flag = 1 AND cp.use_flag = 1
AND cp.type IN (0, 1, 2, 6) AND cp.type IN (0, 1, 2, 6)
@ -229,14 +233,18 @@
kp.project_id as projectId, kp.project_id as projectId,
COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraCount, COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraCount,
COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraCount, COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraCount,
COUNT(DISTINCT sei.id) AS inspectCount,
COUNT(DISTINCT h.id) 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 = 1 THEN kpc.camera_id END) AS fixedCameraIdList,
GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList
from key_project kp from key_project kp
left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE' left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE'
left join safety_environmental_inspection sei on kp.key_project_id = sei.key_project_id AND sei.delete_enum = 'FALSE' and sei.status != 0
left join hidden h on sei.inspection_id = h.foreign_key AND h.delete_enum = 'FALSE'
where kp.delete_enum = 'FALSE' where kp.delete_enum = 'FALSE'
and jurisdiction_corpinfo_id = #{params.jurisdictionCorpinfoId} and jurisdiction_corpinfo_id = #{params.jurisdictionCorpinfoId}
<if test="params.projectName != null and params.projectName != ''"> <if test="params.projectName != null and params.projectName != ''">
AND cp.project_name like concat('%',#{params.projectName},'%') AND kp.project_name like concat('%',#{params.projectName},'%')
</if> </if>
GROUP BY kp.id GROUP BY kp.id
ORDER BY kp.apply_status asc, kp.create_time DESC ORDER BY kp.apply_status asc, kp.create_time DESC
@ -250,21 +258,25 @@
COUNT(DISTINCT CASE WHEN kp.apply_status = 6 THEN kp.id END) AS completeCount, COUNT(DISTINCT CASE WHEN kp.apply_status = 6 THEN kp.id END) AS completeCount,
COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraCount, COUNT(DISTINCT CASE WHEN kpc.camera_type = 1 THEN kpc.camera_id END) AS fixedCameraCount,
COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraCount, COUNT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraCount,
COUNT(DISTINCT sei.id) AS inspectCount,
COUNT(h.id) 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 = 1 THEN kpc.camera_id END) AS fixedCameraIdList,
GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList GROUP_CONCAT(DISTINCT CASE WHEN kpc.camera_type = 2 THEN kpc.camera_id END) AS mobileCameraIdList
from key_project kp from corp_info cp
left join key_project kp on kp.jurisdiction_corpinfo_id = cp.id
left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE' left join key_project_camera kpc on kp.key_project_id = kpc.key_project_id AND kpc.delete_enum = 'FALSE'
left join corp_info cp on kp.jurisdiction_corpinfo_id = cp.id left join safety_environmental_inspection sei on cp.id = sei.corp_id AND sei.delete_enum = 'FALSE' and sei.status != 0
left join hidden h on cp.id = h.tenant_id AND h.delete_enum = 'FALSE'
where kp.delete_enum = 'FALSE' where kp.delete_enum = 'FALSE'
<if test="params.jurisdictionCorpinfoIdList != null and params.jurisdictionCorpinfoIdList.size() > 0"> <if test="params.jurisdictionCorpinfoIdList != null and params.jurisdictionCorpinfoIdList.size() > 0">
and jurisdiction_corpinfo_id in and kp.jurisdiction_corpinfo_id in
<foreach collection="params.jurisdictionCorpinfoIdList" item="corpinfoId" open="(" separator="," close=")"> <foreach collection="params.jurisdictionCorpinfoIdList" item="corpinfoId" open="(" separator="," close=")">
#{corpinfoId} #{corpinfoId}
</foreach> </foreach>
</if> </if>
and kp.xgf_corpinfo_id = #{params.xgfCorpinfoId} and kp.xgf_corpinfo_id = #{params.xgfCorpinfoId}
GROUP BY kp.id GROUP BY cp.id
order by cp.corp_order ASC,cp.create_time desc order by cp.corp_order ASC,cp.create_time desc