有一些业务场景,一个业务申请需要经过多个审批环节,每个审批环节,根据审批状态会对数据进行不同的处理(比如审批通过时要设置或修改一些数据,否决时要回退一些数据值),不同审批环节也有一些相同的数据处理步骤。
由于审批环节多,如果在一个工作流中实现,工作流会非常庞大和复杂,也不灵活。因此希望能将每个审批环节设立一个工作流。但是如何将这些工作流串行执行变成了一个问题。
在表单的绑定工作流界面,多个工作流好像是并行执行的,不是按顺序串行执行的。如图,希望达成的效果是顺序执行各个审批环节的工作流,并且,若有一个环节审批不通过,则后续审批工作流也不执行了。
不一定要按照图中的方式来实现,但有什么方法能达到将多个审批环节的编排简化一下?
目前来看还是在同一个工作流里比较合适
如果是定义了多个审批工作流,可以通过子流程来进行总体组织,例如在上图绑定工作流的地方换成另一个事件(入口),比如操作后事件或自定义操作事件,然后在这个上层的工作流中编排条件,不同条件下调用不同的子流程,即可达到问题中的目的。
不过这个方案有个缺陷,按流程执行下来会发起不同的几个审批单据(每个审批工作流一个)。
如果要保证都由同一个单据来管理,还是只能在同一个工作流里编排。