参考:http://blog.youkuaiyun.com/qq_30739519/article/details/51248516
本文基于分享牛(http://blog.youkuaiyun.com/qq_30739519)的博文进行了完善,首先在此表示感谢!
修改内容主要涉及类如下:
Activiti源码:
1、org.activiti.engine.impl.persistence.entity.TaskEntity增加删除原因常量的定义
public static final String DELETE_REASON_REJECTED = "rejected";
2、org.activiti.engine.delegate.TaskListener增加事件名称常量的定义
String EVENTNAME_REJECT = "reject";
3、自定义cmd(基于分享牛博文完善,解决了对并行网关的处理)
package com.xszhao.activiti.cmd;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.activiti.engine.delegate.TaskListener;
import org.activiti.engine.impl.context.Context;
import org.activiti.engine.impl.interceptor.Command;
import org.activiti.engine.impl.interceptor.CommandContext;
import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
import org.activiti.engine.impl.persistence.entity.ExecutionEntityManager;
import org.acti

这篇博客详细介绍了如何在Activiti中实现流程的任意驳回功能。通过修改TaskEntity增加删除原因常量,TaskListener事件名称常量,自定义cmd以及测试流程,实现了在并行网关等节点的驳回操作,当任意任务被驳回时,流程将跳转回之前的节点。
最低0.47元/天 解锁文章
3693





