概要
本文檔介紹的是某商用中集成的Activiti工作流的部署及使用,該框架用的Activiti版本為5.19.0。本文檔中主要以一個請假流程為例子進行說明,該例子的流程圖如下:

這是一個可以正常運作的工作流業(yè)務(wù)了,但是它也有不足的地方,如沒做詳細的分支控制,而且寫死了節(jié)點,沒能更好地體現(xiàn)工作流引擎的靈活性,這些在我們后面實際的項目業(yè)務(wù)中的工作流使用上做了調(diào)整,但由于項目業(yè)務(wù)不能公開,且這個例子已能說明大部分的問題,這里就不一一細說我們的其他業(yè)務(wù)實現(xiàn)了。
新建流程模型
- 新增模型
(1)進入新建模型頁面

(2)填寫名稱等信息

注意,這里的Key是該流程的唯一標(biāo)識,須與實際業(yè)務(wù)中約定的key一致,如下圖:

(3)點擊保存時會進入工作流模型子系統(tǒng),先在流程唯一標(biāo)識處填寫剛才的key

(4)添加開始事件,開始事件的屬性不用填(也可填寫名稱)。然后添加人工任務(wù),如下圖:

(5)給已添加的人工任務(wù)添加指派者(填系統(tǒng)用戶或用戶組ID)、名稱、ID.如下圖:

注意,這里的ID是該任務(wù)的唯一標(biāo)識,是實際業(yè)務(wù)中判斷是否為當(dāng)前用戶可辦理的依據(jù),須和代碼中判斷約定的ID保持一致,若不理解請參考下圖(但這種寫法會導(dǎo)致流程節(jié)點的靈活性降低,不太建議):

(6)新建一個網(wǎng)關(guān),任務(wù)后面一般會連著網(wǎng)關(guān),根據(jù)上一任務(wù)的處理結(jié)果來實現(xiàn)分支管理(作用類似于if判斷),請參考下圖:

注意,網(wǎng)關(guān)后面的分支要填寫名稱及跳轉(zhuǎn)條件,同意操作的跳轉(zhuǎn)條件為” ${auditPass}”,不同意的跳轉(zhuǎn)條件為” ${!auditPass}”

(7)按上述操作方法繼續(xù)完成流程圖的編輯。

(8)點擊保存模型

部署模型
重新進入模型工作區(qū),部署剛添加的模型

轉(zhuǎn)換模型
轉(zhuǎn)換模型可理解為采納某個定義好的模型,采納完后涉及到該流程的業(yè)務(wù)操作將按新的模型運作。

使用工作流
新建并定義好模型后,即可使用該工作流模型了,以下為請假流程為例進行示范:
- 提交申請

提交完后可以在【運行中的任務(wù)】中看到該任務(wù)及其當(dāng)前所在的節(jié)點
- 簽收任務(wù)
通過有權(quán)限處理該節(jié)點的用戶賬號登錄后,可在【任務(wù)簽收】處簽收該任務(wù),獲得該事件的處理權(quán)(這一步驟可根據(jù)實際業(yè)務(wù)需要省略)。

- 辦理任務(wù)
在【待辦任務(wù)】中可對已簽收的任務(wù)進行辦理,辦理后任務(wù)會根據(jù)辦理結(jié)果移交下一節(jié)點,直至任務(wù)結(jié)束。



- 任務(wù)結(jié)束
任務(wù)結(jié)束后可在【已結(jié)束任務(wù)中】看到。
感謝閱讀,歡迎一起討論,共同學(xué)習(xí)。 --廣州學(xué)生梁植淋