Activiti中提供了多实例任务(for-each)将多实例应到到UserTask中可以实现会签功能。
一多实例用户任务的XML表示:
Xml代码
<userTask id="task" name="多实例任务">
<multiInstanceLoopCharacteristics isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 06}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
在查询流程实例时,通过 businessKey(业务标识 )关联查询业务系统的请假单表,查询出请假天
数等信息。
*** 作流程定义为挂起状态,该流程定义下边所有的流程实例全部暂停:
流程定义为挂起状态该流程定义将不允许启动新的流程实例,同时该流程定义下所有的流程实例将
全部挂起暂停执行。
*** 作流程实例对象,针对单个流程执行挂起 *** 作,某个流程实例挂起则此流程不再继续执行,完成
该流程实例的当前任务将报异常。
讲bpmn流程文件中节点的assignee 使用UEL表达式赋值( ${assignee0} )
任务监听器是发生对应的任务相关事件时执行自定义 java 逻辑 或表达式。
Create:任务创建后触发
Assignment:任务分配后触发
Delete:任务完成后触发
All:所有事件发生都触发
定义任务监听类,且类必须实现 orgactivitienginedelegateTaskListener 接口
在部门经理审核前设置流程变量,变量值为请假单信息(包括请假天数),部门经理审核后可以根据
流程变量的值决定流程走向。
通过流程实例 id 设置全局变量,该流程实例必须未执行完成。
任务办理时设置 local 流程变量,当前运行的流程实例只能在该任务结束前使用,任务结束该变量无
法在当前流程实例使用,可以通过查询历史任务查询。
注意:
任务 id 必须是当前待办任务 id,act_ru_task 中存在。
createTaskQuery()、首先是根据流程ID获取当前任务: ProcessDefinitionEntity def = (P,然后根据流程定义获得所有的节点list(); 2processInstanceId(procInstanceId)1、然后根据当前任务获取当前流程的流程定义: List tasks = taskService
以上就是关于怎么样实现activiti 工作流的二次开发全部的内容,包括:怎么样实现activiti 工作流的二次开发、Activiti7工作流引擎进阶、activiti怎么通过taskid查询executionid等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)