0.前言

开发背景

项目开发设计审批工作流,企业微信的审批不错,但是下拉列表不支持后期添加,所以只能自己实现,通过gitee查找相关工作流的开源项目,参考有

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开发(一)的更多相关文章

  1. Activiti7新的API介绍

    一.Activiti7 的组成部分 Activiti Core 作为Activiti 的核心部分,Activiti Cloud 主要是利用云服务来实现分布式业务流程开发. 二.Activiti 新的 ...

  2. Activiti7整合SpringBoot(十二)

    1 SpringBoot 整合 Activiti7 的配置 为了能够实现 SpringBoot 与 Activiti7 整合开发,首先我们要引入相关的依赖支持.所以,我们在工程的 pom.xml 文件 ...

  3. Activiti7工作流+SpringBoot

    文章目录 一. Activiti相关概念 1. Activiti介绍 2. 核心类 2.1 ProcessEngine 2.2 服务(Service)类 2.2.1 TaskService 2.2.2 ...

  4. SpringBoot系列——Activiti7工作流引擎

    前言 工作流程是我们日常开发项目中常见的功能,本文记录springboot整合activiti7. Activiti介绍 官网:https://www.activiti.org 数据库表 act_hi ...

  5. Activiti7 入门篇

    1.  工作流 简单地来讲,工作流就是在计算机的协助下实现流程的自动化控制.目前,笔者熟知的主流的框架有:Camunda .Flowable .Activiti .jBPM.还有我们国产的盘古BPM. ...

  6. Spring-boot整合Activiti7

    Spring-boot整合Activiti7 pom.xml    <properties>        <maven.compiler.source>15</mave ...

  7. Activiti7基本介绍

    官方地址 官方地址 官方最新用户文档-V6.0.0 码云镜像-activiti-7-developers-guide 关于BPMN BPMN(Business Process Model AndNot ...

  8. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  9. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  10. 使用HTML5开发Kinect体感游戏

    一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...

随机推荐

  1. 063_Apex 的 Test类说明

    @isTest public class TestUtil { public static void createTestAccounts() { // Create some test accoun ...

  2. 通过Jsoup,爬取车辆品牌,车系,LOGO等

    @Test public void test4() throws IOException { for (int i = 65; i <= 90; i++) { String value = St ...

  3. js常用遍历理解

    1.for循环用于数组的遍历循环. 2.for in 循环主要用于遍历普通对象,i 代表对象的 key 值,a[i] 代表对应的 value. 3.forEach循环 遍历数组中的每一项,没有返回值, ...

  4. 给定两个字符串,均只包含英文字母,需区分大小写,一个是源字符串SS(长度<1000), 另一个是目标字符串TS(长度<1000),请问能否通过删除SS中的字符(不改变顺序)将它变换成TS,如果可以输出“YES",不可以则输出“NO"。 输入说明:第一行为源字符串SS,第二行为目标字符串TS。

    import java.util.Scanner;/*    给定两个字符串,均只包含英文字母,需区分大小写,一个是源字符串SS(长度<1000),    另一个是目标字符串TS(长度<1 ...

  5. HDFS 内部工作机制

    HDFS 内部工作机制 HDFS集群分为两大角色:NameNode.DataNode (Secondary Namenode) NameNode 负责管理整个文件系统的元数据 DataNode 负责管 ...

  6. 简单的IP网络

    企业网络架构:小型.扁平化设计,特点:设备少,网络复杂度低,用路由器加交换或路由器就可以实现. 大中型,分层设计,接入层汇聚层核心层,特点:设备众多,网络组建复杂度高.终端设备较多,偏平化设计不适合. ...

  7. 参与一个组织npm包的发布

    1.github桌面提交新建一个fork 2.github网站打开fork,new 一个pull request 3.管理员审核成功 npm npm login npm publish --acces ...

  8. iOS 制作本地库Development Pods

    1.cd到指定的路径文件夹下 ,创建本地库,如:pod lib create XXNetworking 2.删除Classes文件下的ReplaceMe文件,添加自己的类. 3.修改XXNetwork ...

  9. 使用Python实现给企业微信发送allure报告,并实现微信查看

    1.注册企业微信 搜索企业微信直接注册 2.创建应用 3.查看企业id.Secret.应用id.部门id 4.发送代码 import os import jenkins import requests ...

  10. HTTP请求向服务器传参方式

    请求HttpRequest 提示: 用户发送请求时携带的参数后端需要使用,而不同的发送参数的方式对应了不同的提取参数的方式 所以要学会如何提取参数,我们就需要先了解前端传参数有哪些方式 回想一下,利用 ...