背景
基于微服务,flowable流程引擎单独一个服务,物资管理服务单独一个服务。物资管理服务中单据审批需要使用审批流程。
业务描述
采购入库审批流程:
- 采购入库单制单完成,提交审批,开启审批流程,写单据状态审批中。
- 基于流程进行审批,支持逐级、会签任务审批。
- 驳回时结束流程时,写单据状态编辑。
- 审批通过结束流程时,写单据状态已审核并处理相关业务。
- 回撤流程时,结束当前流程,未审核完时写单据状态编辑,审核完时撤回审核完成业务。
处理
- 在流程设计时每个任务写入需回调的接口,由流程引擎执行调用openFeign接口;
这种方式无法保证在业务端出现问题时,业务与流程出现不一致的情况,比如流程任务通过后调用业务端完成写入,这时正好业务端出现问题,流程端未得到业务端响应而回滚流程任务至未处理状态,也就是流程未处理而业务处理完了。 - 另一种方式,采用消息队列,流程处理完后写入一条MQ,由业务端消费,写业务。