archive file

dev-tmp1
luotaiqian 2026-08-25 15:04:25 +08:00
parent 4df914c040
commit 5ea2b16d36
1 changed files with 37 additions and 0 deletions

View File

@ -13,6 +13,8 @@ import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery;
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskSaveCmd;
import org.qinan.safetyeval.domain.constant.ArchiveTypeEnum;
import org.qinan.safetyeval.domain.constant.ProjectArchiveFileSourceEnum;
import org.qinan.safetyeval.domain.constant.ProjectRoleEnum;
import org.qinan.safetyeval.domain.constant.ProjectStageEnum;
import org.qinan.safetyeval.domain.constant.SignTaskStatusEnum;
@ -27,6 +29,9 @@ import org.qinan.safetyeval.domain.service.EvalSignTaskDomainService;
import org.qinan.safetyeval.domain.service.ProjectStageSyncService;
import org.qinan.safetyeval.infrastructure.dataobject.*;
import org.qinan.safetyeval.infrastructure.mapper.*;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectArchiveFileDO;
import org.qinan.safetyeval.infrastructure.persistence.mapper.EvalProjectArchiveFileMapper;
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
import org.qinan.safetyeval.infrastructure.support.InstitutionOrgSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -66,6 +71,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
@Autowired
private EvalProcessControlMapper evalProcessControlMapper;
@Autowired
private EvalProjectArchiveFileMapper evalProjectArchiveFileMapper;
@Autowired
private EvalProjectMemberMapper evalProjectMemberMapper;
@Autowired
private ProjectStageSyncService projectStageSyncService;
@ -174,6 +181,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
.eq(EvalInternalReviewDO::getProjectId, evalSignTaskDO.getProjectId())
.set(EvalInternalReviewDO::getReviewerSignatureUrl, cmd.getSignerUrl())
.set(EvalInternalReviewDO::getReviewerSignatureTaskStatus, SignatureTaskStatusEnum.COMPLETED.getCode()));
saveAutoArchiveFile(evalSignTaskDO, ArchiveTypeEnum.REVIEW_RECORD,
ProjectStageEnum.INTERNAL_REVIEW.getMsg(), cmd.getSignerUrl());
}
if (ProjectStageEnum.TECHNICAL_REVIEW.getVal().equals(evalSignTaskDO.getNodeCode())) {
evalTechReviewMapper.update(new LambdaUpdateWrapper<EvalTechReviewDO>()
@ -181,6 +190,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
.eq(EvalTechReviewDO::getProjectId, evalSignTaskDO.getProjectId())
.set(EvalTechReviewDO::getReviewerSignatureUrl, cmd.getSignerUrl())
.set(EvalTechReviewDO::getReviewerSignatureTaskStatus, SignatureTaskStatusEnum.COMPLETED.getCode()));
saveAutoArchiveFile(evalSignTaskDO, ArchiveTypeEnum.REVIEW_RECORD,
ProjectStageEnum.TECHNICAL_REVIEW.getMsg() , cmd.getSignerUrl());
}
if (ProjectStageEnum.PROCESS_CONTROL.getVal().equals(evalSignTaskDO.getNodeCode())) {
doProcessController(evalSignTaskDO, cmd);
@ -188,6 +199,28 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
return SingleResponse.success(true);
}
/**
*
*
* @param evalSignTaskDO
* @param archiveType ArchiveTypeEnum
* @param fileName
* @param fileUrl
*/
private void saveAutoArchiveFile(EvalSignTaskDO evalSignTaskDO, ArchiveTypeEnum archiveType, String fileName, String fileUrl) {
EvalProjectArchiveFileDO archiveFileDO = new EvalProjectArchiveFileDO();
archiveFileDO.setOrgId(evalSignTaskDO.getOrgId());
archiveFileDO.setProjectId(String.valueOf(evalSignTaskDO.getProjectId()));
archiveFileDO.setFileUrl(fileUrl);
archiveFileDO.setFileName(fileName);
archiveFileDO.setArchiveType(archiveType.getCode());
archiveFileDO.setBusinessNode(evalSignTaskDO.getNodeCode());
archiveFileDO.setRecordSource(ProjectArchiveFileSourceEnum.AUTO_PROCESS_RECORD.getCode());
archiveFileDO.setEnv(evalSignTaskDO.getEnv());
InsertFieldDefaults.apply(archiveFileDO);
evalProjectArchiveFileMapper.insert(archiveFileDO);
}
/**
* doProcessController
*
@ -208,6 +241,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
.set(EvalProcessControlDO::getReviewerSignatureUrl, cmd.getSignerUrl())
.set(EvalProcessControlDO::getControllerPersonnelSignTime, LocalDateTime.now())
.set(EvalProcessControlDO::getReviewerSignatureTaskStatus, SignatureTaskStatusEnum.COMPLETED.getCode()));
saveAutoArchiveFile(evalSignTaskDO, ArchiveTypeEnum.PROCESS_CONTROL,
ProjectStageEnum.PROCESS_CONTROL.getMsg() + "人签字", cmd.getSignerUrl());
}
if (evalProcessControlDO.getReviewerSignatureTaskStatus().equals(code)
&& !evalProcessControlDO.getOrgHeadSignatureTaskStatus().equals(code)) {
@ -217,6 +252,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
.set(EvalProcessControlDO::getOrgHeadSignatureUrl, cmd.getSignerUrl())
.set(EvalProcessControlDO::getControlTime, LocalDateTime.now())
.set(EvalProcessControlDO::getOrgHeadSignatureTaskStatus, SignatureTaskStatusEnum.COMPLETED.getCode()));
saveAutoArchiveFile(evalSignTaskDO, ArchiveTypeEnum.PROCESS_CONTROL,
ProjectStageEnum.ORG_HEAD_MSG + "签字", cmd.getSignerUrl());
projectStageSyncService.onNodeCompleted(evalSignTaskDO.getProjectId(), ProjectStageEnum.PROCESS_CONTROL.getNode());
}