前言

近期有一个朋友说他们有一个项目需要用到审批流程,问我选择哪个工作流产品,并且要给他集成到他系统中,由于之前做过一系列的工作流产品,结合他的需求,我最终选择了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和业务表。 流程节点(部门经理审批,分管人事审批)审批权限设置:通过审批节点扩展表来确定节点是角色,还是具体的人员等。 审批操作:提交申请,撤回,审批,驳回,委托他人代办,催办,会签,挂起,业务流转跟踪,待办,已办,审批消息通知。