feat: (REQ-3300) 点击保存加上日志

This commit is contained in:
xudawei 2025-02-20 17:29:05 +08:00
parent 26e4e6c8bf
commit 192b15f11a
3 changed files with 38 additions and 2 deletions

View File

@ -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<ChangeRecord> {
*/
VisaDetailByIdResponse detailById(Long visaId);
/**
* 附件对象转换
*/
List<VisaDetailByIdResponse.VisaUploadFile> buildAttachUploadFileByRelation(List<ChangeRecordRelation> attachList);
/**
* 构建上传文件对象集合
*/
List<VisaDetailByIdResponse.VisaUploadFile> buildAttachUploadFile(Long visaId);
/**
* 创建变更签证
*

View File

@ -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<VisaDetailByIdResponse.VisaUploadFile> oldUploadFiles = this.changeRecordService.buildAttachUploadFileByRelation(oldContext.getRelationList());
List<VisaDetailByIdResponse.VisaUploadFile> 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)

View File

@ -486,11 +486,20 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
/**
* 构建上传文件对象集合
*/
private List<VisaDetailByIdResponse.VisaUploadFile> buildAttachUploadFile(Long visaId) {
@Override
public List<VisaDetailByIdResponse.VisaUploadFile> buildAttachUploadFile(Long visaId) {
if (Objects.isNull(visaId)) {
return Lists.newArrayList();
}
List<ChangeRecordRelation> attachList = changeRecordRelationService.findByVisaAndVarName(visaId, VisaRelationFieldEnum.ATTACHMENT.name());
return this.buildAttachUploadFileByRelation(attachList);
}
/**
* 附件对象转换
*/
@Override
public List<VisaDetailByIdResponse.VisaUploadFile> buildAttachUploadFileByRelation(List<ChangeRecordRelation> attachList) {
if (CollectionUtils.isEmpty(attachList)) {
return Lists.newArrayList();
}