Activiti7开发(一)
0.前言
开发背景
项目开发设计审批工作流,企业微信的审批不错,但是下拉列表不支持后期添加,所以只能自己实现,通过gitee查找相关工作流的开源项目,参考有
- 闲鹿(RuoYi+Activiti6) https://gitee.com/calvinhwang123/RuoYi-Process?_from=gitee_search ;前后端未分离,功能完善。画图使用Activiti Modeler,bilibili有教程
- 蜜獾工作流(基于闲鹿的,前后端分离) https://gitee.com/laya1989/ruo-yi-vue-process-3.4.0?_from=gitee_search
- 基于RuoYi分离版的工作流 https://gitee.com/smell2/ruoyi-vue-activiti?_from=gitee_search ; 功能不完善,需要自己完善,画图使用的是Bpmn.js+Activiti7 [目前开发是基于该版本的]
1.版本依赖
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter</artifactId>
<version>7.1.0.M4</version>
</dependency>
<dependency>
<groupId>org.activiti.dependencies</groupId>
<artifactId>activiti-dependencies</artifactId>
<version>7.1.0.M4</version>
<type>pom</type>
</dependency>
2.解除Activiti7与SpringSecurity的强耦合
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class})
3.功能介绍
- 流程模型:创建、删除、通过bpmn文件导入、导出、部署模型转成定义、修改模型
- 流程定义:转模型、挂起(比如说财务每个月15-30号处理报销,在此之前不能报销,就不能创建根据定义创建流程实例)、激活(与挂起正好相反)、删除
- 流程实例:创建、撤销申请(有两种,根据业务而定。1.删除流程实例 2.将流程实例挂起 )、修改(如果流程图有调整申请这个节点的话)、查看审批历史、查看进度图(走过的节点高亮显示)
- 我的待办:审批(同意/驳回,如果是驳回是直接流程结束还是走向调整申请根据业务而定 [如果调整申请确认重新申请是回到最初的审批还是拒绝的上一层审批也看业务要求] )、查看审批历史、查看进度图(走过的节点高亮显示)
- 我的已办:这个和审批历史不同,该功能是说该审批人审批过哪些审批事件(一对多个流程实例),审批历史是针对一个流程实例而言
- 委托:这个功能有待商榷,不能委托给一个普通用户,假设这个用户没有我的代办的菜单权限,那么他也无法看到,还需要联系管理员开通菜单权限,如果是委托给和自己相同角色的用户又没有必要,因为这个审批必定是一个变量比如
${region}
,只要是经理都可以看到,而且是或签。 - 或签:只要有一人同意即可
- 会签:有多种情况:全员同意,一人拒绝,审批结束;指定具体审批数量,大于该数量则通过;百分比,自定义多少百分比等等。(项目中未用到)
- 抄送:这个需要在画模型图时调用系统的用户接口,因为抄送的人可能是不同角色、不同用户。百度有网友实现,在任务的下面创建子任务,然后
setAssignee=xx,yy,zz
,必须在bpmnjs额外添加搜索用户列表功能,暂未实现该功能
Activiti7开发(一)的更多相关文章
- Activiti7新的API介绍
一.Activiti7 的组成部分 Activiti Core 作为Activiti 的核心部分,Activiti Cloud 主要是利用云服务来实现分布式业务流程开发. 二.Activiti 新的 ...
- Activiti7整合SpringBoot(十二)
1 SpringBoot 整合 Activiti7 的配置 为了能够实现 SpringBoot 与 Activiti7 整合开发,首先我们要引入相关的依赖支持.所以,我们在工程的 pom.xml 文件 ...
- Activiti7工作流+SpringBoot
文章目录 一. Activiti相关概念 1. Activiti介绍 2. 核心类 2.1 ProcessEngine 2.2 服务(Service)类 2.2.1 TaskService 2.2.2 ...
- SpringBoot系列——Activiti7工作流引擎
前言 工作流程是我们日常开发项目中常见的功能,本文记录springboot整合activiti7. Activiti介绍 官网:https://www.activiti.org 数据库表 act_hi ...
- Activiti7 入门篇
1. 工作流 简单地来讲,工作流就是在计算机的协助下实现流程的自动化控制.目前,笔者熟知的主流的框架有:Camunda .Flowable .Activiti .jBPM.还有我们国产的盘古BPM. ...
- Spring-boot整合Activiti7
Spring-boot整合Activiti7 pom.xml <properties> <maven.compiler.source>15</mave ...
- Activiti7基本介绍
官方地址 官方地址 官方最新用户文档-V6.0.0 码云镜像-activiti-7-developers-guide 关于BPMN BPMN(Business Process Model AndNot ...
- 避免重复造轮子的UI自动化测试框架开发
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 使用HTML5开发Kinect体感游戏
一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...
随机推荐
- git rebase之abort,continue,skip
git rebase --abort 会放弃合并,回到rebase操作之前的状态,之前的提交的不会丢 git rebase --skip 会将引起冲突的commit丢弃掉 git rebase --c ...
- web执行sql----vue mybatis
java @ResponseBody @RequestMapping(value = "/sqlMap", method = RequestMethod.POST) public ...
- CCIE DC Multicast Part 1.
Hi Guys! As we all wait anxiously for the training vendors to release Rack Rentals (Come on guys! At ...
- HDK_节点开发:SOP_ComputeVisibility
Houdini版本:18.5.596 节点概述:剔除模型在某视线方向下所有不可见面. 参数界面: 输入:三角化的模型(左),可选输入遮挡模型(右) 原理:在画布上绘制该方向上的最近深度,作为判定各面可 ...
- 接口自动化(TestNG)
数据驱动概念: 用户输入输出数据来判断测试用例是否通过从而验证需求的测试. 一.接口自动化框架搭建(TestNG数据驱动) ---parameter 关键代码: <?xml version=&q ...
- vue 封装时间格式化和number精确度
//format.js 公用js /** * Parse the time to string * @param {(Object|string|number)} time * @param {str ...
- Esp32 arduino 编译报 hwcrypto/aes.h: No such file or directory 错误
由于hwcrypto/* 在新版中移动到了 esp32/*. 编译会出现hwcrypto/aes.h: No such file or directory 的错误 解决方案如下: arduino 中E ...
- java pta第二次阶段性总结
一.前言 经过这三次的pta训练,我对java再一次有了一个新的认识,这三次比起之前难度更大,所涉及的知识点更多.第4.5次作业是在前几次作业上的再次拓展,由三角形拓展到四边形,再由四边形拓展到五边形 ...
- 关于vue模版动态加载按照指定条件
一.在data中定义要作为模版的变量,当前定义了两个 menuNavigation 和menuDetails 二.模版使用方式使用component中的 用v-bind:is 来使用其参数
- P77 3.12
#P77 3.12 #一年365天,初始水平值为1.0,每工作一天水平增加N, #不工作时水平不下降,一周连续工作4天,请编写程序运算 #结果并填写表格 n = 1.0 for j in range ...