根据角色分配任务
如何得到角色,如何利用 流程定义文件动态传入角色的名称
如何在assignmenthandler中调用spring管理的业务逻辑对象
<task-node name="系统管理员审批">
<task name="系统管理员审批">
<assignment class="com.bjsxt.oa.manager.handler.RoleAssignmentHandler01">
<roleName>系统管理员</roleName> ---------注入到handler的成员变量中去,由jbpm注入
</assignment>
</task>
<transition name="结束流程" to="end1"></transition>
</task-node>
public class RoleAssignmentHandler01 implements AssignmentHandler {
/**
* 此值由JBPM负责注入,不用set方法
*/
private String roleName;=================
/**
* 此值由Spring负责注入
*/
private static UserManager userManager;=================
public void assign(Assignable assignable, ExecutionContext context) throws Exception {
//assignable 是TaskInstance的父类
if(roleName == null){
throw new SystemException("roleName变量不允许为空!");//如果在流程定义文件中没有定义roleName,抛出异常,无法指定由哪个角色来负责
}
List usernames = userManager.searchUsersOfRole(roleName);//查找指定角色的所有用户,可以交给spring管理的业务类来处理
String[] pooledActors = (String[])usernames.toArray(new String[usernames.size()]);
assignable.setPooledActors(pooledActors);//设置任务实例的组,只要在该组中的成员都可以查看处理,一个人处理了就可以往下提交
}
public void setUserManager(UserManager userManager) {
RoleAssignmentHandler01.userManager = userManager;
}
}
分享到:
相关推荐
jbpm教程、jbpm动态设置参与者、jbpm实例下载
jbpm4.4流程确定的情况下,有时候完成了一个步骤人数不确定,在任务发布的时候有领导确定参与完成的人员,动态设置参与人数
jBPM支持自适应和动态过程,需要灵活性来模拟复杂的现实生活中的情况,这些情况不能用刚性过程轻松描述。我们通过允许他们控制进程的哪些部分来执行,动态地偏离进程等,使控制回到终端用户。 jBPM也不仅仅是一个...
阿里巴巴的 x_jbpm 讲述了 动态表单的开发 还有一些相关表的设计
用jbpm做一个工作流系统,系统支持自定义工作流表单,同时表单要与流程定义关联,这是流程定义与动态表单的设计图
多MVC动态加载的机制实现 业务数据通用的增删改查 JBPM方面: 部署流程管理 流程挂接管理(配置此流程需要的特性,委托管理和自定义事件注入) 业务流程执行:流程的启动、任务的提交、回退、撤销、取回、处理...
1 章 helloworld..............................................2 1.1 下载开发套件.............................................2 1.2 安装流程设计器 .........................................7 1.3 jBPM版...
多MVC动态加载的机制实现 业务数据通用的增删改查 JBPM方面: 部署流程管理 流程挂接管理(配置此流程需要的特性,委托管理和自定义事件注入) 业务流程执行:流程的启动、任务的提交、回退、撤销、取回、处理...
采用纯JS且面向对象的编程方式(事件处理机制swing、extjs思想中毒很深)开发,动态生成div等HTML代码,利用外部样式表以实现多风格支持,根据窗口大小自适应宽高,以使编辑区域最大可视化,仿jBPM designer eclipse...
该课程是基于贝斯ERP系统中的一...鉴于JBPM5.4版本较新,而目前网上基本上没有对应的简单实例,更不要说负责案例及项目设计,所以北风网推出该系列教程结合多个实例的公文管理系统,并配合动态表单设计让学员事半功倍。
本应用主要用于演示JBPM工作流的使用,数据均存储在数据库中,包括两大模块:权限控制和流程控制。权限控制模块是为流程控制模块服务的,为了说明在实际应用中如何动态指定审批执行者。但实际上其代码量并不比工作流...
本应用主要用于演示JBPM工作流的使用,数据均存储在数据库中,包括两大模块:权限控制和流程控制。权限控制模块是为流程控制模块服务的,为了说明在实际应用中如何动态指定审批执行者。但实际上其代码量并不比工作流...
1 章 helloworld..............................................2 1.1 下载开发套件.............................................2 1.2 安装流程设计器 .........................................7 1.3 jBPM版...
1.了解工作流的相关概念;2.JBPM的插件安装与配置;3.创建与配置工作流;4.创建简单的工作流;5.创建动态请假工作流;6.发布工作流;7.启动工作流;...11.创建JBPM的各种接口实例实现动态设置actorId的值
介绍了国内目前的工作流领域特点,尤其对临时动态性需求(会签、撤销、任意回退等)的各种场景进行了分析,提出了基于jBPM4的解决思路及一种动态路由的方法,以解决临时回退的问题。
任意回退、会签(包括加、减签,补签)、撤销(又叫回退)、自由流(又叫动态路由)。此处之所以叫做灵活的临时动态性需求
无论数据库内原始数据是以何种样式的表结构存储,无论最终用户要求数据以何种表格样式显示,FineReport报表软件独创的多数据源关联查询、公式动态扩展计算等强大的功能,在无需改变表结构,无需改变用户的要求的基础...
* resourceName 可以通过 deploymentId 动态获得 RepositoryService repositoryService = processEngine.getRepositoryService(); ProcessDefinition processDefinition = repositoryService....
技术实现非常适合与研究GWT的人,有GWT的自定义控件、GWT与Spring集成、GWT与Hibernate集成、GWT与FCK集成、Spring与jbpm集成等,总之,技术很多,亮点很多,但恐怕没有深厚的技术功底不能理解...