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>
 
  Copyright ©2009 株式会社ナッツウェル, All rights reserved.| Powered by WordPress