概要
本文檔介紹的是某商用中集成的Activiti工作流的部署及使用,該框架用的Activiti版本為5.19.0。本文檔中主要以一個請假流程為例子進行說明,該例子的流程圖如下:
這是一個可以正常運作的工作流業務了,但是它也有不足的地方,如沒做詳細的分支控制,而且寫死了節點,沒能更好地體現工作流引擎的靈活性,這些在我們后面實際的項目業務中的工作流使用上做了調整,但由于項目業務不能公開,且這個例子已能說明大部分的問題,這里就不一一細說我們的其他業務實現了。
新建流程模型
- 新增模型
(1)進入新建模型頁面
(2)填寫名稱等信息
注意,這里的Key是該流程的唯一標識,須與實際業務中約定的key一致,如下圖:
(3)點擊保存時會進入工作流模型子系統,先在流程唯一標識處填寫剛才的key
(4)添加開始事件,開始事件的屬性不用填(也可填寫名稱)。然后添加人工任務,如下圖:
(5)給已添加的人工任務添加指派者(填系統用戶或用戶組ID)、名稱、ID.如下圖:
注意,這里的ID是該任務的唯一標識,是實際業務中判斷是否為當前用戶可辦理的依據,須和代碼中判斷約定的ID保持一致,若不理解請參考下圖(但這種寫法會導致流程節點的靈活性降低,不太建議):
(6)新建一個網關,任務后面一般會連著網關,根據上一任務的處理結果來實現分支管理(作用類似于if判斷),請參考下圖:
注意,網關后面的分支要填寫名稱及跳轉條件,同意操作的跳轉條件為” ${auditPass}”,不同意的跳轉條件為” ${!auditPass}”
(7)按上述操作方法繼續完成流程圖的編輯。
(8)點擊保存模型
部署模型
重新進入模型工作區,部署剛添加的模型
轉換模型
轉換模型可理解為采納某個定義好的模型,采納完后涉及到該流程的業務操作將按新的模型運作。
使用工作流
新建并定義好模型后,即可使用該工作流模型了,以下為請假流程為例進行示范:
- 提交申請
提交完后可以在【運行中的任務】中看到該任務及其當前所在的節點
- 簽收任務
通過有權限處理該節點的用戶賬號登錄后,可在【任務簽收】處簽收該任務,獲得該事件的處理權(這一步驟可根據實際業務需要省略)。
- 辦理任務
在【待辦任務】中可對已簽收的任務進行辦理,辦理后任務會根據辦理結果移交下一節點,直至任務結束。
- 任務結束
任務結束后可在【已結束任務中】看到。
感謝閱讀,歡迎一起討論,共同學習。 --廣州學生梁植淋