隐患考评调整

main
zhaokai 2026-03-31 16:11:09 +08:00
parent 897d49ad09
commit 751582636c
2 changed files with 29 additions and 14 deletions

View File

@ -11,6 +11,7 @@ import com.zcloud.hidden.evaluation.command.convertor.HiddenEvaluationRecordCoCo
import com.zcloud.hidden.evaluation.dto.*;
import com.zcloud.hidden.evaluation.dto.clientobject.*;
import com.zcloud.hidden.evaluation.persistence.dataobject.*;
import com.zcloud.hidden.evaluation.persistence.repository.CorpInfoRepository;
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationRecordRepository;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
@ -34,6 +35,7 @@ import java.util.Map;
public class HiddenEvaluationRecordQueryExe {
private final HiddenEvaluationRecordRepository hiddenEvaluationRecordRepository;
private final HiddenEvaluationRecordCoConvertor hiddenEvaluationRecordCoConvertor;
private final CorpInfoRepository corpInfoRepository;
/**
*
@ -67,8 +69,16 @@ public class HiddenEvaluationRecordQueryExe {
PageResponse<HiddenStatisticsDO> pageResponse = hiddenEvaluationRecordRepository.hidddenPage(params);
List<HiddenStatisticsCO> examCenterCOS =hiddenEvaluationRecordCoConvertor.converHiddenStatisticDOsToCOs(pageResponse.getData());
examCenterCOS.forEach(co ->{
if (co.getCheckUserId() != null && co.getCheckUserId().contains(AuthContext.getUserId().toString())) {
//判断是企业的话企业端CurrentEvaluationFlag如果Au
String checkKey;
if(corpInfoRepository.checkCorp()){
checkKey = AuthContext.getTenantId().toString();
}else{
checkKey = AuthContext.getTenantId() + "-" + AuthContext.getUserId();
}
examCenterCOS.forEach(co -> {
if (co.getCheckUserId() != null && co.getCheckUserId().contains(checkKey)) {
co.setCurrentEvaluationFlag(true);
}
});

View File

@ -80,7 +80,6 @@
finduser.name AS findUserName,
h.hidden_find_time as hiddenFindTime,
h.state as state,
GROUP_CONCAT(DISTINCT hiddenUser.id) AS checkUserId,
GROUP_CONCAT(DISTINCT hiddenUser.name) AS checkUserName,
COALESCE(GROUP_CONCAT(DISTINCT CONCAT(d.name, '-', u.name)), '') AS evaluationMembers,
COALESCE(
@ -100,6 +99,20 @@
)
), ''
) AS noEvaluationMembers,
COALESCE(
(SELECT GROUP_CONCAT(DISTINCT CONCAT(usr.corpinfo_id, '-', usr.id))
FROM evaluation_config ec
LEFT JOIN user usr ON ec.user_id = usr.id
WHERE ec.corpinfo_id = h.corp_id
AND ec.delete_enum = 'FALSE'
AND ec.evaluation_type = 1
AND usr.id NOT IN (SELECT DISTINCT hed2.evaluation_user_id
FROM hidden_evaluation_detail hed2
LEFT JOIN hidden_evaluation_record her2
ON her2.hidden_evaluation_record_id = hed2.hidden_evaluation_record_id
WHERE her2.hidden_id = h.hidden_id
AND hed2.evaluation_user_id IS NOT NULL)), ''
) AS checkUserId,
MAX(her.evaluation_result) AS evaluationResult
FROM hidden h
LEFT JOIN user finduser ON h.creator_id = finduser.id
@ -390,9 +403,7 @@
ci.id AS corpinfoId,
ci.corp_name AS corpinfoName,
ec.evaluation_type AS evaluationType,
-- 1. 发现隐患数
COUNT(DISTINCT h.id) AS findHiddenCount,
-- 2. 已验收隐患数【你的条件】
COUNT(DISTINCT CASE
WHEN h.state = 301
AND (
@ -400,11 +411,8 @@
OR h.source NOT IN (4,5)
) THEN h.id END) AS checkHiddenCount,
-- 3. 已评审合格数 = 评审合格2 + 已兑换exchange_flag=1
COUNT(DISTINCT CASE WHEN her.evaluation_result = 2 AND her.exchange_flag = 1 THEN h.id END) AS passHiddenCount,
-- 5. 待兑换隐患数 = 已验收 - 已评审
(
COUNT(DISTINCT CASE WHEN h.state = 301
AND (
@ -415,10 +423,7 @@
COUNT(DISTINCT CASE WHEN her.evaluation_result IN (2,3) THEN h.id END)
) AS reviewHiddenCount,
-- 6. 已兑换积分 = exchange_flag=1 的记录数量(代表已兑换次数/积分)
COUNT(DISTINCT CASE WHEN her.exchange_flag = 1 THEN h.id END) AS exchangeScoreCount,
-- 7. 待兑换积分 = 合格(2) + 未兑换(0)
COUNT(DISTINCT CASE WHEN her.evaluation_result = 2 AND her.exchange_flag = 0 THEN h.id END) AS unExchangeScoreCount
FROM evaluation_config ec