feat(evaluation): 添加评审配置修改检查功能
- 在EvaluationConfigUpdateExe中注入HiddenEvaluationRecordRepository依赖 - 实现企业进行中评审检查逻辑,防止在有进行中评审时修改配置 - 添加evaluationResult字段到HiddenEvalCO和HiddenEvalDO数据对象 - 优化HiddenEvaluationRecordMapper.xml中的SQL查询逻辑 - 更新企业统计和用户统计数据查询的关联条件 - 实现checkDoingRecord方法检查企业是否存在进行中的评审记录main
parent
0a1c34f28d
commit
8a8f797e46
|
|
@ -14,6 +14,7 @@ import com.zcloud.hidden.evaluation.persistence.dataobject.EvaluationCorpDO;
|
|||
import com.zcloud.hidden.evaluation.persistence.repository.EvaluationConfigLogRepository;
|
||||
import com.zcloud.hidden.evaluation.persistence.repository.EvaluationConfigRepository;
|
||||
import com.zcloud.hidden.evaluation.persistence.repository.EvaluationCorpRepository;
|
||||
import com.zcloud.hidden.evaluation.persistence.repository.HiddenEvaluationRecordRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
@ -39,6 +40,7 @@ public class EvaluationConfigUpdateExe {
|
|||
private final EvaluationConfigLogRepository evaluationConfigLogRepository;
|
||||
private final EvaluationConfigLogGateway evaluationConfigLogGateway;
|
||||
private final EvaluationCorpRepository evaluationCorpRepository;
|
||||
private final HiddenEvaluationRecordRepository hiddenEvaluationRecordRepository;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(EvaluationConfigUpdateCmd evaluationConfigUpdateCmd) {
|
||||
|
|
@ -63,6 +65,11 @@ public class EvaluationConfigUpdateExe {
|
|||
if (CollUtil.isEmpty(updateCmdList)) {
|
||||
throw new BizException("更新列表不能为空");
|
||||
}
|
||||
//企业中存在进行中的评审,不允许进行修改
|
||||
Boolean b = hiddenEvaluationRecordRepository.checkDoingRecord(evaluationConfigBathUpdateCmd.getCorpinfoId());
|
||||
if( b){
|
||||
throw new BizException("企业中存在进行中的评审,不允许进行修改");
|
||||
}
|
||||
|
||||
for (EvaluationConfigUpdateCmd updateCmd : updateCmdList) {
|
||||
updateCmd.setCorpinfoId(evaluationConfigBathUpdateCmd.getCorpinfoId());
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ public class HiddenEvalCO implements Serializable {
|
|||
|
||||
@ApiModelProperty(value = "是否兑换:0-否,1-是")
|
||||
private String exchangeFlag;
|
||||
|
||||
@ApiModelProperty(value = "考评结果.1:考核未完成,2:考评合格,3:考核不合格")
|
||||
private String evaluationResult;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,6 +41,8 @@ public class HiddenEvalDO implements Serializable {
|
|||
|
||||
@ApiModelProperty(value = "是否兑换:0-否,1-是")
|
||||
private String exchangeFlag;
|
||||
@ApiModelProperty(value = "考评结果.1:考核未完成,2:考评合格,3:考核不合格")
|
||||
private String evaluationResult;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.jjb.saas.framework.repository.repo.BaseRepository;
|
|||
import com.zcloud.hidden.evaluation.domain.model.HiddenEvaluationRecordE;
|
||||
import com.zcloud.hidden.evaluation.persistence.dataobject.*;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -32,5 +33,7 @@ public interface HiddenEvaluationRecordRepository extends BaseRepository<HiddenE
|
|||
List<HiddenEvaluationRecordDO> findRecordsToExchange(Long userId);
|
||||
|
||||
PageResponse<CorpEvalDO> corpEvalPage(Map<String, Object> params);
|
||||
|
||||
Boolean checkDoingRecord(@NotNull(message = "企业id不能为空") Long corpinfoId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.jjb.saas.framework.repository.common.PageHelper;
|
|||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.zcloud.hidden.evaluation.domain.enums.EvaluationResultEnum;
|
||||
import com.zcloud.hidden.evaluation.domain.enums.MenuEnum;
|
||||
import com.zcloud.hidden.evaluation.domain.model.HiddenEvaluationRecordE;
|
||||
import com.zcloud.hidden.evaluation.persistence.dataobject.*;
|
||||
|
|
@ -113,5 +114,13 @@ public class HiddenEvaluationRecordRepositoryImpl extends BaseRepositoryImpl<Hid
|
|||
IPage<CorpEvalDO> result = hiddenEvaluationRecordMapper.corpEvalPage(iPage, params,menuPerms);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean checkDoingRecord(Long corpinfoId) {
|
||||
QueryWrapper<HiddenEvaluationRecordDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("corpinfo_id",corpinfoId);
|
||||
queryWrapper.eq("evaluation_result", EvaluationResultEnum.NOT_EVALUATED.getCode());
|
||||
return count(queryWrapper) > 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -252,8 +252,7 @@
|
|||
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.evaluation_result = 2 AND
|
||||
hu.corpinfo_id = ci.id
|
||||
WHEN her.evaluation_result = 2
|
||||
THEN h.id END) AS totalExchangeHiddenNum,
|
||||
(SELECT GROUP_CONCAT(DISTINCT CONCAT(dep.name, '-', usr.name))
|
||||
FROM evaluation_config ec
|
||||
|
|
@ -266,12 +265,9 @@
|
|||
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 corp_info ci
|
||||
LEFT JOIN hidden h
|
||||
ON ci.id = h.corp_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))
|
||||
LEFT JOIN user hu ON h.creator_id = hu.id
|
||||
LEFT JOIN user hu ON hu.corpinfo_id = ci.id
|
||||
LEFT JOIN hidden h ON hu.id = h.creator_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))
|
||||
LEFT JOIN hidden_evaluation_record her
|
||||
ON h.hidden_id = her.hidden_id AND her.delete_enum = 'FALSE'
|
||||
LEFT JOIN evaluation_config ecConfig
|
||||
|
|
@ -309,7 +305,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 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}
|
||||
inner JOIN user u ON h.creator_id = u.id
|
||||
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'
|
||||
|
|
@ -321,7 +317,7 @@
|
|||
OR h.source NOT IN (4,5)
|
||||
)
|
||||
<if test="params.corpinfoId != null">
|
||||
AND h.corp_id = #{params.corpinfoId}
|
||||
AND u.corpinfo_id= #{params.corpinfoId}
|
||||
</if>
|
||||
<if test="params.departmentId != null ">
|
||||
AND d.id = #{params.departmentId}
|
||||
|
|
@ -351,7 +347,8 @@
|
|||
h.state as state,
|
||||
GROUP_CONCAT(DISTINCT hiddenUser.name) AS checkUserName,
|
||||
COALESCE(GROUP_CONCAT(DISTINCT CONCAT(d.name, '-', u.name)), '') AS evaluationMembers,
|
||||
her.exchange_flag
|
||||
her.exchange_flag,
|
||||
her.evaluation_result
|
||||
from hidden_evaluation_record her
|
||||
left join hidden h on her.hidden_id = h.hidden_id and h.delete_enum = 'FALSE'
|
||||
left join hidden_evaluation_detail hd on her.hidden_evaluation_record_id = hd.hidden_evaluation_record_id
|
||||
|
|
|
|||
Loading…
Reference in New Issue