2、发起流程后,流程会进行到流程第一个流程节点,在我的场景中,任务是被分配给用户组的,也就是角色。如果是该角色的用户,都可以领取该任务并进行审核。因此首先需要获取到属于自己的任务列表,我是通过自己写sql来查询。这个可以查询到任务人是自己,同时属于自己角色的任务。
在项目flowable-ui-modeler-app中找到stencilset/stencilset_bpmn.json文件propertyPackages属性中增加扩展属性定义
id:自定义的属性id
type:指向自定义的类型
找到文件resources/static/editor-app/configuration/properties.js
在文件中追加自定义类型的注册信息
注意:此处的属性名称“flowable-mypropertytype”,是约定好的书写格式,是定义的propertyPackage的id加前缀flowable,不能随意修改,不然将无法找到相关的信息
readModeTemplateUrl:定义显示属性内容的模板
writeModeTemplateUrl:定义编辑属性内容的模板
flowable本身已经创建了许多类型的模板,可以参考**-template.html相关的文件
增加模板文件
mypropertytype-properties-display-template.html
mypropertytype-properties-write-template.html
增加js实现,创建文件properties-mypropertytype-properties-controller.js
结构可以参考其他相关属性实现,一般为**-properties-controller.js
在index.html引入扩展的属性
在用户任务节点中增加mypeopertypackage
有两种方式配置扩展属性
对应属性设置
对应属性设置
flowable 常用的有三种网关:并行网关,排他网关,包容网关
并行网关:所有网关后的活动都会同时启动,即使有条件也会忽略条件,汇聚时,所有完成的线路在此等候。直到所有的线路都执行完成,才继续向下执行
排他网关:按照输出流的顺序计算 ,第一个满足条件的活动会启动,其他的直接忽略,如果所有的条件都不满足,引擎会抛出异常。只有一个分支
包容网关:判断每一个条件,符合条件的活动启动,不符合不会启动。汇聚时,等待所有启动的线路全部完成,才会继续下一个节点
注:此处的启动,是指活动产生相应的活动实例
所有的分支活动都会启动,汇聚节点会启动多次。
例1:
不存在网关时,启动流程同时开启,A,B两个活动。 A提交产生C, B提交也会产生C。 同时会存在两个C ,提交一个C的时候,流程不会结束,另外一个C还可以继续提交,第二个C提交后,流程结束。
例:2:
流程同时产生A,B 两个活动,A提交了到达网关,等待B提交。B提交了才会到达C
总结:使用网关按照网关的规定执行,不使用网关,之前启动,即使同一个节点可能启动多次。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)