dev
luotaiqian 2026-07-29 16:57:41 +08:00
parent 5b926d6554
commit d7651344a4
1 changed files with 100 additions and 102 deletions

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.qinan.safetyeval.infrastructure.mapper.EvalProjectMapper">
<!-- 项目进度管理分页查询(关联 eval_customer 获取客户名称;进度状态/剩余天数由业务代码计算) -->
<resultMap id="EvalProjectProgressCOMap"
type="org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO"
@ -26,9 +25,7 @@
ON c.id = p.customer_id
AND c.delete_enum = 'false'
WHERE p.delete_enum = 'false'
<if test="query.orgId != null">
AND p.org_id = #{query.orgId}
</if>
<if test="query.projectName != null and query.projectName != ''">
AND p.project_name LIKE CONCAT('%', #{query.projectName}, '%')
</if>
@ -205,7 +202,8 @@
resultType="org.qinan.safetyeval.client.co.regulator.RegulatorEvalProjectSurveyPageCO">
SELECT
s.project_id AS id,
COUNT(DISTINCT CASE WHEN s.sing_in_time IS NOT NULL AND s.sign_out_time IS NOT NULL THEN s.personnel_id END) AS actual_count,
COUNT(DISTINCT CASE WHEN s.sing_in_time IS NOT NULL AND s.sign_out_time IS NOT NULL THEN s.personnel_id END) AS
actual_count,
COUNT(DISTINCT CASE WHEN s.sing_in_time IS NOT NULL THEN s.personnel_id END) AS sign_in_count,
COUNT(DISTINCT CASE WHEN s.sign_out_time IS NOT NULL THEN s.personnel_id END) AS sign_out_count
FROM eval_survey s
@ -222,7 +220,8 @@
resultType="org.qinan.safetyeval.client.co.regulator.RegulatorEvalProjectSurveyPageCO">
SELECT
sa.project_id AS id,
SUM(CASE WHEN sa.attach_type_code IN ('RECTIFICATION_REVIEW', 'SITE_INSPECTION_FORM') THEN 1 ELSE 0 END) AS scene_photo_count,
SUM(CASE WHEN sa.attach_type_code IN ('RECTIFICATION_REVIEW', 'SITE_INSPECTION_FORM') THEN 1 ELSE 0 END) AS
scene_photo_count,
MAX(CASE WHEN sa.attach_type_code = 'PRACTICE_NOTIFICATION' THEN sa.file_url END) AS notification_file_url
FROM eval_survey_attach sa
WHERE sa.project_id IN
@ -258,5 +257,4 @@
from eval_project
where JSON_CONTAINS(participants_json, JSON_OBJECT('id', #{currentUserId}));
</select>
</mapper>