日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

activiti前端画图转化_记Activiti入门使用-2 流程绘制、导入及开始一个流程

發布時間:2024/7/23 HTML 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 activiti前端画图转化_记Activiti入门使用-2 流程绘制、导入及开始一个流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、流程繪制與導入

百度啥的找了好多bpmn繪制工具,都不盡如人意,大多數都不能編輯網關出口的跳轉條件,最后還是選擇了activiti官方的那個繪圖的app。。。

啥都好,就是線不能彎,很難受。(后來開發的時候驚訝地發現了方法,雖然感覺操作不是很友好)

要是有好用的希望大家能夠推薦一下~

下面Old Version選擇6.x Download,下載完成后是一個zip包,解壓后把里面的activiti-app.war丟到tomcat下面啟動就行,這邊使用tomcat8.5.49,該war包需要java1.8。

(這邊用idea直接起war包好像會遇到一系列問題,主要是contentPath會變,所以還是直接丟到tomcat下面吧)。

1、

啟動后訪問:http://localhost:8080/activiti-app/#/會跳轉到登錄頁,默認賬號:admin/test即可,登陸后界面如下,選擇第一個:

2、

然后選擇Create Process

3、

新建頁面如下:

Model name為流程名稱(可重復)

Model key為流程Key,實際調用中使用的即為該key,似乎key可以相同,但是后面創建的會有版本號的概念,會自動+1

4、

畫圖就完事了,繪圖規則可以自行了解bpmn

5、

保存后選擇下載,放入工程目錄/resources/processes下,修改后綴為bpmn,其實應該是可以直接解析bpmn20.xml文件的來著,具體的還在學習~

啟動項目出現:The following process definition files will be deployed: [***.bpmn]即說明流程部署成功。

二、如何開始一個流程

我們以上圖的流程為例,這邊先提幾個關鍵的service類

2.1?服務接口

1、TaskService

在流程進行過程中,每個節點的操作方法,經常用的比如:查詢處于“領導審批”這個節點的任務,完成這個任務等等。

2、RuntimeService

流程相關服務,基本的功能例如:開始一個實例流程等等。

3、RepositoryService

流程部署相關的服務

4、HistoryService

歷史流程相關的服務

2.2?開始流程

如上所說,開始流程我們需要用到RuntimeService這個類。

直接上代碼:

@PostMapping(value = "/start")

@ResponseBody

@ApiOperation(value= "啟動某個流程")publicString start(@RequestParam String instanceKey) {//map中放入該流程需要的業務數據

Map map = new HashMap<>();

map.put("createUser", "Test");

map.put("createTime", 1576206360000L);

ProcessInstance instance=runtimeService.startProcessInstanceByKey(instanceKey, map);returninstance.getId();

}

調用runtimeService.startProcessInstanceByKey(),根據部署的流程key來啟動一個流程,RuntimeService里面也有很多根據其他標識啟動流程的方法,具體還需要研究。

其中instanceKey對應項目啟動時日志中部署的流程key,也就是bpmn文件中該行的id。

根據方法返回的id觀察數據庫,可以發現很多表里面都會新建以該id為主鍵的數據,該條id也可以用來標識一條流程實例。

2.3?查詢流程

流程的最基礎的查詢也需要用到RuntimeService這個類:

@PostMapping(value = "/list")

@ResponseBody

@ApiOperation(value= "查詢某個流程實例")public Listlist(@RequestParam String definitionKey) {//創建查詢條件

ProcessInstanceQuery processInstanceQuery =runtimeService.createProcessInstanceQuery();//根據流程實例key來查詢,即查詢該流程有多少個正在進行的實例

List runningList =processInstanceQuery.processDefinitionKey(definitionKey).list();//返回實例的id,這邊需要包裝成自己需要的業務數據返回

List ids = new ArrayList<>();

runningList.forEach(list->ids.add(list.getId()));returnids;

}

這邊是根據2.2中的key來查詢實例,實際觀察該類里面的方法,可以發現很多的其他查詢條件。

這邊如果直接返回List會報懶加載的一些錯誤,所以還是自己封裝一遍比較好,里面不需要的字段也比較多。

總結

以上是生活随笔為你收集整理的activiti前端画图转化_记Activiti入门使用-2 流程绘制、导入及开始一个流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。