隐患考评调整
parent
822acaca7d
commit
571d04a1ad
|
|
@ -245,62 +245,76 @@
|
|||
|
||||
<select id="corpEvalStatisticsPage" resultType="com.zcloud.hidden.evaluation.persistence.dataobject.CorpEvalStatisticsDO">
|
||||
SELECT
|
||||
ci.id AS corpinfoId,
|
||||
ci.corp_name AS corpinfoName,
|
||||
COUNT(DISTINCT CASE WHEN her.evaluation_result != 1 THEN h.id END) AS completeEvaluationHiddenNum,
|
||||
COUNT(DISTINCT CASE WHEN her.id IS NULL OR her.evaluation_result = 1 THEN h.id END) AS waitEvaluationHiddenNum,
|
||||
COUNT(DISTINCT h.creator_id ) AS involveRewardPersonNum,
|
||||
COUNT(DISTINCT CASE WHEN her.exchange_flag = 1 THEN h.id END) AS exchangedHiddenNum,
|
||||
COUNT(DISTINCT CASE WHEN her.exchange_flag IS NOT NULL and her.evaluation_result=2 and her.exchange_flag = 0 THEN h.id END) AS totalExchangeHiddenNum,
|
||||
(SELECT GROUP_CONCAT(DISTINCT CONCAT(dep.name, '-', usr.name))
|
||||
FROM evaluation_config ec
|
||||
LEFT JOIN department dep ON ec.department_id = dep.id
|
||||
LEFT JOIN user usr ON ec.user_id = usr.id
|
||||
WHERE ec.corpinfo_id = ci.id
|
||||
AND ec.delete_enum = 'FALSE'
|
||||
AND ec.evaluation_type = 1) AS safeEvaluationMember,
|
||||
(SELECT GROUP_CONCAT(DISTINCT CONCAT(dep.name, '-', usr.name))
|
||||
FROM evaluation_config ec
|
||||
LEFT JOIN department dep ON ec.department_id = dep.id
|
||||
LEFT JOIN user usr ON ec.user_id = usr.id
|
||||
WHERE ec.corpinfo_id = ci.id
|
||||
AND ec.delete_enum = 'FALSE'
|
||||
AND ec.evaluation_type = 2) AS envEvaluationMember
|
||||
FROM hidden h
|
||||
LEFT JOIN corp_info ci ON h.corp_id = ci.id AND ci.delete_enum = 'FALSE'
|
||||
left join evaluation_corp ecorp ON h.corp_id = ecorp.corpinfo_id AND ecorp.delete_enum = 'FALSE'
|
||||
LEFT JOIN hidden_evaluation_record her ON h.hidden_id = her.hidden_id AND her.delete_enum = 'FALSE'
|
||||
LEFT JOIN evaluation_config ec ON h.corp_id = ec.corpinfo_id AND ec.delete_enum = 'FALSE'
|
||||
LEFT JOIN department configDept ON ec.department_id = configDept.id
|
||||
LEFT JOIN user configUser ON ec.user_id = configUser.id
|
||||
ci.id AS corpinfoId,
|
||||
ec.delete_enum,
|
||||
ci.corp_name AS corpinfoName,
|
||||
COUNT(DISTINCT CASE WHEN her.evaluation_result != 1 THEN h.id END) AS completeEvaluationHiddenNum,
|
||||
COUNT(DISTINCT CASE WHEN her.id IS NULL OR her.evaluation_result = 1 THEN h.id END) AS waitEvaluationHiddenNum,
|
||||
COUNT(DISTINCT CASE WHEN hu.corpinfo_id = ci.id THEN h.creator_id END) AS involveRewardPersonNum,
|
||||
COUNT(DISTINCT CASE WHEN her.exchange_flag = 1 AND hu.corpinfo_id = ci.id THEN h.id END) AS exchangedHiddenNum,
|
||||
COUNT(DISTINCT CASE WHEN her.exchange_flag IS NOT NULL AND her.evaluation_result = 2 AND her.exchange_flag = 0 AND hu.corpinfo_id = ci.id THEN h.id END) AS totalExchangeHiddenNum,
|
||||
(SELECT GROUP_CONCAT(DISTINCT CONCAT(dep.name, '-', usr.name))
|
||||
FROM evaluation_config ec
|
||||
LEFT JOIN department dep ON ec.department_id = dep.id
|
||||
LEFT JOIN user usr ON ec.user_id = usr.id
|
||||
WHERE ec.corpinfo_id = ci.id AND ec.delete_enum = 'FALSE' AND ec.evaluation_type = 1) AS safeEvaluationMember,
|
||||
(SELECT GROUP_CONCAT(DISTINCT CONCAT(dep.name, '-', usr.name))
|
||||
FROM evaluation_config ec
|
||||
LEFT JOIN department dep ON ec.department_id = dep.id
|
||||
LEFT JOIN user usr ON ec.user_id = usr.id
|
||||
WHERE ec.corpinfo_id = ci.id AND ec.delete_enum = 'FALSE' AND ec.evaluation_type = 2) AS envEvaluationMember
|
||||
FROM (
|
||||
-- 主数据源:配置企业 + type=2企业
|
||||
SELECT DISTINCT
|
||||
ecorp.corpinfo_id,
|
||||
ecorp.delete_enum
|
||||
FROM evaluation_corp ecorp
|
||||
WHERE ecorp.delete_enum = 'FALSE'
|
||||
|
||||
WHERE h.delete_enum = 'FALSE'
|
||||
AND h.state = 301
|
||||
AND (
|
||||
(h.source IN (4, 5) AND h.final_check = 1)
|
||||
OR h.source NOT IN (4, 5)
|
||||
)
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM evaluation_config ec2
|
||||
WHERE ec2.corpinfo_id = h.corp_id
|
||||
AND ec2.delete_enum = 'FALSE'
|
||||
AND (
|
||||
(ec2.evaluation_type = 1 AND h.hidden_type IN ('aqyh','rdbaqys','wzcz','wzzh','grfhyp','wdbaqzt','jxsb','hcl','dqsb','gsj','aqbhzz','ss','xf','tzsb','hjdbaqys','zmjdgyxbj','aqbzbs','gkkd','zykjxzzl','eltq','gldqx','wzdhzdlsbdw','wfacs','jypx','aqyh-qt'))
|
||||
OR
|
||||
(ec2.evaluation_type = 2 AND h.hidden_type IN ('wshb','hjwr','ws','dq','zs','gf','hjwsjlh','yqfk','wshb-qt'))
|
||||
)
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT
|
||||
ci.id AS corpinfo_id,
|
||||
'FALSE' AS delete_enum
|
||||
FROM corp_info ci
|
||||
WHERE ci.delete_enum = 'FALSE'
|
||||
AND ci.type = 2
|
||||
AND ci.use_flag = 1
|
||||
) ec
|
||||
LEFT JOIN corp_info ci ON ec.corpinfo_id = ci.id AND ci.delete_enum = 'FALSE'
|
||||
-- 关联考评配置表(用于筛选部门、考评人)
|
||||
LEFT JOIN evaluation_config ecConfig ON ec.corpinfo_id = ecConfig.corpinfo_id AND ecConfig.delete_enum = 'FALSE'
|
||||
LEFT JOIN department configDept ON ecConfig.department_id = configDept.id
|
||||
LEFT JOIN user configUser ON ecConfig.user_id = configUser.id
|
||||
-- 关联隐患数据
|
||||
LEFT JOIN hidden h
|
||||
ON h.corp_id = ec.corpinfo_id
|
||||
AND h.delete_enum = 'FALSE'
|
||||
AND h.state = 301
|
||||
AND ((h.source IN (4,5) AND h.final_check = 1) OR h.source NOT IN (4,5))
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM evaluation_config ec2
|
||||
WHERE ec2.corpinfo_id = h.corp_id AND ec2.delete_enum = 'FALSE'
|
||||
AND (
|
||||
(ec2.evaluation_type = 1 AND h.hidden_type IN ('aqyh','rdbaqys','wzcz','wzzh','grfhyp','wdbaqzt','jxsb','hcl','dqsb','gsj','aqbhzz','ss','xf','tzsb','hjdbaqys','zmjdgyxbj','aqbzbs','gkkd','zykjxzzl','eltq','gldqx','wzdhzdlsbdw','wfacs','jypx','aqyh-qt'))
|
||||
OR
|
||||
(ec2.evaluation_type = 2 AND h.hidden_type IN ('wshb','hjwr','ws','dq','zs','gf','hjwsjlh','yqfk','wshb-qt'))
|
||||
)
|
||||
)
|
||||
LEFT JOIN user hu ON h.creator_id = hu.id
|
||||
LEFT JOIN hidden_evaluation_record her
|
||||
ON h.hidden_id = her.hidden_id
|
||||
AND her.delete_enum = 'FALSE'
|
||||
WHERE ci.use_flag = 1
|
||||
<!-- 原有筛选条件:部门 + 考评人姓名 -->
|
||||
<if test="params.departmentId != null and params.departmentId != ''">
|
||||
AND configDept.id = #{params.departmentId}
|
||||
</if>
|
||||
|
||||
<if test="params.evaluationUserName != null and params.evaluationUserName != ''">
|
||||
AND configUser.name LIKE CONCAT('%', #{params.evaluationUserName}, '%')
|
||||
</if>
|
||||
|
||||
GROUP BY ci.id, ci.corp_name
|
||||
order by CASE WHEN ci.type = 2 THEN 0 ELSE 1 END,
|
||||
ci.corp_order ASC
|
||||
GROUP BY ci.id, ci.corp_name, ec.delete_enum
|
||||
ORDER BY CASE WHEN ci.type = 2 THEN 0 ELSE 1 END, ci.corp_order ASC
|
||||
</select>
|
||||
|
||||
<select id="userEvalStatisticsPage" resultType="com.zcloud.hidden.evaluation.persistence.dataobject.UserEvalStatisticsDO">
|
||||
|
|
@ -316,7 +330,7 @@
|
|||
COUNT(DISTINCT CASE WHEN her.exchange_flag = 1 THEN h.id END) AS exchangedScore,
|
||||
COUNT(DISTINCT CASE WHEN her.exchange_flag = 0 and her.evaluation_result=2 THEN h.id END) AS notExchangedScore
|
||||
FROM evaluation_corp ecorp left join hidden h on ecorp.corpinfo_id = h.corp_id
|
||||
LEFT JOIN user u ON h.creator_id = u.id
|
||||
inner JOIN user u ON h.creator_id = u.id and u.corpinfo_id= #{params.corpinfoId}
|
||||
LEFT JOIN department d ON u.department_id = d.id
|
||||
left join post p ON u.post_id = p.id
|
||||
left join corp_info ci ON h.corp_id = ci.id AND ci.delete_enum = 'FALSE'
|
||||
|
|
@ -437,10 +451,14 @@
|
|||
COUNT(DISTINCT CASE WHEN her.evaluation_result IN (2,3) THEN h.id END)
|
||||
) AS reviewHiddenCount,
|
||||
|
||||
COUNT(DISTINCT CASE WHEN her.exchange_flag = 1 THEN h.id END) AS exchangeScoreCount,
|
||||
COUNT(DISTINCT CASE WHEN her.evaluation_result = 2 AND her.exchange_flag = 0 THEN h.id END) AS unExchangeScoreCount
|
||||
|
||||
FROM evaluation_config ec
|
||||
COUNT(DISTINCT CASE
|
||||
WHEN her.exchange_flag = 1 AND u.corpinfo_id = ecorp.corpinfo_id
|
||||
THEN h.id END) AS exchangeScoreCount,
|
||||
COUNT(DISTINCT CASE
|
||||
WHEN her.evaluation_result = 2 AND her.exchange_flag = 0 AND u.corpinfo_id = ecorp.corpinfo_id
|
||||
THEN h.id END) AS unExchangeScoreCount
|
||||
FROM evaluation_corp ecorp
|
||||
LEFT JOIN evaluation_config ec on ecorp.corpinfo_id = ec.corpinfo_id AND ecorp.delete_enum = 'FALSE'
|
||||
LEFT JOIN corp_info ci
|
||||
ON ec.corpinfo_id = ci.id AND ci.delete_enum = 'FALSE'
|
||||
LEFT JOIN hidden h
|
||||
|
|
|
|||
Loading…
Reference in New Issue