3.activiti7 流程例項
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.刪除例項
則會同時清空這個表的相關資料
相關文章
- Activiti的流程例項【ProcessInstance】與執行例項【Execution】
- 專案資源管理流程例項
- Spring中Bean的例項化詳細流程SpringBean
- 深入剖析Vue原始碼 - 例項掛載,編譯流程Vue原始碼編譯
- activiti 根據 流程例項ID 獲取發起人
- php例項化物件的例項方法PHP物件
- git常用命令分支策略以及例項操作流程示範Git
- 3.3 - Laravel - 5.6 - Route - 載入單個Route例項的主要流程Laravel
- OkHttpClient例項HTTPclient
- unittest例項
- jQuery 例項jQuery
- Flowable啟動流程例項和查詢任務以及完成任務
- Spring系列(一):Spring MVC bean 解析、註冊、例項化流程原始碼剖析SpringMVCBean原始碼
- 例項化list
- msfvenom使用例項
- 雙層 for 例項
- python socket例項Python
- pinctrl使用例項
- Draggable 拖拽例項
- python例項1Python
- 策略模式例項模式
- SQLMAP 例項COOKBOOKSQL
- Java例項教程Java
- ORM 例項教程ORM
- 類和例項
- Proxy例項set()
- expect使用例項
- 如何區分例項化網格中的每個例項
- 如何將獨立例項轉換成叢集例項EU
- Websocet 入門例項Web
- Laravel kernel例項化Laravel
- Python例項集錦Python
- BootStrap | 例項 - 摺疊boot
- Redis 例項分析工具Redis
- JavaScript 例項屬性JavaScript
- csrf攻擊例項
- Flutter 入門例項Flutter
- python鬧鐘例項Python