Alfresco 组成员数量的动态计算

Alfresco 组成员数量的动态计算,alfresco,activiti,Alfresco,Activiti,例如,有一个exclusivegateway和两个sequenceFlow <sequenceFlow id="flow1" sourceRef="exclusivegateway" targetRef="usertask1"> <conditionExpression xsi:type="tFormalExpression"> <![CDATA[${approveCount == N}]]> </conditionExp

例如,有一个
exclusivegateway
和两个
sequenceFlow

<sequenceFlow id="flow1" sourceRef="exclusivegateway" targetRef="usertask1">
    <conditionExpression xsi:type="tFormalExpression">
        <![CDATA[${approveCount == N}]]>
    </conditionExpression>
</sequenceFlow>

<sequenceFlow id="flow2" sourceRef="exclusivegateway" targetRef="usertask2">
    <conditionExpression xsi:type="tFormalExpression">
        <![CDATA[${approveCount < N}]]>
    </conditionExpression>
</sequenceFlow>

根据条件,执行一项或另一项任务

在业务流程中,我希望动态计算数字
N
。此数字等于业务流程所有参与者的总和。 (例如,我有两组,第一组包括
10
参与者,第二组包括
5
。然后
N
必须等于
15


在Activiti中,是否可以使用JavaScript计算这些组中的参与者数量?

您完全可以使用JavaScript或Java API来获取两个组中的用户数量。查看此页面了解JS people API,例如:

因此,我设想在专用网关之前有一个脚本任务/执行侦听器,实现该逻辑应该是最简单的方法,因为它甚至不需要重新启动服务器:

var membersG1 = people.getMembers("GROUP_MY_GROUP1_NAME");
var membersG2 = people.getMembers("GROUP_MY_GROUP2_NAME");
execution.setVariable("N", membersG1.length + membersG2.length);

请注意,这是实现您指定内容的许多可能方法之一。

您完全可以使用JavaScript或Java API获取两个组中的用户数。查看此页面了解JS people API,例如:

因此,我设想在专用网关之前有一个脚本任务/执行侦听器,实现该逻辑应该是最简单的方法,因为它甚至不需要重新启动服务器:

var membersG1 = people.getMembers("GROUP_MY_GROUP1_NAME");
var membersG2 = people.getMembers("GROUP_MY_GROUP2_NAME");
execution.setVariable("N", membersG1.length + membersG2.length);

请注意,这是实现您指定内容的许多可能方法之一。

是的,您可以在javascript中执行数学运算。或者你可以使用脚本任务。是的,你可以用javascript做数学运算。也可以使用脚本任务。