动态指定下一步任务的参与人

在流程运行的时候,需要有操作人去选择下一步任务的执行人,而不是在流程定义的时候先固定好的执行人,动态指定分下面几种情况。

1、在流程实例流转时候,节点办理的时候,由用户去选择下一步任务的执行人:

实现过程: 流程设计时,下一步任务的参与人设置一个虚拟的审核人checker.  上一步节点办理表单中,做一个选择用户的功能,并将用户选择的userid存到checker中,再将checker勾选流程用,送到流程引擎中。

业务流程流转时,创建下一步的任务时,就会将用户选择的userid生成到任务参与人了。也可以多选,多选的userid以逗号分隔的方式存到checker中,如USR_0000001,USR_0000002,USR_0000003... 任务引擎在生成任务参与人的时候,会按逗号截取生成多个任务参与人。

2、流程运行时,用户在一定的范围内选择下一步任务执行人

实现过程: 与第一种类似,流程定义时,下一步任务参与人设置虚拟的checker,然后上一步节点表单中,从一定的范围内选择选择参与人,并将用户选择的结果送到流程中。任务引擎生成到下一步任务参与人列表中。

3、流程运行时,用户在一定的范围内选择下一步任务执行人,此范围是在任务参与人中预先圈定的:

实现过程: 流程定义时,下一步任务参与人设置多个,或一个范围,如选择一个参与组织或一个角色 等。 在上一步节点办理表单中,读出下一步任务节点中的参与人列表(利用流程引擎提供的api来获取),供用户选择,用户选择的结果存到appoint_nexttask_operator这个预先固定好的指定下一步任务参与人的变量中。此变量会送到任务引擎中,任务引擎在生成下一步任务的时候,会读取这个变量,将此结果存到任务参与人列表中。同样也可以多选,用逗号分隔。

原文地址:https://www.cnblogs.com/webreport/p/3149806.html