diff --git a/web-app/src/main/java/com/zcloud/hidden/evaluation/command/query/HiddenEvaluationRecordQueryExe.java b/web-app/src/main/java/com/zcloud/hidden/evaluation/command/query/HiddenEvaluationRecordQueryExe.java index a13415b..906c158 100644 --- a/web-app/src/main/java/com/zcloud/hidden/evaluation/command/query/HiddenEvaluationRecordQueryExe.java +++ b/web-app/src/main/java/com/zcloud/hidden/evaluation/command/query/HiddenEvaluationRecordQueryExe.java @@ -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,11 +69,19 @@ public class HiddenEvaluationRecordQueryExe { PageResponse pageResponse = hiddenEvaluationRecordRepository.hidddenPage(params); List examCenterCOS =hiddenEvaluationRecordCoConvertor.converHiddenStatisticDOsToCOs(pageResponse.getData()); - examCenterCOS.forEach(co ->{ - if (co.getCheckUserId() != null && co.getCheckUserId().contains(AuthContext.getUserId().toString())) { - co.setCurrentEvaluationFlag(true); - } - }); + //判断是企业的话,企业端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); + } + }); return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } diff --git a/web-infrastructure/src/main/resources/mapper/HiddenEvaluationRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/HiddenEvaluationRecordMapper.xml index 1047990..771de77 100644 --- a/web-infrastructure/src/main/resources/mapper/HiddenEvaluationRecordMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/HiddenEvaluationRecordMapper.xml @@ -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