暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Odoo | 面对复杂的审批流,我选择这样解决

845





Odoo

神州数码云基地

在 Odoo 上的尝试、调研与分享




本期内容 

Odoo对接 flwoable 



Odoo的审批流实际是状态机,通过状态字段来控制流程的流转。


如果是简单的流程还能满足,若是遇到复杂的流程需求,则需要重新设计流程进行开发。因此对于所有类型的流程也无法进行统一的管理。


为了满足更复杂的流程处理需求,这里引入基于BPMN的flowable流程引擎进行流程的管理。


由于flwoable是全部用Java实现的,所以这里我们通过api接口来集成flowable!




配置flowable



集成flowable需要先启动一个flowable应用。


这里我们选取启动flowable的docker镜像的方式在本地部署flowable应用,相对更简单。


镜像地址:

https://hub.docker.com/r/flowable/flowable-ui



这时,flowable应用已经启动成功。


默认的地址是:

http://localhost:8080/flowable-ui


默认的登录账户和密码是admin和test。



至此,一个flowable应用在本地部署成功,接下来进行demo流程的设定。





设计流程demo 


为了演示demo,这里我们模拟一个流程应用场景👉最常见的请假场景。


这里我们设定,请假天数小于等于10天的,不需要审批;超过10天的需要经历审批。


我们首先创建一个请假流程图,设置关键节点和任务:



流程设计好之后,创建基于这个流程图的应用,并发布。



请假应用发布之后,我们便可以直接在flowable应用上创建请假流程验证我们的流程设计是否存在问题。





Odoo对接flowable 


同步流程配置


这里我们设计了flwoable配置模块,主要用来将flwoable中的流程配置同步至Odoo这边,并且封装了对接flowable的接口。


前面我们提到要通过api接口集成flwoable,稍加分析这些接口,就能发现一些必须的流程配置:


  • 流程应用的id(我们需要用此id来启动流程)

  • 流程中设定的权限组(我们通过权限组来管流程的执行)


这里我们是通过接口方式将flowable中的配置同步过来。


这里可以看到,我们已经把请假流程给同步过来了~




绑定业务模型


同步完flowable配置之后,在Odoo端,我们还需要创建我们自己的请假业务模块、处理流程逻辑外的业务逻辑。



安装完对应的请假模块之后,需要将业务模型vacation.request与流程做一个绑定,这样在创建请假单的同时才能触发请假流程。



至此,Odoo应用和flowable应用已经绑定成功,可以进行请假操作了!





demo实操 


创建请假流程:



这样,一个简单的请假申请就创建成功,并且已经在flowable中开始流转了~



可以看到流程已经流转到经理审批,这里我们切换用户去审批。




可以看出已经审批成功,且流程状态已经同步到flowable。


至此,流程全部结束。  


这里只是简单的对接了Odoo和flowable中最简单基本的工作流,至于flowable的复杂功能还需要后续完善~欢迎大家多多补充!






本期内容就到这里了

⬇欢迎加入社群一起讨论哦⬇

本期作者 

高级后端开发工程师 黄华信 



更多精彩内容 





了解云基地,就现在!


IT技术哪家

神州数码最在行

行业新星后起之秀

历史虽不长,但实 力 强




文章转载自神州数码云基地,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论