dev
luotaiqian 2026-07-23 18:20:42 +08:00
parent 72f450a68b
commit 5748fc504a
13 changed files with 24 additions and 38 deletions

View File

@ -112,7 +112,7 @@ public class EvalInternalReviewExecutor implements EvalInternalReviewApi {
if (evalInternalReviewDO == null) { if (evalInternalReviewDO == null) {
throw new BizException(ASSIGN_SIGN_TASK); throw new BizException(ASSIGN_SIGN_TASK);
} }
if (StringUtils.isBlank(evalInternalReviewDO.getReviewerSignatureUrl())) { if (!SignatureTaskStatusEnum.COMPLETED.getCode().equals(evalInternalReviewDO.getReviewerSignatureTaskStatus())) {
throw new BizException(SIGN_TASK_NOT_COMPLETE); throw new BizException(SIGN_TASK_NOT_COMPLETE);
} }
projectStageSyncService.onNodeCompleted(projectId, ProjectStageEnum.INTERNAL_REVIEW.getNode()); projectStageSyncService.onNodeCompleted(projectId, ProjectStageEnum.INTERNAL_REVIEW.getNode());

View File

@ -129,7 +129,7 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
EvalProcessControlEntity entity = evalProcessControlConvertor.applyConfirmCmd(cmd); EvalProcessControlEntity entity = evalProcessControlConvertor.applyConfirmCmd(cmd);
// 过程控制结论为通过时推进项目阶段 // 过程控制结论为通过时推进项目阶段
if (cmd.getResultCode() != null && cmd.getResultCode() == 1) { if (cmd.getResultCode().equals(EvalReviewEnum.PASSED.getCode())) {
projectStageSyncService.onNodeCompleted(projectId, ProjectStageEnum.PROCESS_CONTROL.getNode()); projectStageSyncService.onNodeCompleted(projectId, ProjectStageEnum.PROCESS_CONTROL.getNode());
} }

View File

@ -1,7 +1,6 @@
package org.qinan.safetyeval.app.executor.institution; package org.qinan.safetyeval.app.executor.institution;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.lang3.StringUtils;
import org.qinan.safetyeval.app.executor.institution.support.EvalCmdCopy; import org.qinan.safetyeval.app.executor.institution.support.EvalCmdCopy;
import org.qinan.safetyeval.app.executor.institution.support.EvalNodeCoConverter; import org.qinan.safetyeval.app.executor.institution.support.EvalNodeCoConverter;
import org.qinan.safetyeval.app.executor.institution.support.EvalProjectNodeSupport; import org.qinan.safetyeval.app.executor.institution.support.EvalProjectNodeSupport;
@ -111,9 +110,7 @@ public class EvalTechReviewExecutor implements EvalTechReviewApi {
} }
EvalTechReviewEntity entity = evalTechReviewConvertor.applyConfirmCmd(cmd); EvalTechReviewEntity entity = evalTechReviewConvertor.applyConfirmCmd(cmd);
EvalTechReviewDO evalTechReviewDO = evalTechReviewMapper.selectOne(new LambdaQueryWrapper<EvalTechReviewDO>() EvalTechReviewDO evalTechReviewDO = evalTechReviewMapper.selectOne(new LambdaQueryWrapper<EvalTechReviewDO>().eq(EvalTechReviewDO::getProjectId, cmd.getProjectId()).select(EvalTechReviewDO::getId, EvalTechReviewDO::getReviewerSignatureUrl));
.eq(EvalTechReviewDO::getProjectId, cmd.getProjectId())
.select(EvalTechReviewDO::getId, EvalTechReviewDO::getReviewerSignatureUrl));
if (cmd.getId() != null && evalTechReviewDO == null) { if (cmd.getId() != null && evalTechReviewDO == null) {
throw new BizException(ErrorCode.EVAL_TECH_REVIEW_NOT_FOUND); throw new BizException(ErrorCode.EVAL_TECH_REVIEW_NOT_FOUND);
} }
@ -123,7 +120,7 @@ public class EvalTechReviewExecutor implements EvalTechReviewApi {
if (evalTechReviewDO == null) { if (evalTechReviewDO == null) {
throw new BizException(ASSIGN_SIGN_TASK); throw new BizException(ASSIGN_SIGN_TASK);
} }
if (StringUtils.isBlank(evalTechReviewDO.getReviewerSignatureUrl())) { if (!SignatureTaskStatusEnum.COMPLETED.getCode().equals(evalTechReviewDO.getReviewerSignatureTaskStatus())) {
throw new BizException(SIGN_TASK_NOT_COMPLETE); throw new BizException(SIGN_TASK_NOT_COMPLETE);
} }
projectStageSyncService.onNodeCompleted(projectId, ProjectStageEnum.TECHNICAL_REVIEW.getNode()); projectStageSyncService.onNodeCompleted(projectId, ProjectStageEnum.TECHNICAL_REVIEW.getNode());
@ -185,14 +182,7 @@ public class EvalTechReviewExecutor implements EvalTechReviewApi {
@Override @Override
public SingleResponse<EvalTechReviewDetailCO> getDetailByProject(Long projectId) { public SingleResponse<EvalTechReviewDetailCO> getDetailByProject(Long projectId) {
// 1. 查询项目成员中的技审人信息role包含TECHNICAL_LEAD // 1. 查询项目成员中的技审人信息role包含TECHNICAL_LEAD
List<EvalProjectMemberEntity> members = evalProjectMemberMapper.selectList( List<EvalProjectMemberEntity> members = evalProjectMemberMapper.selectList(new LambdaQueryWrapper<EvalProjectMemberDO>().eq(EvalProjectMemberDO::getProjectId, projectId).eq(EvalProjectMemberDO::getDeleteEnum, BooleanQAEnum.FALSE.getValue()).like(EvalProjectMemberDO::getRole, ProjectRoleEnum.TECHNICAL_LEAD.getVal())).stream().map(evalProjectMemberDoConvertor::convertDoToE).collect(Collectors.toList());
new LambdaQueryWrapper<EvalProjectMemberDO>()
.eq(EvalProjectMemberDO::getProjectId, projectId)
.eq(EvalProjectMemberDO::getDeleteEnum, BooleanQAEnum.FALSE.getValue())
.like(EvalProjectMemberDO::getRole, ProjectRoleEnum.TECHNICAL_LEAD.getVal()))
.stream()
.map(evalProjectMemberDoConvertor::convertDoToE)
.collect(Collectors.toList());
// 2. 查询技审记录,未查询到则技审记录字段为空 // 2. 查询技审记录,未查询到则技审记录字段为空
EvalTechReviewEntity entity = evalTechReviewGateway.getByProjectId(projectId, null); EvalTechReviewEntity entity = evalTechReviewGateway.getByProjectId(projectId, null);
@ -201,21 +191,17 @@ public class EvalTechReviewExecutor implements EvalTechReviewApi {
if (entity != null) { if (entity != null) {
detailCO.setTechReview(evalTechReviewConvertor.toTechCO(entity)); detailCO.setTechReview(evalTechReviewConvertor.toTechCO(entity));
// 3. 通过技审记录id查询审核项列表 // 3. 通过技审记录id查询审核项列表
detailCO.setReviewItems(evalReviewItemQueryService.listByBizIdAndBizType( detailCO.setReviewItems(evalReviewItemQueryService.listByBizIdAndBizType(entity.getId(), ReviewDimensionEnum.TypeEnum.EVAL_TECH_REVIEW.getCode()));
entity.getId(), ReviewDimensionEnum.TypeEnum.EVAL_TECH_REVIEW.getCode()));
} else { } else {
// 未查询到技审记录,按审核维度枚举构建默认审核项 // 未查询到技审记录,按审核维度枚举构建默认审核项
detailCO.setReviewItems(ReviewDimensionEnum.getListByType(ReviewDimensionEnum.TypeEnum.EVAL_TECH_REVIEW) detailCO.setReviewItems(ReviewDimensionEnum.getListByType(ReviewDimensionEnum.TypeEnum.EVAL_TECH_REVIEW).stream().map(dimension -> {
.stream() EvalReviewItemCo item = new EvalReviewItemCo();
.map(dimension -> { item.setBizType(ReviewDimensionEnum.TypeEnum.EVAL_TECH_REVIEW.getCode());
EvalReviewItemCo item = new EvalReviewItemCo(); item.setReviewDimensionCode(dimension.getCode());
item.setBizType(ReviewDimensionEnum.TypeEnum.EVAL_TECH_REVIEW.getCode()); item.setReviewDimensionName(dimension.getLabel());
item.setReviewDimensionCode(dimension.getCode()); item.setReviewFocus(dimension.getReviewFocus());
item.setReviewDimensionName(dimension.getLabel()); return item;
item.setReviewFocus(dimension.getReviewFocus()); }).collect(Collectors.toList()));
return item;
})
.collect(Collectors.toList()));
} }
return SingleResponse.success(detailCO); return SingleResponse.success(detailCO);
} }

View File

@ -155,7 +155,7 @@ public class EvalProcessControlCO {
@ApiModelProperty(value = "审核签字任务状态 dispatched 下发non_dispatched 未下发 , completed 已完成", example = "non_dispatched") @ApiModelProperty(value = "审核签字任务状态 dispatched 下发non_dispatched 未下发 , completed 已完成", example = "non_dispatched")
private String reviewerSignatureTaskStatus; private String reviewerSignatureTaskStatus;
@ApiModelProperty(value = "过程控制结论编码1通过 2退回", example = "1") @ApiModelProperty(value = "过程控制结论编码1通过 2退回", example = "1")
private Integer resultCode; private String resultCode;
@ApiModelProperty(value = "过程控制结论名称:通过/退回", example = "通过") @ApiModelProperty(value = "过程控制结论名称:通过/退回", example = "通过")
private String resultName; private String resultName;
private String opinionContent; private String opinionContent;

View File

@ -155,7 +155,7 @@ public class EvalTechReviewCO {
@ApiModelProperty(value = "审核签字任务状态 dispatched 下发non_dispatched 未下发completed 已完成", example = "non_dispatched") @ApiModelProperty(value = "审核签字任务状态 dispatched 下发non_dispatched 未下发completed 已完成", example = "non_dispatched")
private String reviewerSignatureTaskStatus; private String reviewerSignatureTaskStatus;
@ApiModelProperty(value = "审核结果编码1通过 2退回修改", example = "1") @ApiModelProperty(value = "审核结果编码1通过 2退回修改", example = "1")
private Integer resultCode; private String resultCode;
@ApiModelProperty(value = "审核结果名称:通过/退回修改", example = "通过") @ApiModelProperty(value = "审核结果名称:通过/退回修改", example = "通过")
private String resultName; private String resultName;
private String opinionContent; private String opinionContent;

View File

@ -26,7 +26,7 @@ public class EvalProcessControlConfirmCmd {
private String controllerName; private String controllerName;
@ApiModelProperty(value = "审核结果 passed 通过not_passed 未通过", example = "passed") @ApiModelProperty(value = "审核结果 passed 通过not_passed 未通过", example = "passed")
private Integer resultCode; private String resultCode;
@ApiModelProperty(value = "总体过程控制意见") @ApiModelProperty(value = "总体过程控制意见")
@Size(max = 2000) @Size(max = 2000)

View File

@ -145,7 +145,7 @@ public class EvalProcessControlSaveCmd {
@ApiModelProperty(value = "审核签字任务状态 dispatched 下发non_dispatched 未下发 , completed 已完成", example = "non_dispatched") @ApiModelProperty(value = "审核签字任务状态 dispatched 下发non_dispatched 未下发 , completed 已完成", example = "non_dispatched")
private String reviewerSignatureTaskStatus; private String reviewerSignatureTaskStatus;
@ApiModelProperty(value = "过程控制结论编码1通过 2退回", example = "1") @ApiModelProperty(value = "过程控制结论编码1通过 2退回", example = "1")
private Integer resultCode; private String resultCode;
@ApiModelProperty(value = "过程控制结论名称:通过/退回", example = "通过") @ApiModelProperty(value = "过程控制结论名称:通过/退回", example = "通过")
private String resultName; private String resultName;
private String opinionContent; private String opinionContent;

View File

@ -20,7 +20,7 @@ public class EvalTechReviewConfirmCmd {
private Long projectId; private Long projectId;
@ApiModelProperty(value = "审核结果 passed 通过not_passed 未通过", example = "1") @ApiModelProperty(value = "审核结果 passed 通过not_passed 未通过", example = "1")
private Integer resultCode; private String resultCode;
@ApiModelProperty(value = "总体审核意见") @ApiModelProperty(value = "总体审核意见")
@Size(max = 2000) @Size(max = 2000)

View File

@ -145,7 +145,7 @@ public class EvalTechReviewSaveCmd {
@ApiModelProperty(value = "审核签字任务状态 dispatched 下发non_dispatched 未下发completed 已完成", example = "non_dispatched") @ApiModelProperty(value = "审核签字任务状态 dispatched 下发non_dispatched 未下发completed 已完成", example = "non_dispatched")
private String reviewerSignatureTaskStatus; private String reviewerSignatureTaskStatus;
@ApiModelProperty(value = "审核结果编码1通过 2退回修改", example = "1") @ApiModelProperty(value = "审核结果编码1通过 2退回修改", example = "1")
private Integer resultCode; private String resultCode;
@ApiModelProperty(value = "审核结果名称:通过/退回修改", example = "通过") @ApiModelProperty(value = "审核结果名称:通过/退回修改", example = "通过")
private String resultName; private String resultName;
private String opinionContent; private String opinionContent;

View File

@ -17,7 +17,7 @@ public class EvalProcessControlEntity {
/** 审核签字任务状态 dispatched 下发non_dispatched 未下发 , completed 已完成 */ /** 审核签字任务状态 dispatched 下发non_dispatched 未下发 , completed 已完成 */
private String reviewerSignatureTaskStatus; private String reviewerSignatureTaskStatus;
private Integer precheckPassFlag; private Integer precheckPassFlag;
private Integer resultCode; private String resultCode;
private String resultName; private String resultName;
private String opinionContent; private String opinionContent;
private Integer archiveFlag; private Integer archiveFlag;

View File

@ -17,7 +17,7 @@ public class EvalTechReviewEntity {
private String reviewerSignatureUrl; private String reviewerSignatureUrl;
/** 审核签字任务状态 dispatched 下发non_dispatched 未下发completed 已完成 */ /** 审核签字任务状态 dispatched 下发non_dispatched 未下发completed 已完成 */
private String reviewerSignatureTaskStatus; private String reviewerSignatureTaskStatus;
private Integer resultCode; private String resultCode;
private String resultName; private String resultName;
private String opinionContent; private String opinionContent;
private LocalDateTime reviewTime; private LocalDateTime reviewTime;

View File

@ -20,7 +20,7 @@ public class EvalProcessControlDO {
/** 前7节点是否全部完成1是 2否示例2 */ /** 前7节点是否全部完成1是 2否示例2 */
private Integer precheckPassFlag; private Integer precheckPassFlag;
/** 过程控制结论编码1通过 2退回示例1 */ /** 过程控制结论编码1通过 2退回示例1 */
private Integer resultCode; private String resultCode;
/** 过程控制结论名称:通过/退回,示例:通过 */ /** 过程控制结论名称:通过/退回,示例:通过 */
private String resultName; private String resultName;
private String opinionContent; private String opinionContent;

View File

@ -19,7 +19,7 @@ public class EvalTechReviewDO {
/** 审核签字任务状态 dispatched 下发non_dispatched 未下发completed 已完成 */ /** 审核签字任务状态 dispatched 下发non_dispatched 未下发completed 已完成 */
private String reviewerSignatureTaskStatus; private String reviewerSignatureTaskStatus;
/** 审核结果编码1通过 2退回修改示例1 */ /** 审核结果编码1通过 2退回修改示例1 */
private Integer resultCode; private String resultCode;
/** 审核结果名称:通过/退回修改,示例:通过 */ /** 审核结果名称:通过/退回修改,示例:通过 */
private String resultName; private String resultName;
private String opinionContent; private String opinionContent;