タスク完了遷移
多くのアクティビティは投票の集計に基づいてルーティングされます。たとえば、承認タスクは複数のユーザーに割り当てられることがあります。タスクを完了するには、レビュー中オブジェクトをユーザーが承認または却下する必要があります。ユーザーが選択したオプションによって、ワークフローの進行が決まります。
投票の集計は、通常、「ルーティング」タブで定義式を追加して設定します。ただし、「遷移」タブ「タスクを完了」遷移を使用すると、集計プロセスをより細かく制御できます。
特定のオブジェクトをレビューする場合に使用する単純なワークフローテンプレートを作成します。最初のアクティビティでは、ユーザーがオブジェクトをレビューして承認または却下する必要があります。
オブジェクトが承認された場合は、「承認済み」状態に移行します。却下された場合は、「却下」状態に移行します。
すべての参加者が必須メンバーです。アクティビティの参加者は、品質マネージャ役割とエンジニア役割のユーザーです。
オブジェクトが「承認済み」状態に移行するには、すべての参加者が "承認" に投票する必要があります。
品質マネージャ役割のユーザーが 2 人、"却下" に投票した場合は、アクティビティが完了し、オブジェクトが「却下」状態に移行します。
これを行うには、「タスクを完了」遷移に次の定義式を入力します。
java.util.Locale locale=wt.util.WTContext.getContext().getLocale();
int number=wt.workflow.work.WfTally.count(self,"Reject","Quality Manager",locale);
if(number>=2)
{
wt.workflow.work.WorkflowHelper.service.completeActivity(self,"Reject");
}
タスク完了 API
役割別に投票を集計:

/*
* @param self : WfAssignedActivity ObjectReference
* @param eventToMatch : Routing option to tally
* @param assigneeRole : Role for which you want to tally the routing option
* @param locale : The locale in which you have specified the assignee role
* @return int : Number of votes from user in the specified role
* @throws WTException
*/
public static int count(ObjectReference self,String eventToMatch,String assigneeRole,Locale locale) throws WTException
ルーティングイベント別に投票を集計:

/*
* @param self : WfAssignedActivity ObjectReference
* @param eventToMatch : Routing option to tally
* @param int : Number of votes for the routing event in the activity
* @throws WTException
*/
public static int count(ObjectReference self,String eventToMatch) throws WTException
条件が満たされるとアクティビティを完了:

/*
Supported API : True
Method to complete the activity
* @param self : WfAssignedActivity ObjectReference
* @param events : Routing event to follow
* @throws WTException
*/
public void completeActivity(ObjectReference self,String events) throws WTException
これは役に立ちましたか?