luotaiqian 2026-08-05 20:23:11 +08:00
parent 0c003d02c2
commit 50ee791408
2 changed files with 44 additions and 8 deletions

View File

@ -107,6 +107,8 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
private WpsDocQueryService wpsDocQueryService; private WpsDocQueryService wpsDocQueryService;
@Resource @Resource
private SafetyMessageGateway safetyMessageGateway; private SafetyMessageGateway safetyMessageGateway;
@Resource
private OrgPersonnelMapper orgPersonnelMapper;
@Override @Override
public SingleResponse<EvalProcessControlCO> getOrSave(EvalProcessControlSaveCmd cmd) { public SingleResponse<EvalProcessControlCO> getOrSave(EvalProcessControlSaveCmd cmd) {
@ -147,6 +149,8 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
throw new BizException(ErrorCode.EVAL_INTERNAL_REVIEW_NOT_FOUND); throw new BizException(ErrorCode.EVAL_INTERNAL_REVIEW_NOT_FOUND);
} }
entity.setControllerPersonnelId(cmd.getSignTaskPersonCmd().getSignerPersonnelId());
entity.setControllerName(cmd.getSignTaskPersonCmd().getSignerName());
if (evalProcessControlDO != null) { if (evalProcessControlDO != null) {
entity.setId(evalProcessControlDO.getId()); entity.setId(evalProcessControlDO.getId());
entity = evalProcessControlGateway.modify(entity); entity = evalProcessControlGateway.modify(entity);
@ -194,6 +198,7 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
throw new BizException(ErrorCode.UNKNOWN_ERROR.getCode(), "请先完成过程控制人签字"); throw new BizException(ErrorCode.UNKNOWN_ERROR.getCode(), "请先完成过程控制人签字");
} }
entity.setOrgHeadPersonnelId(cmd.getSignTaskPersonCmd().getSignerPersonnelId());
entity.setOrgHeadSignatureTaskStatus(SignatureTaskStatusEnum.DISPATCHED.getCode()); entity.setOrgHeadSignatureTaskStatus(SignatureTaskStatusEnum.DISPATCHED.getCode());
entity.setOpinionContent(cmd.getOpinionContent()); entity.setOpinionContent(cmd.getOpinionContent());
evalProcessControlGateway.modify(entity); evalProcessControlGateway.modify(entity);
@ -222,6 +227,23 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
evalSignTaskMapper.insert(task); evalSignTaskMapper.insert(task);
} }
/**
* id org_personnel id userName
*/
private SignTaskPersonCo buildSignTaskPerson(Long personnelId) {
SignTaskPersonCo co = new SignTaskPersonCo();
co.setSignerPersonnelId(personnelId);
if (personnelId != null) {
OrgPersonnelDO personnel = orgPersonnelMapper.selectOne(new LambdaQueryWrapper<OrgPersonnelDO>()
.select(OrgPersonnelDO::getId, OrgPersonnelDO::getUserName)
.eq(OrgPersonnelDO::getId, personnelId));
if (personnel != null) {
co.setSignerName(personnel.getUserName());
}
}
return co;
}
@Override @Override
public SingleResponse<EvalProcessControlCO> getByProject(String projectId) { public SingleResponse<EvalProcessControlCO> getByProject(String projectId) {
Long pid = Long.parseLong(projectId); Long pid = Long.parseLong(projectId);
@ -236,21 +258,29 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
@Override @Override
public SingleResponse<EvalProcessControlDetailCO> getDetailByProject(Long projectId) { public SingleResponse<EvalProcessControlDetailCO> getDetailByProject(Long projectId) {
// 1. 查询项目成员中的过程控制负责人信息role包含EVALUATION_AGENCY_HEAD或PROCESS_CONTROL_LEAD // 1. 查询项目成员中的过程控制负责人和机构负责人信息role包含PROCESS_CONTROL_LEAD或EVALUATION_AGENCY_HEAD
List<EvalProjectMemberEntity> members = evalProjectMemberMapper.selectList( List<EvalProjectMemberEntity> members = evalProjectMemberMapper.selectList(
new LambdaQueryWrapper<EvalProjectMemberDO>() new LambdaQueryWrapper<EvalProjectMemberDO>()
.eq(EvalProjectMemberDO::getProjectId, projectId) .eq(EvalProjectMemberDO::getProjectId, projectId)
.eq(EvalProjectMemberDO::getDeleteEnum, BooleanQAEnum.FALSE.getValue()) .eq(EvalProjectMemberDO::getDeleteEnum, BooleanQAEnum.FALSE.getValue())
.and(w -> w.like(EvalProjectMemberDO::getRole, ProjectRoleEnum.EVALUATION_AGENCY_HEAD.getVal()) .and(w -> w.like(EvalProjectMemberDO::getRole, ProjectRoleEnum.PROCESS_CONTROL_LEAD.getVal())
.or().like(EvalProjectMemberDO::getRole, ProjectRoleEnum.PROCESS_CONTROL_LEAD.getVal()))) .or().like(EvalProjectMemberDO::getRole, ProjectRoleEnum.EVALUATION_AGENCY_HEAD.getVal())))
.stream() .stream()
.map(evalProjectMemberDoConvertor::convertDoToE) .map(evalProjectMemberDoConvertor::convertDoToE)
.collect(Collectors.toList()); .collect(Collectors.toList());
// 按角色分别过滤
List<EvalProjectMemberEntity> controllers = members.stream()
.filter(m -> m.getRole() != null && m.getRole().contains(ProjectRoleEnum.PROCESS_CONTROL_LEAD.getVal()))
.collect(Collectors.toList());
List<EvalProjectMemberEntity> orgHeads = members.stream()
.filter(m -> m.getRole() != null && m.getRole().contains(ProjectRoleEnum.EVALUATION_AGENCY_HEAD.getVal()))
.collect(Collectors.toList());
// 2. 查询过程控制记录,未查询到则过程控制记录字段为空 // 2. 查询过程控制记录,未查询到则过程控制记录字段为空
EvalProcessControlEntity entity = evalProcessControlGateway.getByProjectId(projectId, null); EvalProcessControlEntity entity = evalProcessControlGateway.getByProjectId(projectId, null);
EvalProcessControlDetailCO detailCO = new EvalProcessControlDetailCO(); EvalProcessControlDetailCO detailCO = new EvalProcessControlDetailCO();
detailCO.setControllers(evalProcessControlConvertor.toMemberCOs(members)); detailCO.setControllers(evalProcessControlConvertor.toMemberCOs(controllers));
detailCO.setOrgHeads(evalProcessControlConvertor.toMemberCOs(orgHeads));
// 查询项目归档信息 // 查询项目归档信息
EvalProjectEntity project = evalProjectNodeSupport.requireProject(projectId); EvalProjectEntity project = evalProjectNodeSupport.requireProject(projectId);
@ -263,9 +293,9 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
// 3. 通过过程控制记录id查询审核项列表 // 3. 通过过程控制记录id查询审核项列表
detailCO.setReviewItems(evalReviewItemQueryService.listByBizIdAndBizType( detailCO.setReviewItems(evalReviewItemQueryService.listByBizIdAndBizType(
entity.getId(), ReviewDimensionEnum.TypeEnum.EVAL_PROCESS_CONTROL.getCode())); entity.getId(), ReviewDimensionEnum.TypeEnum.EVAL_PROCESS_CONTROL.getCode()));
// 4. 查询签字任务人员 // 4. 设置过程控制负责人与机构负责人签字任务人员
SignTaskPersonCo personCo = evalSignTaskMapper.selectSignerPerson(entity.getId(), projectId); detailCO.setSignTaskPersonCo(buildSignTaskPerson(entity.getControllerPersonnelId()));
detailCO.setSignTaskPersonCo(personCo); detailCO.setOrgHeadSignTaskPersonCo(buildSignTaskPerson(entity.getOrgHeadPersonnelId()));
} else { } else {
// 未查询到过程控制记录,按审核维度枚举构建默认审核项 // 未查询到过程控制记录,按审核维度枚举构建默认审核项
detailCO.setReviewItems(ReviewDimensionEnum.getListByType(ReviewDimensionEnum.TypeEnum.EVAL_PROCESS_CONTROL) detailCO.setReviewItems(ReviewDimensionEnum.getListByType(ReviewDimensionEnum.TypeEnum.EVAL_PROCESS_CONTROL)

View File

@ -20,12 +20,18 @@ public class EvalProcessControlDetailCO {
@ApiModelProperty("过程控制负责人成员信息") @ApiModelProperty("过程控制负责人成员信息")
private List<EvalProjectMemberCO> controllers; private List<EvalProjectMemberCO> controllers;
@ApiModelProperty("机构负责人成员信息")
private List<EvalProjectMemberCO> orgHeads;
@ApiModelProperty("审核项列表") @ApiModelProperty("审核项列表")
private List<EvalReviewItemCo> reviewItems; private List<EvalReviewItemCo> reviewItems;
@ApiModelProperty("机构负责人签字任务人员") @ApiModelProperty("过程控制负责人签字任务人员")
private SignTaskPersonCo signTaskPersonCo; private SignTaskPersonCo signTaskPersonCo;
@ApiModelProperty("机构负责人签字任务人员")
private SignTaskPersonCo orgHeadSignTaskPersonCo;
@ApiModelProperty("项目归档移交人") @ApiModelProperty("项目归档移交人")
private String archiveTransferorName; private String archiveTransferorName;