update - 添加流程被终止后的事件广播和处理逻辑
This commit is contained in:
parent
12ea405ba2
commit
4f0538156e
@ -14,6 +14,7 @@ public enum ProcessInstanceEventEnum {
|
||||
PROCESS_INSTANCE_STARTED("process-instance", "process-instance-started", "流程实例已开始"),
|
||||
PROCESS_INSTANCE_CANCELLED("process-instance", "process-instance-cancelled", "流程实例已取消"),
|
||||
PROCESS_INSTANCE_REJECTED("process-instance", "process-instance-rejected", "流程实例已驳回"),
|
||||
PROCESS_INSTANCE_ABORTED("process-instance", "process-instance-aborted", "流程实例已终止"),
|
||||
PROCESS_INSTANCE_COMPLETED("process-instance", "process-instance-completed", "流程实例已结束"),
|
||||
;
|
||||
private final String module;
|
||||
|
||||
@ -52,6 +52,17 @@ public class MessagePushProcessEventListener implements BpmnProcessEventListener
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAborted(FlowableCancelledEvent event) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("MessagePushProcessEventListener#onAborted...{}", event.getProcessInstanceId());
|
||||
}
|
||||
pendingComplete(event);
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("MessagePushProcessEventListener#onAborted...end: {}", event.getProcessInstanceId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCompleted(FlowableEngineEntityEvent event) {
|
||||
if (log.isDebugEnabled()) {
|
||||
|
||||
@ -23,6 +23,7 @@ import org.springframework.stereotype.Component;
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_INITIATOR;
|
||||
import static cn.axzo.workflow.common.enums.ProcessInstanceEventEnum.PROCESS_INSTANCE_ABORTED;
|
||||
import static cn.axzo.workflow.common.enums.ProcessInstanceEventEnum.PROCESS_INSTANCE_CANCELLED;
|
||||
import static cn.axzo.workflow.common.enums.ProcessInstanceEventEnum.PROCESS_INSTANCE_COMPLETED;
|
||||
import static cn.axzo.workflow.common.enums.ProcessInstanceEventEnum.PROCESS_INSTANCE_CREATED;
|
||||
@ -158,7 +159,7 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene
|
||||
.setType(PROCESS_INSTANCE_REJECTED)
|
||||
.setCategory(deployment.getCategory())
|
||||
.setProcessInstanceId(event.getProcessInstanceId())
|
||||
.setCurrentElementKey("取消流程实例无节点信息")
|
||||
.setCurrentElementKey("驳回流程实例无节点信息")
|
||||
.setProcessDefinitionId(event.getProcessDefinitionId())
|
||||
.setProcessDefinitionKey(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionKey())
|
||||
.setProcessDefinitionVersion(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionVersion())
|
||||
@ -176,6 +177,37 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAborted(FlowableCancelledEvent event) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("MessagePushProcessEventListener#onAborted...{}", event.getProcessInstanceId());
|
||||
}
|
||||
Deployment deployment =
|
||||
repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getDeploymentId())
|
||||
.singleResult();
|
||||
Process mainProcess = repositoryService.getBpmnModel(event.getProcessDefinitionId()).getMainProcess();
|
||||
ProcessInstanceDTO dto = new ProcessInstanceDTO()
|
||||
.setType(PROCESS_INSTANCE_ABORTED)
|
||||
.setCategory(deployment.getCategory())
|
||||
.setProcessInstanceId(event.getProcessInstanceId())
|
||||
.setCurrentElementKey("终止流程实例无节点信息")
|
||||
.setProcessDefinitionId(event.getProcessDefinitionId())
|
||||
.setProcessDefinitionKey(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionKey())
|
||||
.setProcessDefinitionVersion(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionVersion())
|
||||
.setInitiator(((FlowableProcessCancelledEventImpl) event).getExecution().getVariable(INTERNAL_INITIATOR, BpmnTaskDelegateAssigner.class))
|
||||
.setVariables(((FlowableProcessCancelledEventImpl) event).getExecution().getVariables())
|
||||
.setStartTime(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getStartTime())
|
||||
.setTenantId(((FlowableProcessCancelledEventImpl) event).getExecution().getTenantId())
|
||||
.setBusinessKey(((FlowableProcessCancelledEventImpl) event).getExecution().getProcessInstanceBusinessKey())
|
||||
.setBusinessProcessInstanceName(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getName())
|
||||
.setCancelReason(String.valueOf(event.getCause()));
|
||||
BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf);
|
||||
sendMessageQueue(dto, PROCESS_INSTANCE_ABORTED);
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("MessagePushProcessEventListener#onAborted...end: {}", event.getProcessInstanceId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCompleted(FlowableEngineEntityEvent event) {
|
||||
if (log.isDebugEnabled()) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user