02Activity

每一个请假的成员都会产生一个流程实例的

 

 

 

流程变量

请假申请没有执行人,不能写固定的名字比如说张三,这样的话只能是张三一个人请假了

 

 

 

 

 

 

 

 

 

在act-ru-variable存在记录

 

 

还有act-hi-varinst表存在记录

 

 

 

0220

流程变量不是用来解决业务中的数据问题

Activity的表和系统设计的表是没有关联的,如果需要关联的话要通过业务逻辑建进行关联

 

 

 

 

 

把对象进行实例化存入到activity的表

 

 

获取对象变量

 

 

 

给任务赋值;任务的执行人,任务的执行人不是固定的,是一个变量来的

                                                                              

审批人不能定死,不然就只能由这一个人才能审批,如果这个人不在或者请假了

创建一个请假流程

Start和end为event组件,连接箭头是connect组件,申请请假这些是task组件

使用占位符为assignee赋值

 

 

例如申请请假为applicator,在main config里面设置

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二种方法,在进入该节点之后才能确定节点的执行者是谁,不推荐这种方法有存在弊端,原因是监听器是由activity框架来调用的,不能在spring里面配置

 

 


在任务节点有一个listener任务监听
在任务节点有一个listener任务监听

在任务节点有一个listener任务监听

创建一个listener的类

 

 

 

点击new按钮创建一个事件

 

 

点击select class按钮选择创建的class类

 

 

04 05

 

 

 

 

 

完成任务,有点复杂。会去调用这个监听器,给所在的任务赋值

 

 

 

 

 组任务;

 

 

设置执行人,暂时没有用变量

 

 

 

启动流程实例,但是在act-run-task表里面的assignee字段还是为null

 

 

但是在act-ru-identitylink表里面出现了工程师1,工程师2,工程师3而且出现了两次

 

 

 

 

 

0510

 

 

 

组成员认领任务,因为不能对任务进行固定的执行人,所以在同一个组内的成员都可以认领这个任务

 

 

在act-ru-task表就会存在记录了

 

 

 

完成任务,候选人就不会再act-ru-identitylink这个表存在记录了

 

 

上面的组候选成员是写死在属性里的,要实现动态配置成员,以后这些都是从数据库获取

不会直接写成张三和王五

 

 

 

 

 

在act-ru-identitylink表就会存在记录

 

 

 

添加组

Process.getidentityservice().deletegroup这行代码是删除组

 

 

在act-id-group表里面存在

 

 

0510

 

在组里面添加成员

 

 

在act-id-group里面就有组的id和名称

 

 

在act-id-membership表里面存在组员与groupid的关系

 

 

 

 

 

把一个组赋值给任务作为候选人,这个任务的执行人就可以从组的成员里面选,任何一个成员都可以是这个任务的执行人

 

 

可以通过这两种方法添加组任务

 

 

 

 

 

泳道就是同一个执行人可以执行多个任务,这多个任务就可以组成一个泳道

A就是一个泳道,他的执行人是aaa可以执行task1和task2多个任务,任务赋值泳道就可以了

 

 

 

容器组件

连线sequenceflow

 

 

 

 

 

 

To总经理审批这个箭头的属性设置${day>3},也就是请假的天数大于三天就需要总经理审批,否则部门经理审批就可以结束流程了

To结束箭头的属性就设置为${day> 1 && day<=3}就可以了

 

 

打回去的设置等于1就可以了${day==3}

 

 

 

部署流程,流程可以部署多次

 

 

启动流程实例,可以有多个每一个请假的人都有一个实例

 

 

完成任务

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这个day<3这种方式不太好,因为3是写死的要用变量的配置方法,${day>=person.day}

 

 

 

 

 

 

 

 

 

 

找出流程节点,这个节点要去的下一个节点,能够动态的知道这个节点要去哪

Activityimpl就是查询的那个节点

Transition就是流程的箭头sequenceflow

 

 

结果

 

 

 

一般的节点都需要有执行人审核之后才能完成,但是有些节点是不需要审核的

Receivetask是不需要审核的

 

 

 

部署流程

 

 

启动流程实例

 

 

Receivetask只在act-ru-execution表里面

 

 

传入流程实例id

 

 

posted @ 2018-11-23 15:18  wjj1013  阅读(284)  评论(0编辑  收藏  举报