luotaiqian 2026-07-24 15:55:13 +08:00
parent 5e29452c4d
commit fe13c0d57a
4 changed files with 17 additions and 43 deletions

View File

@ -1,7 +1,6 @@
package org.qinan.safetyeval.app.executor.institution;
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.EvalNodeCoConverter;
import org.qinan.safetyeval.app.executor.institution.support.EvalProjectNodeSupport;
@ -21,11 +20,10 @@ import org.qinan.safetyeval.domain.constant.*;
import org.qinan.safetyeval.domain.entity.EvalInternalReviewEntity;
import org.qinan.safetyeval.domain.entity.EvalProjectEntity;
import org.qinan.safetyeval.domain.entity.EvalProjectMemberEntity;
import org.qinan.safetyeval.domain.entity.EvalSignTaskEntity;
import org.qinan.safetyeval.domain.exception.BizException;
import org.qinan.safetyeval.domain.exception.ErrorCode;
import org.qinan.safetyeval.domain.gateway.EvalInternalReviewGateway;
import org.qinan.safetyeval.domain.gateway.EvalSignTaskGateway;
import org.qinan.safetyeval.domain.gateway.SafetyMessageGateway;
import org.qinan.safetyeval.domain.item.gateway.EvalReviewItemGateway;
import org.qinan.safetyeval.domain.item.model.EvalReviewItemE;
import org.qinan.safetyeval.domain.service.ProjectStageSyncService;
@ -74,7 +72,7 @@ public class EvalInternalReviewExecutor implements EvalInternalReviewApi {
@Resource
private EvalProjectMemberDoConvertor evalProjectMemberDoConvertor;
@Resource
private EvalSignTaskGateway evalSignTaskGateway;
private SafetyMessageGateway safetyMessageGateway;
@Resource
private EvalSignTaskMapper evalSignTaskMapper;
@ -180,6 +178,9 @@ public class EvalInternalReviewExecutor implements EvalInternalReviewApi {
// 保存签字任务到 eval_sign_task
upsertSignTask(entity.getId(), projectId, project.getOrgId(),
ProjectStageEnum.INTERNAL_REVIEW, cmd.getSignTaskPersonCmd());
safetyMessageGateway.saveSignMsg(ProjectStageEnum.INTERNAL_REVIEW.getMsg()
, ProjectStageEnum.INTERNAL_REVIEW.getVal(), String.valueOf(projectId)
, String.valueOf(cmd.getSignTaskPersonCmd().getSignerPersonnelId()));
return SingleResponse.success();
}

View File

@ -22,10 +22,7 @@ import org.qinan.safetyeval.domain.constant.*;
import org.qinan.safetyeval.domain.entity.*;
import org.qinan.safetyeval.domain.exception.BizException;
import org.qinan.safetyeval.domain.exception.ErrorCode;
import org.qinan.safetyeval.domain.gateway.EvalProcessControlGateway;
import org.qinan.safetyeval.domain.gateway.EvalReportDraftGateway;
import org.qinan.safetyeval.domain.gateway.EvalReportGateway;
import org.qinan.safetyeval.domain.gateway.EvalSignTaskGateway;
import org.qinan.safetyeval.domain.gateway.*;
import org.qinan.safetyeval.domain.item.gateway.EvalReviewItemGateway;
import org.qinan.safetyeval.domain.item.model.EvalReviewItemE;
import org.qinan.safetyeval.domain.query.EvalReportDraftQuery;
@ -110,6 +107,8 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
private EvalProjectDocMapper evalProjectDocMapper;
@Resource
private EvalSignTaskMapper evalSignTaskMapper;
@Resource
private SafetyMessageGateway safetyMessageGateway;
@Override
public SingleResponse<EvalProcessControlCO> getOrSave(EvalProcessControlSaveCmd cmd) {
@ -204,6 +203,9 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
// 保存签字任务到 eval_sign_task
upsertSignTask(entity.getId(), projectId, project.getOrgId(),
ProjectStageEnum.PROCESS_CONTROL, cmd.getSignTaskPersonCmd());
safetyMessageGateway.saveSignMsg(ProjectStageEnum.PROCESS_CONTROL.getMsg()
, ProjectStageEnum.PROCESS_CONTROL.getVal(), String.valueOf(projectId)
, String.valueOf(cmd.getSignTaskPersonCmd().getSignerPersonnelId()));
return SingleResponse.success();
}
@ -343,7 +345,6 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
upsertProjectWaring(project);
// 归档项目资料:将所有项目文件以 ARCHIVED 资料类型存入 eval_project_doc
upsertArchivedProjectDocs(projectId, project);
return SingleResponse.success(EvalNodeCoConverter.toProcessCO(entity));
}

View File

@ -23,6 +23,7 @@ import org.qinan.safetyeval.domain.entity.EvalTechReviewEntity;
import org.qinan.safetyeval.domain.exception.BizException;
import org.qinan.safetyeval.domain.exception.ErrorCode;
import org.qinan.safetyeval.domain.gateway.EvalTechReviewGateway;
import org.qinan.safetyeval.domain.gateway.SafetyMessageGateway;
import org.qinan.safetyeval.domain.item.gateway.EvalReviewItemGateway;
import org.qinan.safetyeval.domain.item.model.EvalReviewItemE;
import org.qinan.safetyeval.domain.service.ProjectStageSyncService;
@ -72,6 +73,8 @@ public class EvalTechReviewExecutor implements EvalTechReviewApi {
private EvalTechReviewMapper evalTechReviewMapper;
@Resource
private EvalSignTaskMapper evalSignTaskMapper;
@Resource
private SafetyMessageGateway safetyMessageGateway;
@Override
public SingleResponse<EvalTechReviewCO> getOrSave(EvalTechReviewSaveCmd cmd) {
@ -183,6 +186,9 @@ public class EvalTechReviewExecutor implements EvalTechReviewApi {
// 保存签字任务到 eval_sign_task
upsertSignTask(entity.getId(), projectId, project.getOrgId(),
ProjectStageEnum.TECHNICAL_REVIEW, cmd.getSignTaskPersonCmd());
safetyMessageGateway.saveSignMsg(ProjectStageEnum.TECHNICAL_REVIEW.getMsg()
, ProjectStageEnum.TECHNICAL_REVIEW.getVal(), String.valueOf(projectId)
, String.valueOf(cmd.getSignTaskPersonCmd().getSignerPersonnelId()));
return SingleResponse.success();
}

View File

@ -86,41 +86,7 @@ public class SafetyMessageGatewayImpl implements SafetyMessageGateway {
@Override
public void saveSpecSignMsg(String taskTitle, String nodeCode, String projectId, String signerPersonnelId) {
SafetyMessageEntity safetyMessageEntity = new SafetyMessageEntity();
safetyMessageEntity.setSendName(MsgConstant.MSG_TYPE_SYSTEM);
safetyMessageEntity.setSendId(MsgConstant.MSG_TYPE_SYSTEM_ID);
safetyMessageEntity.setSendType(NoticeTypeEnum.SIGN_TASK_NOTICE.getMsg());
Map<String, Object> params = new HashMap<>();
params.put(MsgConstant.MSG_CONTENT_KEY_TITLE, taskTitle);
Map<String, String> fillMap = new HashMap<>();
ProjectStageEnum projectStageEnum = ProjectStageEnum.fromNode(nodeCode);
if (projectStageEnum == null) {
throw new BizException(ErrorCode.EVAL_PROJECT_NODE_NOT_FOUND);
}
fillMap.put("fileName", projectStageEnum.getMsg());
fillMap.put("version", MsgConstant.SIGN_TASK_DEFAULT_VERSION);
if (projectStageEnum == ProjectStageEnum.RISK_ANALYSIS) {
fillMap.put("role", "");
} else {
// 查询角色
List<EvalProjectMemberDO> evalProjectMemberDOS = evalProjectMemberMapper.selectList(new LambdaQueryWrapper<EvalProjectMemberDO>()
.select(EvalProjectMemberDO::getRole)
.eq(EvalProjectMemberDO::getProjectId, projectId)
.eq(EvalProjectMemberDO::getPersonnelId, signerPersonnelId)
.last("limit 1"));
fillMap.put("role", ProjectStageEnum.fromVals(evalProjectMemberDOS.get(0).getRole()));
}
params.put(MsgConstant.MSG_CONTENT_KEY_CONTENT, NoticeTypeEnum.SIGN_TASK_NOTICE.fillTemplate(fillMap));
safetyMessageEntity.setSendContent(JSON.toJSONString(params));
safetyMessageEntity.setReceiveId(Long.valueOf(signerPersonnelId));
safetyMessageEntity.setSendState(MessageSendStateEnum.UNSENT.getCode());
safetyMessageEntity.setCreateTime(LocalDateTime.now());
save(safetyMessageEntity);
}
@Override