refactor(database): 优化隐藏评估记录查询逻辑

main
zhaokai 2026-04-14 09:02:20 +08:00
parent bb93a4eeba
commit 5bcc2b7518
1 changed files with 5 additions and 2 deletions

View File

@ -251,7 +251,10 @@
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,
COUNT(DISTINCT CASE
WHEN her.evaluation_result = 2 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
@ -305,7 +308,7 @@
COUNT(DISTINCT CASE WHEN her.evaluation_result = 2 THEN h.id END) AS totalScore,
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
FROM hidden h left join evaluation_corp ecorp on ecorp.corpinfo_id = h.corp_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