Activiti6.0下activiti-app實現一個簡單請假流程

Activiti6.0下activiti-app、activiti-admin、activiti-rest的基本配置,詳見上文:https://www.cnblogs.com/gdjlc/p/16703897.html
下面實現一個簡單請假流程。

一、創建流程

1、登錄http://localhost:8080/activiti-app/
2、點擊Kickstart App -> Create Process -> Model name : 請假審批流程,Model key : holiday

點擊“Create new model”按鈕後,系統打開流程設計器。
這裏流程簡單設計爲 開始->經理審批->總經理審批->結束
在左邊Activities -> User task 拖動2次到主界面上,代表經理、總經理節點。
最後End Events -> End event拖到最後面,爲結束節點。
點擊節點會出現一些圖標選項,點擊箭頭可以拖到下一個節點。其中經理審批節點,點擊“Assignments”,彈出窗口中Identity store選項卡,點擊“Assignment”,選擇“assigned to single user”,表示指定的單個用戶審批,在下面的“Search”中輸入數據庫中的用戶,如Fozzie。同樣總經理審批也選擇用戶Gonzo審批。
節點的設置如下圖所示,最後點左上角保存按鈕。

二、創建App

保存流程後,點擊頁面導航的“Apps”->“Create App”,輸入App名稱和key值。

 

 

提交後,點擊“Edit included models”,在彈出窗口中點擊上一步創建的流程,右上角會出現一個選擇的加號,點擊Close關閉窗口。最終如下:

 

 

 點擊左上角保存按鈕,在彈出窗口中勾選“Publish?...”選項,點擊保存。

 

 

回到系統activiti-app首頁,出現“請假審批流程App”。

 

 

 登錄http://localhost:8080/activiti-admin,在deployments菜單下可以見到這條部署的流程。

 

 

 

三、發起、審批流程 

1、發起流程

回到系統activiti-app首頁,點擊“請假審批流程”App -> Processes -> Processes -> Start a process -> Start process

 

 

 

 點擊啓動流程後,如下圖

 

 

 

2、審批流程

用當前審批人 fozzie 登錄http://localhost:8080/activiti-app,點擊“請假審批流程”,進入如下界面

 

 

 點擊“Complete”按鈕提交。

 

 

 點擊“Show diagram”顯示的流程圖如下

 

 

 退出fozzie賬戶,重新打開瀏覽器,用當前審批人 gonzo 登錄http://localhost:8080/activiti-app進行審批

 

 

 

登錄http://localhost:8080/activiti-admin,在Instances菜單下可以查詢上面發起的流程實例。

 

點擊流程實例名稱,顯示審批的過程。

 

 

 

 

 四、使用Activiti REST API發起、審批流程

打開http://localhost:8080/activiti-rest/docs/打開Swagger UI,輸入kermit kermit登錄。

1、發起流程

點擊“Process Instances”,點擊第3個POST /runtime/process-instances(開始一個流程實例)

 

body中輸入如下json,key值爲上面創建的流程key:
{
"processDefinitionKey":"holiday"
}

 

 

 點擊“Try it out”按鈕執行。

返回值如下,15001爲流程實例Id:

{
  "id": "15001",
  "url": "http://localhost:8080/activiti-rest/service/runtime/process-instances/15001",
  "businessKey": null,
  "suspended": false,
  "ended": false,
  "processDefinitionId": "holiday:1:12504",
  "processDefinitionUrl": "http://localhost:8080/activiti-rest/service/repository/process-definitions/holiday:1:12504",
  "processDefinitionKey": "holiday",
  "activityId": null,
  "variables": [],
  "tenantId": "",
  "name": null,
  "completed": false
}

此時在http://localhost:8080/activiti-admin/#/process-instances可以查看到發起的流程實例。

2、審批流程

點擊Swagger UI“Tasks”,點擊 POST /runtime/tasks/{taskId}

 

 {taskId}可以在http://localhost:8080/activiti-admin/#/process-instances查詢到,如下,爲15008:

 

 也可以通過上面的流程實例Id:15001,請求接口GET /runtime/tasks查詢任務:

 

POST /runtime/tasks/{taskId}接口的參數如下

 

 點擊右上角的感嘆號,輸入授權信息。

 

 最後點擊“Try it out”按鈕執行。

此時查詢http://localhost:8080/activiti-admin/#/process-instance/15001,結果如下,已經成功執行。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章