diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java index cf46aa92..93630cde 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java @@ -19,6 +19,7 @@ import cn.axzo.nanopart.visa.api.response.VisaChangePageSearchResp; import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse; import cn.axzo.nanopart.visa.api.response.VisaSearchResp; import cn.axzo.nanopart.visa.server.domain.ChangeRecord; +import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -56,6 +57,16 @@ public interface ChangeRecordService extends IService { */ VisaDetailByIdResponse detailById(Long visaId); + /** + * 附件对象转换 + */ + List buildAttachUploadFileByRelation(List attachList); + + /** + * 构建上传文件对象集合 + */ + List buildAttachUploadFile(Long visaId); + /** * 创建变更签证 * diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java index 216a0e94..e089d529 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java @@ -2,6 +2,7 @@ package cn.axzo.nanopart.visa.server.service; import cn.axzo.nanopart.visa.api.enums.VisaButtonTypeEnum; import cn.axzo.nanopart.visa.api.enums.VisaConfirmBizTypeEnum; +import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum; import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum; import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest; import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse; @@ -86,7 +87,22 @@ public class VisaHelper { // 由[决策中|执行中] -> [审批中] 执行变更签证属性变更 if (Objects.nonNull(oldContext.getStatus()) && Objects.nonNull(newContext.getStatus()) && VisaStatusEnum.isEditForm(oldContext.getStatus()) - && newContext.getStatus().equals(VisaStatusEnum.APPROVING)) { + && VisaStatusEnum.isEditForm(newContext.getStatus())) { + + List oldUploadFiles = this.changeRecordService.buildAttachUploadFileByRelation(oldContext.getRelationList()); + List newUploadFiles = this.changeRecordService.buildAttachUploadFile(newContext.getChangeRecord().getId()); + + + changeRecordLogService.batchAddLog(newContext.getChangeRecord().getId(), VisaLogTypeEnum.EDIT_FORM, VisaLogParam.builder() + .personId(newContext.getPersonId()) + .ouId(newContext.getOuId()) + .workspaceId(newContext.getWorkspaceId()) + .newAmountChange(newContext.getChangeRecord().getAmountChange()) + .oldAmountChange(oldContext.getChangeRecord().getAmountChange()) + .uploadAttach(VisaLogParam.uploadAttachWithObject(newUploadFiles, oldUploadFiles)) + .deleteAttach(VisaLogParam.deleteAttachWithObject(oldUploadFiles, newUploadFiles)) + .build()); + logApiGateway.addLog(Constants.VISA_LOG_SNAPSHOT_SCENE , Constants.VISA_LOG_SNAPSHOT_LEVEL , Lists.newArrayList(Constants.VISA_LOG_SNAPSHOT_TAG_SNAPSHOT) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index fbbc1eeb..1ed0ccdc 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -486,11 +486,20 @@ public class ChangeRecordServiceImpl extends ServiceImpl buildAttachUploadFile(Long visaId) { + @Override + public List buildAttachUploadFile(Long visaId) { if (Objects.isNull(visaId)) { return Lists.newArrayList(); } List attachList = changeRecordRelationService.findByVisaAndVarName(visaId, VisaRelationFieldEnum.ATTACHMENT.name()); + return this.buildAttachUploadFileByRelation(attachList); + } + + /** + * 附件对象转换 + */ + @Override + public List buildAttachUploadFileByRelation(List attachList) { if (CollectionUtils.isEmpty(attachList)) { return Lists.newArrayList(); }