摘要:企业业务系统集成了Activiti流程引擎后,如果流程引擎中的任务创建、审核完成、流程实例结束等动作发生时,需要通知到业务系统更新流程审核状态或业务单据状态。
这里涉及到对Activiti流程任务动作的监听,主要包含以下的动作类型:
任务创建;
任务被分配处理人;
任务完成;
流程实例完成。
本文的方案是在这几种类型的动作监听器中,根据不同的业务类型调用不同的业务系统接口完成数据状态更新同步。
1. 流程实例结束的监听器
java">/*** * 流程实例审核结束,则通知业务系统更新审核状态**/
@Component
@Order(1)
@Slf4j
public class ProcessCompletedNotificationHandler extends ProcessCompletedListener {private static final String[] BUSINESS_KEY = {"order"};private AbcProcessInstanceService abcProcessInstanceService;@Overridepublic void doHandle(ActivitiEvent activitiEvent) {ActivitiEntityEvent activitiEntityEvent = (ActivitiEntityEvent) activitiEvent;// 调用业务接口sendCompletedNotify((ProcessInstance) activitiEntityEvent.getEntity());}private void sendCom