Workflow 如何使用工作流组件进行并行审批?
我一直试图了解Symfony中的新工作流组件,并查看了上的示例。在本例中,有一个记者批准和一个拼写检查批准,这两个都是移动到发布地点所必需的。这如何处理来自记者或拼写检查者的拒绝?例如,如果存在记者拒绝转换和拼写检查拒绝转换,系统如何在只有一次拒绝的情况下以拒绝状态结束?如果不将symfony工作流组件与一些自定义逻辑交织在一起,symfony工作流组件就不会真正以这种方式工作。纯粹使用工作流组件构建该组件将需要以任意顺序进行两次转换,以从状态A(例如,草稿)转换到状态B(已批准)。当然,通过实现两个中间状态,您可以通过两个批准来实现这一点:Workflow 如何使用工作流组件进行并行审批?,workflow,symfony,Workflow,Symfony,我一直试图了解Symfony中的新工作流组件,并查看了上的示例。在本例中,有一个记者批准和一个拼写检查批准,这两个都是移动到发布地点所必需的。这如何处理来自记者或拼写检查者的拒绝?例如,如果存在记者拒绝转换和拼写检查拒绝转换,系统如何在只有一次拒绝的情况下以拒绝状态结束?如果不将symfony工作流组件与一些自定义逻辑交织在一起,symfony工作流组件就不会真正以这种方式工作。纯粹使用工作流组件构建该组件将需要以任意顺序进行两次转换,以从状态A(例如,草稿)转换到状态B(已批准)。当然,通过实
- 草稿->拼写检查器批准->完全批准
- 草稿->记者批准->完全批准
- 草稿->A审核->A、B审核->审核
- 草稿->A审核->A、C审核->审核
- 草稿->B审核->A、B审核->审核
- 草稿->B审核->B、C审核->审核
- 草稿->C审核->A、C审核->审核
- 草稿->C批准->B和C批准->批准
这样,您可以添加任意多个并行审批,而不会增加应用程序的复杂性,更重要的是,您可以添加审批人,而无需修改您的工作流。我认为您需要的是条件路由,因为它是Petri网中的一种路由,Petri网是工作流组件的基础。Aproval将是一个yes/no选择,来自两个Aproval的“no”分支的流将进入拒绝位置。问题是,我也不知道如何在工作流组件中实现它。见: