流程部署

// 1.创建ProcessEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2.获取RepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
// 3.使用repositoryService进行流程的部署,定义一个流程的名字,把bpmn和png部署到数据库中
Deployment deployMent = repositoryService.createDeployment().name("流程名").addClasspathResource("bpmn所在地址和名字,如(bpmn/evection.bpmn)").addClasspathResource("png所在地址和名字,如(bpmn/evection.png)").deploy();

启动流程实例

// 1.创建ProcessEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2.获取RunTimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
// 3.根据流程定义的id启动流程
ProcessInstance instance = runtimeService.startProcessInstanceByKey("流程的key值");

查询个人待执行任务

// 1.获取流程引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2.获取taskService
TaskService taskService = processEngine.getTaskService();
// 3.根据流程key和任务的负责人查询任务
List<Task> taskList = taskService.createTaskQuery().processDefinitionKey("流程的key").taskAssignee("负责人名").list();

完成个人任务

// 1.获取流程引擎
ProcessEngine processEngint = ProcessEngines.getDefaultProcessEngine();
// 2.获取TaskService
TaskService taskService = processEngine.getTaskService;
// 3.获取某人对应的任务
Task task = taskService.createTaskQuery().processDefinitionKey("流程Key").taskAssignee("某人").singleResult();
// 3.根据任务ID完成任务
taskService.complete(task.getId());

查询流程定义

// 1.获取引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2.获取RepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
// 3.获取ProcessDifinitionQuery对象
ProcessDefinitionQuery difinitionQuery = repositoryService.createProcessDefinitionQuery();
// 4.查询当前所有的流程定义
List<ProcessDefinition> definitionList = definitionQuery.processDefinitionKey("流程key").orderByProcessDefinitionVersion().desc().list();

删除流程部署信息

// 1.获取流程引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2.通过引擎来获取RepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
// 3.通过部署ID来删除流程部署信息
String deploymentId = 'id';
repositoryService.deleteDeployment(deploymentId);

下载资源文件

// 1.获取引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2.获取api,RepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
// 3.获取查询对象ProcessDefinitionQuery查询流程定义信息
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("流程key").seingleResult();
// 4.通过流程定义的信息,获取部署ID
String deploymentId = processDefinition.getDeploymentId();
// 5.通过RepositoryService,传递部署id参数,读取资源信息(png和bpmn)// 获取png图片的流,从流程定义表中,获取png图片的目录和名字
String pngName = processDefinition.getDiagramResourceName();
repositoryService.getResourceAsStream(deploymentId,pngName);// 获取bpmn的流
String bpmnName = processDefinition.getResourceName();
// 6.构造OutputStream流
File pngFile = new File("存放路径");
File bpmnFile = new File("存放路径");
FileOutputStream pngOutStream = new FileOutPutStream(pngFile);
FileOutputStream bpmnOutStream = new FileOutPutStream(bpmnFile);
// 7.输入流,输出流的转换
IOUtils.copy(pngInput,pngOutStream);
IOUtils.copy(bpmnInput,bpmnOutStream);
// 8.关闭流
pngOutStream.close();
bpmnOutStream.close();
pngInput.close();
bpmnInput.close();

查看历史信息

// 1.获取引擎ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2.获取HistoryService
HistoryService historyService = processEngine.getHistoryService();
// 3.获取actinst表查询的信息
HistoryActivityInstanceQuery instanceQuery = historyService.createHistorcActivityInstanceQuery();
// 查询actinst表
instanceQuery.processInsranceId("流程ID");
// 增加排序操作
instanceQuery.orderByHistoricActivityInstanceStartTime().asc();
// 查询所有内容
List<HistoricActivityInstance> activityInstanceList = instanceQuery.list();

添加业务key到Activiti的表

// 1.获取流程引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2.获取RuntimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
// 3.启动流程的过程中提那家businesskey,第一个参数:流程定义的key,第二个参数:businessKey,存实例的id
ProcessInstance instance = runtimeService.startProcessInstanceByKey("流程key","bussinessKey")

全部流程实例的挂起与激活

// 1.获取流程引擎
ProcessEngine processEngine = processEngines.getDefaultProcessEngine();
// 2.获取RepositoryService
RepositoryService repositoryService = processENgine.getRepositoryService();
// 3.查询流程定义,获取流程定义的查询对象
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("流程key").singleResult();
// 4.获取当前流程定义的实例是否都是挂起状态
boolean suspended = processDefinition.isSuspended();
// 5.获取流程定义的id
String definitionId = processDefinition.getId();
// 6.如果是挂起,改为激活状态
if(suspended){// 如果是挂起,可以执行激活的操作,参数1:流程定义的id,参数2:是否激活,参数3:激活时间repositoryService.activateProcessDefinitionById(definitionId,true,null);
}else{// 如果是激活状态,改为挂起状态,参数1:流程定义id,参数2:是否暂停,参数3:暂停的时间repositoryService.suspendProcessDefinitionById(definitionId,true,null);
}

单个流程实例的挂起与激活

// 1.获取流程引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2.获取RuntimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
// 3.通过RuntimeService获取流程实例对象
ProcessInstance instance = runtimeService.createProcessInstanceQuery().processInstanceId("流程ID").singleResult();
// 4.得到当前流程实例的暂停状态
boolean suspended = instance.isSuspended();
// 5.获取流程实例ID
String instanceId = instance.getId();
// 6.判断是否已经暂停,如果已经暂停,就执行激活操作
if(suspended){// 如果已经暂停,就执行激活runtimeService.activateProcessInstanceById(instanceId);
}else{// 如果是激活状态,就执行暂停操作runtimeService.suspendProcessInstanceById(instanceId);
}

Activiti7工作流基础相关推荐

  1. Activiti7工作流基础,看这一篇文章就够了

    Activiti7 一.工作流介绍 1.1 概念 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是"使在多个参与者之间按照某种预定义的规则自动进行传递文档. ...

  2. MSCode微服务平台框架基于SpringCloud、SpringCloud Alibaba、SpringBoot和Activiti7工作流,快速开发办公OA、CRM、ERP、电商、信息管理等业务系统

    MSCode微服务平台框架 mscodecloud.com 基于Spring Cloud.Spring Boot和Activiti7工作流,提供所有源码和详尽文档,帮助企业快速开发分布式业务系统. 企 ...

  3. Activiti7 工作流引擎入门

    Activiti7 工作流引擎入门 做课目的 一.适用人群: 普通人 不是每个人都能进入一线互联网大厂 BATJ 普通人,省城,软件公司,银行.政府做 二.适用项目:OA CRM ERP 系统 出差报 ...

  4. Activiti7工作流流程详解

    前言 工作流程是我们日常开发项目中常见的功能,本文主要springboot整合activiti7,梳理activiti在工作中的一些常见用法和功能 一.工作流介绍 1.1 概述 工作流(Workflo ...

  5. Activiti实战. 1.2工作流基础

    1.2工作流基础 1.2.1什么是BPM BPM是Business Process Management的缩写,中文含义是业务流程管理,是一套达成企业各种业务环节整合的全面管理模式. BPM是为了实现 ...

  6. 2022全网最全工作流(activiti7)-基础入门级

    Activiti7 一.工作流介绍 1.1 概念 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是"使在多个参与者之间按照某种预定义的规则自动进行传递文档. ...

  7. Activiti7工作流引擎:基础篇(一) 简介与IDEA插件安装

    你不要一直不满他人,你应该一直检讨自己才对. 零:审批场景 对于请假流程我们有以下两种做法: 传统方式:写一个请假条,拿着请假条跑到项目经理那里签字,然后再拿着请假条去部门经理那里签字,然后再拿着请假 ...

  8. Activiti7工作流引擎:基础篇(七) 流程变量

    不要指望别人能帮你多少,人生事事物物都得靠自己. 一:简介 流程变量就是if(条件)中使用到的变量用于参与条件表达式的计算. 变量都是有作用域的,在程序中方法内部的变量是属于局部变量,方法外的变量属于 ...

  9. Activiti7工作流引擎:基础篇(六) 任务监听器和流程监听器

    知识传送门 >>>>>>>> 你只有一定要,才一定会得到. 一:任务监听器TaskListener 任务监听器是处理业务逻辑的重要的地方,当任务创建.设 ...

最新文章

  1. python【力扣LeetCode算法题库】1071. 字符串的最大公因子
  2. 选购光端机有哪些必备条件
  3. 【JZOJ3636】【BOI2012】Mobile(mobile)
  4. 模拟windows任务管理器列举系统进程,并关闭进程......
  5. typescript主键自增长
  6. centOS6.5如何从启动界面直接进入命令行界面和如何从图形界面进入命令行界面
  7. Arthas 思维导图笔记
  8. 扩号匹配问题(信息学奥赛一本通-T1203)
  9. Javascript学习数据结构--字典
  10. 通过javascript动态显示界面控件
  11. Spring核心技术原理-(2)-通过Web开发演进过程了解一下为什么要有Spring AOP?
  12. 达梦数据charindex_更新日志 · dotnetcore/FreeSql Wiki · GitHub
  13. Oracle EBS R12 电子技术参考手册 - eTRM (电子文档)
  14. ddos防火墙防御假人攻击测评
  15. ChatGPT+Midjourney实现儿童绘本故事及其插图(数字1~10的故事)
  16. 值得推荐的MAC软件下载软件的网站
  17. 老人与海好词100英文带翻译_老人与海优美段落英文,英文的优美句子,带翻译,越多越好,谢谢...
  18. 隐藏文件去掉隐藏属性
  19. Python:实现Julia集算法(附完整源码)
  20. 讯飞智能录音笔SR502内存升级为32G,帮用户留住更多动听旋律

热门文章

  1. 初识FPGA(一)(初步介绍FPGA)
  2. 福特CEO加入IBM董事会:为探索自动驾驶和车联网
  3. Centos配置终端的快捷键
  4. CocoaPods安装与使用
  5. SSH secure shell 权威指南(转载)
  6. MQCache 秒开缓存快速入门指南 - 旁路(使用镜像交换机)
  7. 艾伟_转载:C# Design Patterns (4) - Proxy
  8. 透视WPF 应用程序的利器
  9. 部署Symantec Antivirus 10.0网络防毒服务器之六
  10. Zynq7000术语PL,PS,APU,SCU介绍