用activiti实现类似钉钉审批流程-附整个系统源码

前言

目前市场上有很多开源平台没有整合工作流,即使有,也是价格不菲的商业版,来看这篇文章的估计也了解了行情,肯定不便宜。我这个快速开发平台在系统基础功能(用户管理,部门管理…)上整合了工作流,你可以直接用来开发ERP,OA,CRM等企业级应用,不用再担心如何再去花大量的时间集成工作流进来。博主是个人开发者。研究工作流有几年了,依稀记得第一次写工作流是用在江苏某省局的用车申请业务上,那时候年轻气盛,精力充沛可是能力有限,熬了几十个夜整出来了,即使出来了,也是代码很乱。后面也在好几个系统参与了工作流的开发,目前是单独把这一套给抽取出来了,做成了可插拔的,可以非常方便的整合到你的程序中。下面我们来探索吧。

一、项目形式

springboot+vue+activiti集成了activiti在线编辑器,快速开发平台,可插拔工作流服务。

二、项目介绍

本项目拥有用户管理,部门管理,代码生成,系统监管,报表,大屏展示,业务审批等功能。功能太强大,只能粗矿的介绍,所见即所得,体验一下吧。

三、工作流

1.流程模型绘制

进入流程模型菜单,创建流程模型,这里涉及到网关流转,需要设置流转条件,我们这里是三十岁以上的走下面分支,三十岁以下的走上面的分支。点击分支线,设置流转条件即可。${age<=30}。保存后我们在列表中点击发布即可。 绘制流程

设置流转条件

在这里插入图片描述

2.流程配置

发布后,就到了已发布模型列表,在启用之前,我们需要先对进行节点设置和关联具体单据。

已发布模型

审批人员可以根据角色,直接指定人,部门,部门负责人,发起人部门负责人来进行配置,基本上满足所有的流转需求,并且可以设置表单变量。

节点设置

设置流程表单,目前就做了一个请假的测试表单,并且可以对相应角色授权,做到自定义权限。 设置关联表单

设置完后启动即可。

3.流程提交

填写请假表单 填写表单发起申请

列表

提交单据,优先级分为普通,重要,紧急。消息通知可以选择站内通知,短信,邮件。

提交表单

提交之后可以撤回单据。 撤回

查看流程流转进度情况。

查看流转进度

也可以挂起,删除流程。 挂起

4.流程审批

办理人审批列表,可以处理单据(驳回或者通过),也可以委托他人待办。 审批待办

审批通过。 在这里插入图片描述

委托他人待代。 委托他人待办

审批通过后进入已办列表。 已办列表

年龄大于30岁,进入下面分支流转。 流程查看

审批通过。

审批通过

5.待办信息推送

站内消息推送。 在这里插入图片描述

总结

上面只是展示了平台的审批流功能,还有其他很多功能没展示出来,自己也写了一些非常好用的组件,做到系统敏捷快速开发,大大减少开发时间和成本,目前正在对接移动端审批。之前由于没有时间去部署线上测试环境,考虑近期部署,目前可以单独找我,远程演示,有需要源码的联系我。q:2500564056。

鸣谢: jeecgboot开源版http://jeecg.com/ 咖啡兔activiti实战https://kafeitu.me/

SpringBoot可以使用其他框架或组件来实现审批流程,下面简单介绍一下使用Flowable框架实现审批流程的步骤。 1.添加依赖,可以在pom.xml中添加以下依赖: ``` <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> <version>${flowable.version}</version> </dependency> ``` 2.配置数据源,可以在application.yml中配置: ``` spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/flowable?useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: root ``` 3.创建并配置流程引擎,可以在代码中创建ProcessEngineConfiguration对象,并进行配置: ``` @Bean public ProcessEngineConfiguration processEngineConfiguration(DataSource dataSource) { SpringProcessEngineConfiguration configuration = new SpringProcessEngineConfiguration(); configuration.setDataSource(dataSource); configuration.setDatabaseSchemaUpdate("true"); return configuration; } ``` 4.创建并部署流程,可以在代码中使用RepositoryService对象来创建和部署流程: ``` @Resource private RepositoryService repositoryService; public void deploy() { DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); deploymentBuilder.addClasspathResource("processes/demo.bpmn20.xml"); deploymentBuilder.deploy(); } ``` 5.启动流程实例,可以在代码中使用RuntimeService对象来启动流程实例: ``` @Resource private RuntimeService runtimeService; public void startProcessInstance(String processDefinitionKey, Map<String, Object> variables) { runtimeService.startProcessInstanceByKey(processDefinitionKey, variables); } ``` 6.查询任务并完成任务,可以使用TaskService对象来查询任务,并使用CompleteTask()方法来完成任务: ``` @Resource private TaskService taskService; public void completeTask(String taskId, Map<String, Object> variables) { taskService.complete(taskId, variables); } ``` 以上就是使用Flowable框架实现审批流程的基本步骤。当然,具体实现还需要根据具体的业务需求进行进一步的配置和编码。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值