2

例: 許可証は、2 人の弁護士と 1 人の技術者によって審査されなければなりません。これら 3 つのいずれかがそれを拒否すると、プロセスは「拒否された」終了状態に入ります。3 つすべてが許可を与える場合、「許可された」終了状態に入ります。3 人の試験官全員が同時に試験することも、任意の順序で試験することもできます。

1 人のエンジニアが許可した後は、エンジニアが検査できるようにすることはできません。2 人の弁護士がそれを調べた後は、弁護士が利用できるようにすべきではありません。エンジニア 1 名と弁護士 2 名が審査を終えると、承認済みの最終状態に移行する必要があります。

私の最初の考えは、「同じ」中間状態が何度も繰り返される、過度に複雑な状態遷移図を持っているかプロセス { bool reject; int エンジニアSignoffId; int legal1SignoffId; int lawrington2SignoffId}.

または、このようなものですか?もしそうなら、エンジニアの拒否はどのようにして「弁護士」にあるサブプロセスを終了させますか?

START->FORK->Engineer->Granted?---------------->Y->JOIN-->Granted
          |->Lawyers-->Granted?->by 2 lawyers?->Y---^
                  ^                          |
                  |--------------------------N 

これに対する標準的なjBPMの答えは何ですか? そのような回答の例やドキュメントを教えていただけますか?

ありがとう。

4

1 に答える 1

0

さて、あなたのユースケースを適切に理解できるかどうかはわかりませんが、試してみましょう。

拒否された最終状態は簡単です - それらの多くまたは 1 つを持つことができます。それは問題ではありません。プロセスが終了状態になると、プロセスは終了します。拒否されました。話の終わり: http://docs.jboss.com/jbpm/v4/userguide/html_single/#end

次に、受け入れ用の 3 つのヒューマン タスクを作成します。エンジニア候補グループに 1 名、弁護士候補グループに 2 名を割り当てる必要があります。ある人がタスクを引き受ける (つまり、自分自身に割り当てる) と、他の人がそのタスクを引き受けることはできません。 http://docs.jboss.com/jbpm/v4/userguide/html_single/#task

すべてのヒューマン タスクは、続行するためにすべての同時パスを待機しているノードと最後にマージする必要があります。すなわち: 正しい多重度で結合: http://docs.jboss.com/jbpm/v4/userguide/html_single/#decision

使用している JBPM のバージョンはわかりませんが、JBPM 5 を使用している場合は、もちろん BPMN 2.0 でも可能です。

于 2010-12-24T09:59:12.797 に答える