activiti对于包括网关,多实例任务的实际需求与应用

在工作中遇到的一些工作流需求,记录下来,作为参考

  • 需求1:在各个节点上可以动态的添加表单属性
  • 解决方案:使用动态表单,有的属性需要从数据库中查询也没关系,在activiti modeler中统一定义为String类型,表单的显示可以从业务那里调过来
  • 需求2:一个节点上需要多个人审批,并且每个人之间不牵扯,可以同时审批
  • 解决方案:使用子流程任务,需要注意的是节点的定义,Assigneements为 assigneeElementvariablesassigneeCollection a s s i g n e e E l e m e n t v a r i a b l e s 为 a s s i g n e e , C o l l e c t i o n 为 {userService.getNet()}(该方法是在spring中注册的方法,可以获取都审核人列表,或者写死在图中也行),Completion condition为${nrOfCompletedInstances/nrOfInstances >= 1},表示该节点的通过条件是所有人都审核过。
  • 需求3:审核不同的表单内容的审核人看到的东西不一样,并且当表单中有选填项,申请人未填写,该审核节点不走
  • 解决方案:审核节点采用包括网关(包括网关可以是并行网关与排他网关的结合,各个节点并行,同时可以设置条件决定节点是否走),在审核节点前的flow中定义条件,注意假设条件为${net != null} 时,我们在动态表单中传的net的值也不能不传,可以为null

你可能感兴趣的:(技术之路)