3.2 AssignmentHandler
AssignFilteredPeople
指定された条件に合致する担当者全員に(Pooled Actor)、タスクをアサインします。
指定できる条件は次の通りです。
-
グループ
- JPDLで静的に指定する。
- アプリケーション側(jBPMのクライアント)から設定する。
- 特定のタスク遂行者と同じグループに限定する。
- 役割
- 役職の上限、下限
例1. 経理部にアサインする。
あるタスクを経理部(部署コード 123)の社員にアサインするには、次のようにJPDLを記述します。
<assignment class="com.natswell.ebisu.assignment.AssignFilteredPeople">
<groups>
<element>123</element>
</groups>
</assignment>
例2. 申請者と同じ部署にアサインする。
申請者(= 「申請」タスクの遂行者)と同じ部署の社員にアサインするには、次のように記述します。
<assignment class="com.natswell.ebisu.assignment.AssignFilteredPeople"> <originalActorTask>申請</originalActorTask> </assignment>
例3. 申請者と同じ部署の稟議受付担当にアサインする。
申請者と同じ部署の稟議受付担当社員(=役割が稟議受付)にアサインするには、次のように記述します。
<assignment class="com.natswell.ebisu.assignment.AssignFilteredPeople">
<roles>
<element>稟議受付</element>
</roles>
<originalActorTask>申請</originalActorTask>
</assignment>
例4. アプリケーション側からグループを指定する。
アプリケーション側からグループを指定するには、タスクノードに遷移する直前でグループを渡します。
...
AssignFilteredPeople.sendGroups(
Arrays.asList("123"), task.getName(), task.getContextInstance());
AssignSupervisor
指定された条件に合致する上長にタスクをアサインします。
指定できる条件は次の通りです。
- オリジナルタスク(必須)
- 役職の上限、下限
- (上の2条件を満たす上長の集合における)直近の上長、または、上長全員(Pooled Actor)の指定
上長の定義
任意の人に対して次の条件を全て満たす人を上長と定義します。
- 役職が自分より上である人
- 自分と同じグループ、または、その上位グループに所属している人
例1. 申請者の直近の上長にアサインする。
申請者(= 「申請」タスクの遂行者)の直近の上長にアサインするには、次のようにJPDLを記述します。申請タスクが定義されていることが前提です。
<assignment class="com.natswell.ebisu.assignment.AssignSupervisor"> <originalActorTask>申請</originalActorTask> </assignment>
例2. 課長以上で、申請者の直近の上長にアサインする。
課長以上で、申請者(= 「申請」タスクの遂行者)の直近の上長にアサインするには、次のようにJPDLを記述します。申請タスクが定義されていることが前提です。
<assignment class="com.natswell.ebisu.assignment.AssignSupervisor"> <originalActorTask>申請</originalActorTask> <minPosition>課長</minPosition> </assignment>
例3. 申請者の上長全員にアサインする。
申請者(= 「申請」タスクの遂行者)の上長全員にアサインするには、次のようにJPDLを記述します。申請タスクが定義されていることが前提です。
<assignment class="com.natswell.ebisu.assignment.AssignSupervisor"> <originalActorTask>申請</originalActorTask> <assignsAllSupervisors>true</assignsAllSupervisors> </assignment>
例4. 申請者の課長以上部長以下の上長全員にアサインする。
申請者(= 「申請」タスクの遂行者)の課長以上部長以下の上長全員にアサインするには、次のようにJPDLを記述します。申請タスクが定義されていることが前提です。
<assignment class="com.natswell.ebisu.assignment.AssignSupervisor"> <originalActorTask>申請</originalActorTask> <minPosition>課長</minPosition> <maxPosition>部長</maxPosition> <assignsAllSupervisors>true</assignsAllSupervisors> </assignment>


