例如:许可证必须由两名律师和一名工程师审查。如果这三个中的任何一个拒绝它,则该过程进入“拒绝”结束状态。如果所有三个都授予许可,则它进入“授予”结束状态。三名考官可以同时进行检查,也可以按任何顺序进行检查。
一旦一位工程师批准了它,它就不应该被工程师检查;一旦有两名律师检查过,就不应该提供给律师;一旦一名工程师和两名律师进行了检查,它就应该进入授权的最终状态。
我最初的想法是,要么我有一个过于复杂的状态转换图,“相同”的中间状态多次重复,要么我携带(外部)状态,过程 { bool denied; int 工程师SignoffId;int 律师1SignoffId; 诠释律师2SignoffId}。
还是这样的?如果是这样,工程师的拒绝如何终止“律师”中的子流程?
START->FORK->Engineer->Granted?---------------->Y->JOIN-->Granted
|->Lawyers-->Granted?->by 2 lawyers?->Y---^
^ |
|--------------------------N
对此的典型 jBPM 答案是什么?您能否指出这些答案的示例或文档?
谢谢。