前言
近期有一个朋友说他们有一个项目需要用到审批流程,问我选择哪个工作流产品,并且要给他集成到他系统中,由于之前做过一系列的工作流产品,结合他的需求,我最终选择了activiti,闲来无事,就把activiti就整成了一个可插拔的代码块,springboot整合activiti,前端vue的demo,下面一起来看看吧。
一、集成activiti在线编辑器
有些人说使用activiti自带的编辑器太臃肿了,并且有好多功能用不到,还需要自己汉化。是的,确实是这样的,但是自己开发一套在线bpmn编辑器得需要多少工作量呢?个人总结来说,在中小型项目中用自带的编辑器还是很好的。 stencilset.json是汉化文件。把这一坨直接丢在static下即可。
二、引入jar包
<!-- Activiti 启动器 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>${activiti.version}</version>
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Activiti 流程图 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-diagram-rest</artifactId>
<version>${activiti.version}</version>
</dependency>
<!-- Activiti 在线设计 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-modeler</artifactId>
<version>${activiti.version}</version>
</dependency>
三、流程图绘制
四、业务绑定及审批操作
表单绑定:通过流程扩展表来绑定流程实例ID和业务表。 流程节点(部门经理审批,分管人事审批)审批权限设置:通过审批节点扩展表来确定节点是角色,还是具体的人员等。 审批操作:提交申请,撤回,审批,驳回,委托他人代办,催办,会签,挂起,业务流转跟踪,待办,已办,审批消息通知。