feat(REQ-3758) - 调整审批流程的日志处理
This commit is contained in:
parent
14b6cf0838
commit
6057dc323f
@ -3,6 +3,7 @@ package cn.axzo.nanopart.visa.api.request;
|
||||
import cn.axzo.framework.domain.ServiceException;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
||||
import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
@ -86,7 +87,7 @@ public class ChangeStatusRequest {
|
||||
*/
|
||||
private boolean editFormFlag = true;
|
||||
|
||||
|
||||
private VisaTypeEnum visaType;
|
||||
public void check() {
|
||||
if (Objects.nonNull(logType) && !VisaLogTypeEnum.isApproveNotAgree(logType)) {
|
||||
throw new ServiceException("不是审核不通过日志");
|
||||
|
||||
@ -7,6 +7,18 @@
|
||||
<version>${revision}</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>8</source>
|
||||
<target>8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>visa-server</artifactId>
|
||||
|
||||
@ -51,6 +51,7 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_BIZ_INFO_
|
||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_BIZ_INFO_INITIATOR_WORKSPACE_ID;
|
||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY;
|
||||
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.APPROVE_ABORT;
|
||||
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.APPROVE_COMPLETED;
|
||||
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.REJECT_APPROVE;
|
||||
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.REVERT_APPROVE;
|
||||
import static cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum.PROCESS_INSTANCE_OF_PAY;
|
||||
@ -127,8 +128,8 @@ public class ProcessInstanceOfVisaAllEventHandler extends BasicLogSupport implem
|
||||
log.info("send complete notice, onCompleted, processInstanceDTO: {}", JSON.toJSONString(dto));
|
||||
sendCompleteNotice(dto);
|
||||
log.info("send complete notice success");
|
||||
|
||||
updateChangeRecordApprovalStatus(dto, BpmnProcessInstanceResultEnum.APPROVED);
|
||||
BpmnProcessDefinitionVO processDefinition = workflowGateway.getActiveProcessDefinitionByKey(dto.getProcessDefinitionKey());
|
||||
updateChangeRecordApprovalStatus(dto, BpmnProcessInstanceResultEnum.APPROVED, processDefinition);
|
||||
|
||||
if (isPayConfirm(dto)) {
|
||||
changeRecordService.lambdaUpdate()
|
||||
@ -207,7 +208,7 @@ public class ProcessInstanceOfVisaAllEventHandler extends BasicLogSupport implem
|
||||
.build();
|
||||
eventProducer.send(VisaChangeLogPayload.form(log));
|
||||
|
||||
updateChangeRecordApprovalStatus(dto, BpmnProcessInstanceResultEnum.CANCELLED);
|
||||
updateChangeRecordApprovalStatus(dto, BpmnProcessInstanceResultEnum.CANCELLED, processDefinition);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -232,7 +233,7 @@ public class ProcessInstanceOfVisaAllEventHandler extends BasicLogSupport implem
|
||||
.build();
|
||||
eventProducer.send(VisaChangeLogPayload.form(log));
|
||||
|
||||
updateChangeRecordApprovalStatus(dto, BpmnProcessInstanceResultEnum.REJECTED);
|
||||
updateChangeRecordApprovalStatus(dto, BpmnProcessInstanceResultEnum.REJECTED, processDefinition);
|
||||
|
||||
}
|
||||
|
||||
@ -282,10 +283,10 @@ public class ProcessInstanceOfVisaAllEventHandler extends BasicLogSupport implem
|
||||
.build();
|
||||
eventProducer.send(VisaChangeLogPayload.form(log));
|
||||
|
||||
updateChangeRecordApprovalStatus(dto, BpmnProcessInstanceResultEnum.ABORTED);
|
||||
updateChangeRecordApprovalStatus(dto, BpmnProcessInstanceResultEnum.ABORTED, processDefinition);
|
||||
}
|
||||
|
||||
private void updateChangeRecordApprovalStatus(ProcessInstanceDTO dto, BpmnProcessInstanceResultEnum resultEnum) {
|
||||
private void updateChangeRecordApprovalStatus(ProcessInstanceDTO dto, BpmnProcessInstanceResultEnum resultEnum, BpmnProcessDefinitionVO processDefinition) {
|
||||
boolean isPayConfirm = isPayConfirm(dto);
|
||||
// 更新主表审批状态信息
|
||||
Long visaId = Long.valueOf(dto.getBusinessKey());
|
||||
@ -331,18 +332,31 @@ public class ProcessInstanceOfVisaAllEventHandler extends BasicLogSupport implem
|
||||
|
||||
ChangeRecord visa = changeRecordService.getById(visaId);
|
||||
BpmnTaskDelegateAssigner lastOperationAssigner = dto.getLastOperationAssigner();
|
||||
if (Objects.equals(resultEnum, BpmnProcessInstanceResultEnum.APPROVED) && isPayConfirm) {
|
||||
changeRecordService.changeStatus(ChangeStatusRequest.builder()
|
||||
.visaId(visaId)
|
||||
.personId(Long.valueOf(lastOperationAssigner.getPersonId()))
|
||||
.ouId(Long.valueOf(lastOperationAssigner.getOuId()))
|
||||
.workspaceId(Long.valueOf(lastOperationAssigner.getTenantId()))
|
||||
.updateStatus(VisaStatusEnum.COMPLETED)
|
||||
.editFormFlag(false)
|
||||
.build());
|
||||
if (Objects.equals(resultEnum, BpmnProcessInstanceResultEnum.APPROVED)) {
|
||||
if (isPayConfirm) {
|
||||
// 修改状态,并记录日志
|
||||
changeRecordService.changeStatus(ChangeStatusRequest.builder()
|
||||
.visaId(visaId)
|
||||
.personId(Long.valueOf(lastOperationAssigner.getPersonId()))
|
||||
.ouId(Long.valueOf(lastOperationAssigner.getOuId()))
|
||||
.workspaceId(Long.valueOf(lastOperationAssigner.getTenantId()))
|
||||
.updateStatus(VisaStatusEnum.COMPLETED)
|
||||
.visaType(PAY_CONFIRM)
|
||||
.editFormFlag(false)
|
||||
.build());
|
||||
|
||||
} else {
|
||||
ChangeRecordLog log = ChangeRecordLog.builder()
|
||||
.visaId(Long.valueOf(dto.getBusinessKey()))
|
||||
.action(dto.getType().getTag())
|
||||
.title(String.format(APPROVE_COMPLETED.getTitle(), processDefinition.getName()))
|
||||
.content(String.format(APPROVE_COMPLETED.getContent(), processDefinition.getName()))
|
||||
.build();
|
||||
eventProducer.send(VisaChangeLogPayload.form(log));
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (!isPayConfirm && !Objects.equals(resultEnum, BpmnProcessInstanceResultEnum.APPROVED)) {
|
||||
if (!isPayConfirm) {
|
||||
// 回退到待提报或决策中
|
||||
changeRecordService.changeStatus(ChangeStatusRequest.builder()
|
||||
.visaId(visaId)
|
||||
|
||||
@ -281,7 +281,9 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
.newAmountChange(request.getNewAmountChange())
|
||||
.oldAmountChange(request.getOldAmountChange())
|
||||
.uploadAttach(VisaLogParam.uploadAttachWithObject(request.getNewAttach(), request.getOldAttach()))
|
||||
.deleteAttach(VisaLogParam.deleteAttachWithObject(request.getOldAttach(), request.getNewAttach())).build());
|
||||
.deleteAttach(VisaLogParam.deleteAttachWithObject(request.getOldAttach(), request.getNewAttach()))
|
||||
.visaType(request.getVisaType())
|
||||
.build());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user