fix bug
parent
5b926d6554
commit
d7651344a4
|
|
@ -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"
|
||||
|
|
@ -13,22 +12,20 @@
|
|||
<select id="selectProgressPage"
|
||||
resultMap="EvalProjectProgressCOMap">
|
||||
SELECT
|
||||
p.id,
|
||||
p.project_no,
|
||||
p.project_name,
|
||||
c.customer_name,
|
||||
p.customer_contact_name,
|
||||
p.project_leader_name,
|
||||
p.plan_end_date,
|
||||
p.project_node
|
||||
p.id,
|
||||
p.project_no,
|
||||
p.project_name,
|
||||
c.customer_name,
|
||||
p.customer_contact_name,
|
||||
p.project_leader_name,
|
||||
p.plan_end_date,
|
||||
p.project_node
|
||||
FROM eval_project p
|
||||
LEFT JOIN eval_customer c
|
||||
ON c.id = p.customer_id
|
||||
AND c.delete_enum = 'false'
|
||||
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>
|
||||
AND p.org_id = #{query.orgId}
|
||||
<if test="query.projectName != null and query.projectName != ''">
|
||||
AND p.project_name LIKE CONCAT('%', #{query.projectName}, '%')
|
||||
</if>
|
||||
|
|
@ -52,15 +49,15 @@
|
|||
<select id="selectRiskWarningPage"
|
||||
resultType="org.qinan.safetyeval.client.co.institution.RiskWarningCO">
|
||||
SELECT
|
||||
p.id,
|
||||
p.project_no,
|
||||
p.project_name,
|
||||
c.customer_name,
|
||||
p.project_leader_name AS responsible_person
|
||||
p.id,
|
||||
p.project_no,
|
||||
p.project_name,
|
||||
c.customer_name,
|
||||
p.project_leader_name AS responsible_person
|
||||
FROM eval_project p
|
||||
LEFT JOIN eval_customer c
|
||||
ON c.id = p.customer_id
|
||||
AND c.delete_enum = 'false'
|
||||
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}
|
||||
|
|
@ -70,79 +67,79 @@
|
|||
<select id="onSiteTaskSum" resultType="java.lang.Long">
|
||||
select count(id) from eval_project
|
||||
where
|
||||
id in
|
||||
<foreach collection="pIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
and
|
||||
JSON_CONTAINS(project_node, JSON_OBJECT('type', #{val},'state', 0))
|
||||
id in
|
||||
<foreach collection="pIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
and
|
||||
JSON_CONTAINS(project_node, JSON_OBJECT('type', #{val},'state', 0))
|
||||
</select>
|
||||
|
||||
<!-- 监管端-安评项目实时监控统计:未删除且法定项目(is_statutory=1) -->
|
||||
<select id="selectRegulatorMonitorStat"
|
||||
resultType="org.qinan.safetyeval.client.co.regulator.RegulatorEvalProjectMonitorStatCO">
|
||||
SELECT
|
||||
COUNT(*) AS monitoringCount,
|
||||
IFNULL(SUM(CASE WHEN archive_flag =0 THEN 1 ELSE 0 END), 0) AS normalCount,
|
||||
0 AS warningCount,
|
||||
IFNULL(SUM(CASE WHEN plan_end_date BETWEEN DATE_FORMAT(NOW(), '%Y-%m-01')
|
||||
AND DATE_ADD(DATE_FORMAT(NOW(), '%Y-%m-01'), INTERVAL 1 MONTH)
|
||||
THEN 1 ELSE 0 END), 0) AS monthPlanCompleteCount
|
||||
COUNT(*) AS monitoringCount,
|
||||
IFNULL(SUM(CASE WHEN archive_flag =0 THEN 1 ELSE 0 END), 0) AS normalCount,
|
||||
0 AS warningCount,
|
||||
IFNULL(SUM(CASE WHEN plan_end_date BETWEEN DATE_FORMAT(NOW(), '%Y-%m-01')
|
||||
AND DATE_ADD(DATE_FORMAT(NOW(), '%Y-%m-01'), INTERVAL 1 MONTH)
|
||||
THEN 1 ELSE 0 END), 0) AS monthPlanCompleteCount
|
||||
FROM eval_project
|
||||
WHERE delete_enum = 'false'
|
||||
AND is_statutory = 1
|
||||
AND is_statutory = 1
|
||||
</select>
|
||||
|
||||
<!-- 监管端-项目踏勘监管统计:未删除且法定项目(is_statutory=1),告知书归档关联eval_survey_attach,人员打卡状态取clock_in_status -->
|
||||
<select id="selectRegulatorSurveyStat"
|
||||
resultType="org.qinan.safetyeval.client.co.regulator.RegulatorEvalProjectSurveyStatCO">
|
||||
SELECT
|
||||
IFNULL(SUM(CASE WHEN EXISTS (
|
||||
SELECT 1 FROM eval_survey_attach sa
|
||||
WHERE sa.project_id = p.id
|
||||
AND sa.attach_type_code = 'PRACTICE_NOTIFICATION'
|
||||
) THEN 1 ELSE 0 END), 0) AS notificationArchivedCount,
|
||||
IFNULL(SUM(CASE WHEN EXISTS (
|
||||
SELECT 1 FROM eval_survey_attach sa
|
||||
WHERE sa.project_id = p.id
|
||||
AND sa.attach_type_code = 'PRACTICE_NOTIFICATION'
|
||||
) THEN 0 ELSE 1 END), 0) AS notificationAbnormalCount,
|
||||
IFNULL(SUM(CASE WHEN p.clock_in_status = 'NORMAL' THEN 1 ELSE 0 END), 0) AS clockInNormalCount,
|
||||
IFNULL(SUM(CASE WHEN p.clock_in_status = 'NORMAL' THEN 0 ELSE 1 END), 0) AS clockInAbnormalCount
|
||||
IFNULL(SUM(CASE WHEN EXISTS (
|
||||
SELECT 1 FROM eval_survey_attach sa
|
||||
WHERE sa.project_id = p.id
|
||||
AND sa.attach_type_code = 'PRACTICE_NOTIFICATION'
|
||||
) THEN 1 ELSE 0 END), 0) AS notificationArchivedCount,
|
||||
IFNULL(SUM(CASE WHEN EXISTS (
|
||||
SELECT 1 FROM eval_survey_attach sa
|
||||
WHERE sa.project_id = p.id
|
||||
AND sa.attach_type_code = 'PRACTICE_NOTIFICATION'
|
||||
) THEN 0 ELSE 1 END), 0) AS notificationAbnormalCount,
|
||||
IFNULL(SUM(CASE WHEN p.clock_in_status = 'NORMAL' THEN 1 ELSE 0 END), 0) AS clockInNormalCount,
|
||||
IFNULL(SUM(CASE WHEN p.clock_in_status = 'NORMAL' THEN 0 ELSE 1 END), 0) AS clockInAbnormalCount
|
||||
FROM eval_project p
|
||||
WHERE p.delete_enum = 'false'
|
||||
AND p.is_statutory = 1
|
||||
AND p.is_statutory = 1
|
||||
</select>
|
||||
|
||||
<!-- 监管端-安评项目实时监控分页:未删除且法定项目(is_statutory=1),关联 org_info 获取评价机构名称,关联 eval_project_process_waring 获取预警信息 -->
|
||||
<select id="selectRegulatorMonitorPage"
|
||||
resultType="org.qinan.safetyeval.client.co.regulator.RegulatorEvalProjectMonitorPageCO">
|
||||
SELECT
|
||||
p.id,
|
||||
p.org_id,
|
||||
p.project_no,
|
||||
p.project_name,
|
||||
o.unit_name AS org_name,
|
||||
p.eval_type_code,
|
||||
p.industry_code,
|
||||
p.customer_contact_name AS leader_name,
|
||||
p.plan_end_date,
|
||||
w.waring_status,
|
||||
w.process_waring_status,
|
||||
w.process_waring_msg,
|
||||
w.personnel_waring_status,
|
||||
w.personnel_waring_msg
|
||||
p.id,
|
||||
p.org_id,
|
||||
p.project_no,
|
||||
p.project_name,
|
||||
o.unit_name AS org_name,
|
||||
p.eval_type_code,
|
||||
p.industry_code,
|
||||
p.customer_contact_name AS leader_name,
|
||||
p.plan_end_date,
|
||||
w.waring_status,
|
||||
w.process_waring_status,
|
||||
w.process_waring_msg,
|
||||
w.personnel_waring_status,
|
||||
w.personnel_waring_msg
|
||||
FROM eval_project p
|
||||
LEFT JOIN org_info o
|
||||
ON o.id = p.org_id
|
||||
AND o.delete_enum = 'false'
|
||||
ON o.id = p.org_id
|
||||
AND o.delete_enum = 'false'
|
||||
LEFT JOIN eval_project_process_waring w
|
||||
ON w.project_id = p.id
|
||||
ON w.project_id = p.id
|
||||
WHERE p.delete_enum = 'false'
|
||||
AND p.is_statutory = 1
|
||||
AND p.is_statutory = 1
|
||||
<if test="query.projectNameOrNo != null and query.projectNameOrNo != ''">
|
||||
AND (p.project_name LIKE CONCAT('%', #{query.projectNameOrNo}, '%')
|
||||
OR p.project_no LIKE CONCAT('%', #{query.projectNameOrNo}, '%'))
|
||||
OR p.project_no LIKE CONCAT('%', #{query.projectNameOrNo}, '%'))
|
||||
</if>
|
||||
<if test="query.orgId != null">
|
||||
AND p.org_id = #{query.orgId}
|
||||
|
|
@ -176,20 +173,20 @@
|
|||
<select id="selectRegulatorSurveyPage"
|
||||
resultType="org.qinan.safetyeval.client.co.regulator.RegulatorEvalProjectSurveyPageCO">
|
||||
SELECT
|
||||
p.id,
|
||||
p.org_id,
|
||||
p.project_no,
|
||||
p.project_name,
|
||||
o.unit_name AS org_name
|
||||
p.id,
|
||||
p.org_id,
|
||||
p.project_no,
|
||||
p.project_name,
|
||||
o.unit_name AS org_name
|
||||
FROM eval_project p
|
||||
LEFT JOIN org_info o
|
||||
ON o.id = p.org_id
|
||||
AND o.delete_enum = 'false'
|
||||
ON o.id = p.org_id
|
||||
AND o.delete_enum = 'false'
|
||||
WHERE p.delete_enum = 'false'
|
||||
AND p.is_statutory = 1
|
||||
AND p.is_statutory = 1
|
||||
<if test="query.projectNameOrNo != null and query.projectNameOrNo != ''">
|
||||
AND (p.project_name LIKE CONCAT('%', #{query.projectNameOrNo}, '%')
|
||||
OR p.project_no LIKE CONCAT('%', #{query.projectNameOrNo}, '%'))
|
||||
OR p.project_no LIKE CONCAT('%', #{query.projectNameOrNo}, '%'))
|
||||
</if>
|
||||
<if test="query.orgId != null">
|
||||
AND p.org_id = #{query.orgId}
|
||||
|
|
@ -204,16 +201,17 @@
|
|||
<select id="selectSurveyPersonnelStatByProjectIds"
|
||||
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 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
|
||||
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 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
|
||||
WHERE s.delete_enum = 'false'
|
||||
AND s.project_id IN
|
||||
<foreach collection="projectIds" item="pid" open="(" separator="," close=")">
|
||||
#{pid}
|
||||
</foreach>
|
||||
AND s.project_id IN
|
||||
<foreach collection="projectIds" item="pid" open="(" separator="," close=")">
|
||||
#{pid}
|
||||
</foreach>
|
||||
GROUP BY s.project_id
|
||||
</select>
|
||||
|
||||
|
|
@ -221,14 +219,15 @@
|
|||
<select id="selectSurveyAttachStatByProjectIds"
|
||||
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,
|
||||
MAX(CASE WHEN sa.attach_type_code = 'PRACTICE_NOTIFICATION' THEN sa.file_url END) AS notification_file_url
|
||||
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,
|
||||
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
|
||||
<foreach collection="projectIds" item="pid" open="(" separator="," close=")">
|
||||
#{pid}
|
||||
</foreach>
|
||||
<foreach collection="projectIds" item="pid" open="(" separator="," close=")">
|
||||
#{pid}
|
||||
</foreach>
|
||||
GROUP BY sa.project_id
|
||||
</select>
|
||||
|
||||
|
|
@ -236,21 +235,21 @@
|
|||
<select id="selectRegulatorSurveyClockInList"
|
||||
resultType="org.qinan.safetyeval.client.co.regulator.RegulatorEvalSurveyClockInCO">
|
||||
SELECT
|
||||
s.id,
|
||||
op.user_name AS user_name,
|
||||
s.role,
|
||||
s.face_state,
|
||||
s.gps_state,
|
||||
s.sing_in_time,
|
||||
s.sign_out_time,
|
||||
s.scene_url,
|
||||
s.signature_url
|
||||
s.id,
|
||||
op.user_name AS user_name,
|
||||
s.role,
|
||||
s.face_state,
|
||||
s.gps_state,
|
||||
s.sing_in_time,
|
||||
s.sign_out_time,
|
||||
s.scene_url,
|
||||
s.signature_url
|
||||
FROM eval_survey s
|
||||
LEFT JOIN org_personnel op
|
||||
ON op.id = s.personnel_id
|
||||
AND op.delete_enum = 'false'
|
||||
ON op.id = s.personnel_id
|
||||
AND op.delete_enum = 'false'
|
||||
WHERE s.delete_enum = 'false'
|
||||
AND s.project_id = #{projectId}
|
||||
AND s.project_id = #{projectId}
|
||||
ORDER BY s.id ASC
|
||||
</select>
|
||||
<select id="getByPersonnelId" resultType="java.lang.Long">
|
||||
|
|
@ -258,5 +257,4 @@
|
|||
from eval_project
|
||||
where JSON_CONTAINS(participants_json, JSON_OBJECT('id', #{currentUserId}));
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue