dev
luotaiqian 2026-07-23 15:23:42 +08:00
parent e6542e7c5f
commit b124a86f85
3 changed files with 69 additions and 0 deletions

View File

@ -98,6 +98,7 @@ public class EvalInternalReviewExecutor implements EvalInternalReviewApi {
throw new BizException(ErrorCode.EVAL_PROJECT_ARCHIVED); throw new BizException(ErrorCode.EVAL_PROJECT_ARCHIVED);
} }
// 修改数据是否存在
EvalInternalReviewEntity entity = evalInternalReviewConvertor.applyConfirmCmd(cmd); EvalInternalReviewEntity entity = evalInternalReviewConvertor.applyConfirmCmd(cmd);
EvalInternalReviewDO evalInternalReviewDO = null; EvalInternalReviewDO evalInternalReviewDO = null;
if (cmd.getId() != null) { if (cmd.getId() != null) {
@ -108,6 +109,7 @@ public class EvalInternalReviewExecutor implements EvalInternalReviewApi {
} }
} }
// 是否签字完成
if (cmd.getResultCode().equals(EvalReviewEnum.PASSED.getCode())) { if (cmd.getResultCode().equals(EvalReviewEnum.PASSED.getCode())) {
if (evalInternalReviewDO == null) { if (evalInternalReviewDO == null) {
throw new BizException(ASSIGN_SIGN_TASK); throw new BizException(ASSIGN_SIGN_TASK);
@ -142,6 +144,31 @@ public class EvalInternalReviewExecutor implements EvalInternalReviewApi {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public SingleResponse<Void> assign(EvalInternalReviewAssignCmd cmd) { public SingleResponse<Void> assign(EvalInternalReviewAssignCmd cmd) {
Long projectId = cmd.getProjectId();
EvalProjectEntity project = evalProjectNodeSupport.requireProject(projectId);
// 判断项目是否归档
if (project.getArchiveFlag() != null && project.getArchiveFlag() == 1) {
throw new BizException(ErrorCode.EVAL_PROJECT_ARCHIVED);
}
EvalInternalReviewEntity entity = evalInternalReviewGateway.getByProjectId(projectId, project.getOrgId());
if (entity == null) {
// 没有数据则新增,并下发签字任务
entity = new EvalInternalReviewEntity();
entity.setOrgId(project.getOrgId());
entity.setProjectId(projectId);
entity.setStatusCode(1);
entity.setReviewerSignatureTaskStatus(SignatureTaskStatusEnum.DISPATCHED.getCode());
evalInternalReviewGateway.save(entity);
} else {
// 已存在数据,若已下发则提示不要重复下发
if (SignatureTaskStatusEnum.DISPATCHED.getCode().equals(entity.getReviewerSignatureTaskStatus())) {
throw new BizException(ErrorCode.SIGN_TASK_ALREADY_DISPATCHED);
}
entity.setReviewerSignatureTaskStatus(SignatureTaskStatusEnum.DISPATCHED.getCode());
evalInternalReviewGateway.modify(entity);
}
// todo 保存任务
return SingleResponse.success(); return SingleResponse.success();
} }

View File

@ -0,0 +1,41 @@
package org.qinan.safetyeval.domain.constant;
/**
*
*
* @author safety-eval
*/
public enum SignatureTaskStatusEnum {
DISPATCHED("dispatched", "下发"),
NON_DISPATCHED("non_dispatched", "未下发"),
COMPLETED("completed", "已完成");
private final String code;
private final String name;
SignatureTaskStatusEnum(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
public static SignatureTaskStatusEnum ofCode(String code) {
if (code == null) {
return null;
}
for (SignatureTaskStatusEnum item : values()) {
if (item.code.equals(code)) {
return item;
}
}
return null;
}
}

View File

@ -119,6 +119,7 @@ public enum ErrorCode {
*/ */
ASSIGN_SIGN_TASK("04-02-001", "请先下发签字任务"), ASSIGN_SIGN_TASK("04-02-001", "请先下发签字任务"),
SIGN_TASK_NOT_COMPLETE("04-02-002", "签字任务未完成"), SIGN_TASK_NOT_COMPLETE("04-02-002", "签字任务未完成"),
SIGN_TASK_ALREADY_DISPATCHED("04-02-003", "签字任务已下发,请勿重复下发"),
// gbs // gbs
GBS_USER_ERROR("04-01-001", "gbs用户未登录"), GBS_USER_ERROR("04-01-001", "gbs用户未登录"),