基於Activiti工作流引擎實現的請假審核流程

2022-05-08 13:48:06 字數 1896 閱讀 5499

概要

本文件介紹的是某商用中整合的activiti工作流的部署及使用,該框架用的activiti版本為5.19.0。本文件中主要以乙個請假流程為例子進行說明,該例子的流程圖如下:

這是乙個可以正常運作的工作流業務了,但是它也有不足的地方,如沒做詳細的分支控制,而且寫死了節點,沒能更好地體現工作流引擎的靈活性,這些在我們後面實際的專案業務中的工作流使用上做了調整,但由於專案業務不能公開,且這個例子已能說明大部分的問題,這裡就不一一細說我們的其他業務實現了。

新建流程模型

新增模型

(1)進入新建模型頁面

(2)填寫名稱等資訊

注意,這裡的key是該流程的唯一標識,須與實際業務中約定的key一致,如下圖:

(3)點選儲存時會進入工作流模型子系統,先在流程唯一標識處填寫剛才的key

(4)新增開始事件,開始事件的屬性不用填(也可填寫名稱)。然後新增人工任務,如下圖:

(5)給已新增的人工任務新增指派者(填系統使用者或使用者組id)、名稱、id.如下圖:

注意,這裡的id是該任務的唯一標識,是實際業務中判斷是否為當前使用者可辦理的依據,須和**中判斷約定的id保持一致,若不理解請參考下圖(但這種寫法會導致流程節點的靈活性降低,不太建議):

(6)新建乙個閘道器,任務後面一般會連著閘道器,根據上一任務的處理結果來實現分支管理(作用類似於if判斷),請參考下圖:

注意,閘道器後面的分支要填寫名稱及跳轉條件,同意操作的跳轉條件為」 $」,不同意的跳轉條件為」 $」

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

(8)點選儲存模型

部署模型

重新進入模型工作區,部署剛新增的模型

轉換模型

轉換模型可理解為採納某個定義好的模型,採納完後涉及到該流程的業務操作將按新的模型運作。

使用工作流

新建並定義好模型後,即可使用該工作流模型了,以下為請假流程為例進行示範:

提交申請

提交完後可以在【執行中的任務】中看到該任務及其當前所在的節點

2. 簽收任務

通過有許可權處理該節點的使用者賬號登入後,可在【任務簽收】處簽收該任務,獲得該事件的處理權(這一步驟可根據實際業務需要省略)。

3. 辦理任務

在【待辦任務】中可對已簽收的任務進行辦理,辦理後任務會根據辦理結果移交下一節點,直至任務結束。

4. 任務結束

任務結束後可在【已結束任務中】看到。

Activiti工作流引擎定製

當前開源工作流引擎主要有jbpm activiti flowable幾種,其中flowable與activiti同出一源,flowable為activiti6.0主創人員出走後fork的新分支,與activiti6.0演進思路一致,activiti7.0更強調雲功能 jbpm為jboss產品,jbp...

Activiti5工作流引擎

1.1 1 pocessengine是activiti中最核心的類,其他的類都是由他而來 1.1 2 產生方式 processengine processengine processengines.getdefaultprocessengine 呼叫 processengine的getdefault...

Activiti工作流引擎學習總結

經過這三天對與activiti的軟磨硬泡,也算是小有所獲。想要學會工作流引擎其實很簡單,搞清楚processengine activiti引擎 並且理解其中幾大服務介面 服務 repositoryservice 資源相關的服務 runtimeservice 流程啟動以及執行的相關服務 taskser...