3.activiti7 流程实例

it2026-04-05  3

package com.imooc.activitiweb; import org.activiti.engine.RuntimeService; import org.activiti.engine.runtime.ProcessInstance; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.List; @SpringBootTest public class Part3_ProcessInstance { @Autowired private RuntimeService runtimeService; //初始化流程实例 @Test public void initProcessInstance(){ //1、获取页面表单填报的内容,请假时间,请假事由,String fromData //2、fromData 写入业务表,返回业务表主键ID==businessKey //3、把业务数据与Activiti7流程数据关联 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess_Part1","bKey002"); System.out.println("流程实例ID:"+processInstance.getProcessDefinitionId()); } //获取流程实例列表 @Test public void getProcessInstances(){ List<ProcessInstance> list = runtimeService.createProcessInstanceQuery().list(); for(ProcessInstance pi : list){ System.out.println("--------流程实例------"); System.out.println("ProcessInstanceId:"+pi.getProcessInstanceId()); System.out.println("ProcessDefinitionId:"+pi.getProcessDefinitionId()); System.out.println("isEnded"+pi.isEnded()); System.out.println("isSuspended:"+pi.isSuspended()); } } //暂停与激活流程实例 @Test public void activitieProcessInstance(){ // runtimeService.suspendProcessInstanceById("73f0fb9a-ce5b-11ea-bf67-dcfb4875e032"); //System.out.println("挂起流程实例"); runtimeService.activateProcessInstanceById("73f0fb9a-ce5b-11ea-bf67-dcfb4875e032"); System.out.println("激活流程实例"); } //删除流程实例 @Test public void delProcessInstance(){ runtimeService.deleteProcessInstance("73f0fb9a-ce5b-11ea-bf67-dcfb4875e032","删着玩"); System.out.println("删除流程实例"); } }

1.初始化实例

部署完流程后 需要初始化实例

ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess_Part1","bKey002");

第一个参数是ACT_RE_PROCDEF流程定义表的KEY,第二个参数是对应自己业务表的主键id

初始化流程实例后,会在ACT_RU_IDENTITYLINK运行时参与人员与节点关系表与ACT_RU_EXECUTION运行时流程执行实例表生成数据。

在ACT_RU_IDENTITYLINK运行时参与人员与节点关系表中生成相应的类型与参与人的id与流程实例id等信息。

在ACT_RU_EXECUTION运行时流程执行实例表中生成业务主键id等信息。

2.获取流程实例列表

流程实例------ ProcessInstanceId:02cd9b83-1445-11eb-a86b-04d9f5f5f42b 流程实例id ProcessDefinitionId:myProcess_Part1:2:8f783608-143e-11eb-be5b-04d9f5f5f42b 流程定义id :bpm key+uuid isEndedfalse 是否结束 isSuspended:false 是否挂起

3.暂停与激活流程实例

runtimeService.suspendProcessInstanceById(“02cd9b83-1445-11eb-a86b-04d9f5f5f42b”); 挂起该字段为2

runtimeService.activateProcessInstanceById(“02cd9b83-1445-11eb-a86b-04d9f5f5f42b”); 激活该字段为1

4.删除实例

则会同时清空这个表的相关数据

最新回复(0)