public class MyListener implements TaskListener, ExecutionListener {
@Override
public void notify(DelegateTask delegateTask) {
log.info("自定义任务监听器执行");
String eventName = delegateTask.getEventName();
switch (eventName){
case EVENTNAME_CREATE:
log.info("===create===");
create(delegateTask);
break;
case EVENTNAME_ASSIGNMENT:
log.info("===assignment===");
assigment(delegateTask);
break;
case EVENTNAME_COMPLETE:
log.info("===complete===");
complete(delegateTask);
break;
case EVENTNAME_DELETE:
log.info("===delete===");
delete(delegateTask);
break;
default:
break;
}
}
public void create(DelegateTask delegateTask){}
public void assigment(DelegateTask delegateTask){}
public void complete(DelegateTask delegateTask){
Integer operateFlag = (Integer)delegateTask.getVariableLocal("operateFlag");
log.info("operateFlag:{}",operateFlag);
Workflow workflow = new Workflow();
workflow.setInstanceId(delegateTask.getProcessInstanceId());
workflowMedia.setStatus(AuditStatus.Audit.getCode());
SpringUtils.getBean(IWorkflowService.class).updateWorkflow(workflowMedia);
}
}
public void delete(DelegateTask delegateTask){}
@Override
public void notify(DelegateExecution delegateExecution) {
log.info("自定义执行监听器执行");
String eventName = delegateExecution.getEventName();
switch (eventName) {
case EVENTNAME_START:
log.info("===start===");
start(delegateExecution);
break;
case EVENTNAME_END:
log.info("===end===");
end(delegateExecution);
break;
case EVENTNAME_TAKE:
log.info("===take===");
take(delegateExecution);
break;
default:
break;
}
}
private void start(DelegateExecution delegateExecution) {}
private void end(DelegateExecution delegateExecution) {}
private void take(DelegateExecution delegateExecution) {}
}