1、新建流程模型
模型管理->模型工作區
點擊“創建”后會立即跳轉到“流程在線設計器”頁面,請參考下一節
2、在線流程設計器
模型管理->模型工作區->編輯
3、設置流程屬性
l 名稱:流程定義名稱
l 描述信息:流程定義描述
l 流程標識:流程定義KEY,對應procDefKey,用來標識一個流程
4、拖拽元素介紹
Start event:開始事件
End entit:結束事件
User task:用戶任務活動
Service task:服務任務活動
Exclusive gateway:獨家網關,排它網關通道,只能有一條分支執行,如if else
Parallel gateway:並行網關,並行網關通道,所有分支一塊執行
更多介紹請參考:http://www.mossle.com/docs/activiti/#bpmnConstructs
5、流程發起人的流程變量
在開始節點的屬性中設置“啟動器”(流程發起人)的變量,例如:applyUserId
設置以后,在某個任務的屬性中,可以設置參與者為${applyUserId},這樣可以實現【誰發起誰執行】,請參考下圖:
當發起人發起某個流程,在某個環節被駁回的時候,如果希望流程駁回到發起人,可使用方法。
6、表單概念
普通表單:每個節點的表單內容都寫死在JSP或者HTML中。
動態表單:表單內容存放在流程定義文件中(包含在啟動事件以及每個用戶任務中)。
外置表單:每個用戶任務對應一個單獨的<b>.form</b>文件,和流程定義文件同時部署(打包為zip/bar文件)。
綜合流程:可以查詢到所有的流程(普通、動態、外置固定查詢某些流程的表單,為了演示所以單獨分開);綜合流程的目的在於可以啟動用戶上傳或者設計后部署的流程定義。
6、設置表單地址
l 全局表單:新建流程時或活動元素上未設置表單標識時調用的表單,位於開始事件屬性中“表單標識”字段,指定表單訪問地址。
l 活動表單:當前步驟使用的表單,使用活動節點屬性“表單標識”字段。
7、設置流程參與者
在流程節點中,設置【任務分配】
l assignee:任務執行人,設置系統中的“登錄名”(loginName)。
l candidateUsers:任務執行人,可以填寫多個。
l candidateGroups:任務執行組,可以填寫多個,設置系統中的“角色英文名(enname)”。
assignee和candidateUsers的區別是:assignee不需要簽收任務,直接可執行任務;candidateUsers為競爭方式分配任務,被指定人待辦中都有一條任務,誰先簽收誰就獲得任務的執行權。
參與者可指定流程變量(EL表達式),動態指定參與者,如:${processer}
8、設置流程流轉的條件
選定流轉線,在【流條件】中填寫EL表達式,返回true或false。例如:
9、保存流程設計圖
10、部署流程設計圖
模型管理->模型工作區,點擊【部署】
11、導出流程設計圖
模型管理->模型工作區,可以導出BPMN、JSON、SVG格式的流程設計圖
12、【請假流程】
使用softwareuser登陸
工作流程->請假申請,填寫如下:
點擊【申請】后,啟動請假申請流程。
此時在流程辦理->運行中的流程中,可以看到:
13、leaderuser待辦任務
使用leaderuser用戶登陸,它屬於deptLeader用戶組。deptLeader也就是【部門領導審批】任務分配的用戶組。
點擊工作流程->待辦任務。可以看到未簽收任務
點擊【跟蹤】可以看到流程目前進展情況。
14、leaderuser任務簽收
leaderuser用戶點擊工作流程->流程辦理->請假辦理(普通),對任務進行簽收。
15、leaderuser任務辦理
leaderuser用戶,進入流程辦理->請假辦理(普通),選中任務,點擊【辦理】
任務完成。
16、hruser待辦任務
使用hruser登陸系統,hruser屬於hr角色,是請假流程人事審批的任務分配組。
hruser登陸系統后,點擊工作流程->待辦任務,可以看到如下:
點擊跟蹤,可以看到目前流程進展情況。
17、hruser任務簽收
hruser進入工作流程->流程辦理->請假辦理(普通),對任務進行簽收
18、hruser任務辦理
hruser進入工作流程->流程辦理->請假辦理(普通),對任務進行辦理
同意以后,在工作流程->流程辦理->運行中的流程(普通),可以看到:
19、請假最后一個環節,銷假
使用softwareuser用戶登錄系統,他是請假者,銷假的流程在設計圖中分配給他自己。
注意以上2張圖片applyUserId的變量。
softwareuser用戶點擊工作流程->流程辦理->請假辦理(普通),點擊【辦理】
填寫實際請假開始時間和結束時間。
20、任務完成。
softwareuser用戶點擊工作流程->流程辦理->已結束流程(普通),可以看到已完成的任務。