activiti会签驳回
① activiti串行会签的时候怎么设置相应的属性
BPMN2的标准中并没有对以上这种情景提供完善的支持,因此要在Activiti中实现会签审批,我们需专要结合Activiti提供属的流程任务的多实例特性,进行一些必要的扩展,以支持我们的中国特色的会签需求。 会签任务也是一种人工任务,其在activiti的定义中,也是使用UserTask来定义,但在属性上我们需要对这个定义的类型进行特殊的配置,即为多任务实例类型(并行或串行)任何一种。另外需要定义会签的参与人员,再定义会签的完成条件(若不定义,表示其是所有参与人均完成后,流程才往下跳转)。
② activiti多任务会签时调用complete方法会结束任务吗
Activiti中提供了来多实例任务源(for-each)将多实例应到到UserTask中可以实现会签功能。 一.多实例用户任务的XML表示: Xml代码 assigneeList ${nrOfCompletedInstances/nrOfInstances >= 0.6}
③ 工作流activiti 怎么实现会签
Activiti中提供了多实例任务(for-each)将多实例应到到UserTask中可以实现会签功能。一.多实例用户任务的XML表示:Xml代码assigneeList${nrOfCompletedInstances/nrOfInstances>=0.6}assigneeList${nrOfCompletedInstances/nrOfInstances>=0.6}在每个多实例创建后都会有3个变量nrOfInstances实例总数nrOfActiveInstances当前还没有完成的实例nrOfCompleteInstances已经完成的实例个数是用了指定用户任务为多实例任务,isSequential指定多实例是按照并行或者串行的方式进行,如果使用串行方式nrOfActiveInstances变量始终是1.loopDataInputRef指定一个流程变量的引用,该变量是一个List,可以在发起或这执行任务之前作为流程变量放到引擎中,该list中的每一个元素将创建一个任务。元素的值通过inputDataItem元素的指定的变量来获取如在这个实例中assigneeList=Arrays.asList("liyagn","cooperay","other");这会创建3个用户任务,每个用户任务中都有一个assignee的变量,来分别得到list中的值。completionCondition结束任务的条件,该示例中是任务完成60%结束二.给用户任务指定代理人xml表示:Xml代码liyangliyang上面的描述将该用户任务分配给用户liyang可以通过taskService.createTaskQuery.taskAssignee("liyang").list();来获取该任务三.通过上面两部将用户任务做成了多任务,也可以将任务分配给指定的代理人,现在只用将上面两个步骤进行结合在第一步中我们知道变量assignee是会签人员的标识,只需要将指定代理人的地方用表达式来指定assignee变量就行了完整XML:Xml代码${assignee}assigneeList${nrOfCompletedInstances/nrOfInstances>=0.6}${assignee}assigneeList${nrOfCompletedInstances/nrOfInstances>=0.6}完工。
④ 工作流activiti 怎么实现会签
Activiti中提供了多实例任务(for-each)将多实例应到到UserTask中可以实现会签功能。
一.多实例用户任务的XML表示:
Xml代码
<userTask id="task" name="多实例任务">
< isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</>
</userTask>
<userTask id="task" name="多实例任务">
< isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</>
</userTask>
在每个多实例创建后都会有3个变量
nrOfInstances 实例总数
nrOfActiveInstances 当前还没有完成的实例
nrOfCompleteInstances 已经完成的实例个数
是用了指定用户任务为多实例任务,isSequential
指定多实例是按照并行或者串行的方式进行,如果使用串行方式nrOfActiveInstances 变量始终是1.
loopDataInputRef
指定一个流程变量的引用,该变量是一个List,可以在发起或这执行任务之前作为流程变量放到引擎中,该list中的每一个元素将创建一个任务。元素的值通过
inputDataItem 元素的指定的变量来获取
如 在这个实例中 assigneeList =
Arrays.asList("liyagn","cooperay","other"); 这会创建3个用户任务,每个用户任务中都有一个 assignee
的变量,来分别得到list中的值。
completionCondition 结束任务的条件,该示例中是任务完成 60% 结束
二.给用户任务指定代理人
xml表示:
Xml代码
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>liyang</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
</userTask>
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>liyang</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
</userTask>
上面的描述将该用户任务分配给用户 liyang 可以通过
taskService.createTaskQuery.taskAssignee("liyang").list();来获取该任务
三.通过上面两部 将 用户任务做成了多任务,也可以将 任务分配给指定的代理人,现在只用将上面两个步骤进行结合
在第一步中我们知道变量 assignee 是 会签人员的标识,只需要将指定代理人的地方用表达式来指定 assignee 变量就行了
完整XML:
Xml代码
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>${assignee}</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
< isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</>
</userTask><SPAN style="WHITE-SPACE: pre"> </SPAN>
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>${assignee}</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
< isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</>
</userTask>
完工。
⑤ Activiti5是否支持会签
请问你复要是在找会议签到的制机器吗。之前我在会展里看见过就是在会议前期把邀请人的联系方式和一些详细信息录入在软件里然后下发到每一个受邀人的手机上其中包含着一张二维码会议那天只要参会者拿着手机打开信息在一个机器上扫一下就行了系统那端自动录入然后可以查询到哪些人员到场哪些没有到到场多少人许多祥细的信息都可以找到详情咨询我的网络名是电话号码
⑥ activiti并行网关怎样实现驳回功能
有一个不同意就全部驳回,或者使用多实例,例如多实例的会签,按照百分比去决定是退回还是向下执行。
⑦ k2 如何实现 汇签中一个驳回 都其他节点同时驳回
回退其实和任意驳回的原理差不多,也就是我们通常所说的撤回操作,只是驳回由当前任务处理人退回,回退是由之前已经处理过的人执行撤回操作,所以只要系统知道要撤回节点的taskKey,同样可以调用以下方法来完成taskid对应的任务的回退(撤回)操作:
public void complateTask(String taskid,String destTaskKey)
就你所举的例子来说,b执行撤回操作并重新办理后,可根据业务要求重新走B后续的环节,也可以直接利用上面的API直接交给d所处的环节处理。
另外撤回操作涉及到的业务逻辑应该由应用层面来处理,流程引擎只需要提供任务撤回API就可以了。
当然回退(撤回)操作还涉及一个任务领用的问题,就是这个回退(撤回)的任务是由回退的人来领用呢还是由当前处理人来领用,这个还需根据实际业务情况来处理,不管业务要求怎样,流程引擎都需要确保业务流程能够正常流转。
实际使用Activiti过程中出现以下问题并修复:
1.任务处理complate方法空指针异常修复
2.流程定义解析excludegate节点时,当默认路径指定了条件时校验失败抛异常,去掉这个校验,改为校验通过
3.form中的user字段类型不被支持,导致流程部署失败,增加UserFormType 。
⑧ activiti怎么扩展process属性
BPMN2的标准中并没有对以上这种情景提供完善的支持,因此要在Activiti中实现会签审批回,我们需要结合答Activiti提供的流程任务的多实例特性,进行一些必要的扩展,以支持我们的中国特色的会签需求。 会签任务也是一种人工任务,其在activiti的定义中,也是使用UserTask来定义,但在属性上我们需要对这个定义的类型进行特殊的配置,即为多任务实例类型(并行或串行)任何一种。另外需要定义会签的参与人员,再定义会签的完成条件(若不定义,表示其是所有参与人均完成后,流程才往下跳转)。
⑨ activitil排他网关怎么同时走多条任务
Activiti中提供了多实例任务(for-each)将多实例应到到UserTask中可以实现会签功能。 一.多实例用户内任务的容XML表示: Xml代码 assigneeList ${nrOfCompletedInstances/nrOfInstances >= 0.6}