前言
在企业日常管理中,相信会有各种各样的申请,例如加班申请、请假申请、调休申请、离职等行政流程。订单、采购处理、合同审核、等业务流程,若是用人工的方式去管理这些流程,效率低,管理成本高;因此,为了提升效率,降低成本,这就需要用到工作流引擎。
一、工作流是什么?
工作流就是通过计算机技术对业务流程进行自动化管理。实现多个参与者按照预定的流程去自动执行业务流程。
二、Activiti工作流框架
Activiti是一个开源的工作流框架,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度
Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于Java的超快速,超稳定的 BPMN2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向业务人员
Activiti 流程引擎重点关注在系统开发的易用性和轻量性上.每一项BPM业务功能Activiti流程引擎都以服务的形式提供给开发人员.通过使用这些服务,开发人员能够构建出功能丰富,轻便且高效的BPM应用程序
三、如何使用
1.添加依赖
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>6.0.0</version>
</dependency>
2.新建BPMN文件
下载插件
新建BPMN文档,放置/resource/bpmn 目录下
3.业务功能
部署工作流
//核心逻辑 指定bpmn文件 调用createDeployment 进行部署
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
Deployment deployment = processEngine.getRepositoryService()
// 创建一个部署对象
.createDeployment()
// 添加部署名称
.name(processDeployReqDto.getProcessName())
.key(processDeployReqDto.getProcessKey())
// 从classpath的资源中加载,一次只能加载一个文件
.addClasspathResource