隐患考评调整

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

View File

@ -80,7 +80,6 @@
finduser.name AS findUserName, finduser.name AS findUserName,
h.hidden_find_time as hiddenFindTime, h.hidden_find_time as hiddenFindTime,
h.state as state, h.state as state,
GROUP_CONCAT(DISTINCT hiddenUser.id) AS checkUserId,
GROUP_CONCAT(DISTINCT hiddenUser.name) AS checkUserName, GROUP_CONCAT(DISTINCT hiddenUser.name) AS checkUserName,
COALESCE(GROUP_CONCAT(DISTINCT CONCAT(d.name, '-', u.name)), '') AS evaluationMembers, COALESCE(GROUP_CONCAT(DISTINCT CONCAT(d.name, '-', u.name)), '') AS evaluationMembers,
COALESCE( COALESCE(
@ -100,6 +99,20 @@
) )
), '' ), ''
) AS noEvaluationMembers, ) 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 MAX(her.evaluation_result) AS evaluationResult
FROM hidden h FROM hidden h
LEFT JOIN user finduser ON h.creator_id = finduser.id LEFT JOIN user finduser ON h.creator_id = finduser.id
@ -390,9 +403,7 @@
ci.id AS corpinfoId, ci.id AS corpinfoId,
ci.corp_name AS corpinfoName, ci.corp_name AS corpinfoName,
ec.evaluation_type AS evaluationType, ec.evaluation_type AS evaluationType,
-- 1. 发现隐患数
COUNT(DISTINCT h.id) AS findHiddenCount, COUNT(DISTINCT h.id) AS findHiddenCount,
-- 2. 已验收隐患数【你的条件】
COUNT(DISTINCT CASE COUNT(DISTINCT CASE
WHEN h.state = 301 WHEN h.state = 301
AND ( AND (
@ -400,11 +411,8 @@
OR h.source NOT IN (4,5) OR h.source NOT IN (4,5)
) THEN h.id END) AS checkHiddenCount, ) 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, 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 COUNT(DISTINCT CASE WHEN h.state = 301
AND ( AND (
@ -415,10 +423,7 @@
COUNT(DISTINCT CASE WHEN her.evaluation_result IN (2,3) THEN h.id END) COUNT(DISTINCT CASE WHEN her.evaluation_result IN (2,3) THEN h.id END)
) AS reviewHiddenCount, ) AS reviewHiddenCount,
-- 6. 已兑换积分 = exchange_flag=1 的记录数量(代表已兑换次数/积分)
COUNT(DISTINCT CASE WHEN her.exchange_flag = 1 THEN h.id END) AS exchangeScoreCount, 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 COUNT(DISTINCT CASE WHEN her.evaluation_result = 2 AND her.exchange_flag = 0 THEN h.id END) AS unExchangeScoreCount
FROM evaluation_config ec FROM evaluation_config ec