JEESITE快速開發平臺(八)工作流的應用實例

1 新建流程模型

在線辦公à流程管理à模型管理à新建模型

 

點擊“提交”後會立即跳轉到“流程在線設計器”頁面,請看下一章節

2 在線流程設計器

在線辦公à流程管理à模型管理à模型管理à編輯

注意:此功能不支持IE,請用谷歌或火狐瀏覽器編輯。

 

2.1 設置流程屬性

 

l 名稱:流程定義名稱

l 描述:流程定義描述

l 流程標識:流程定義KEY,對應procDefKey,用來標識一個流程

2.2 拖拽形狀元素

l Start event:開始事件

l End entit:結束事件

l User task:用戶任務活動

l Service task:服務任務活動

l Exclusive gateway:排它網關通道,只能有一條分支執行,如if else

l Parallel gateway:並行網關通道,所有分支一塊執行

l Enclusive gateway:包含網關通道,執行符合條件的分支

 

參考:http://www.mossle.com/docs/activiti/#bpmnConstructs

2.3 流程發起人流程變量

在開始節點的屬性中設置“流程發起人”變量名:如:apply

 

這時,任務的參與者可設置${apply},來指定誰發起誰執行

 

如發起人發起流程,被駁回是,駁回到發起人,可使用方法。

2.4 掛接表單地址

l 全局表單:新建流程時或活動元素上未設置表單標識時調用的表單,位於開始事件屬性中“表單標識”字段,指定表單訪問地址。

l 活動表單:當前步驟使用的表單,使用活動節點屬性“表單標識”字段。

 

2.5 設置參與者

在活動節點屬性中找到“參與者”屬性,點擊“…”彈出如下窗口

 

l assignee:任務執行人,設置系統中的“登錄名”(loginName)。

l candidateUsers:任務執行人,多個用逗號“,”隔開。

l candidateGroups:任務執行組,多個用逗號“,”隔開,設置系統中的“角色英文名(enname)”。

assignee和candidateUsers的區別是:assignee不需要簽收任務,直接可執行任務;candidateUsers爲競爭方式分配任務,被指定人待辦中都有一條任務,誰先簽收誰就獲得任務的執行權。

參與者可指定流程變量(EL表達式),動態指定參與者,如:${processer}

2.6 設置流轉條件

在流轉線的屬性中找到“流轉條件”,這裏,寫EL表達式,返回true或false,如:${flag == ‘1’}

 

2.7 保存流程設計圖

工具欄上點擊“保存”按鈕

 

填寫名稱和描述,點擊“保存”按鈕。

 

此時可點擊瀏覽器上的“叉號”關閉流程設計窗口。

2.8 注意事項

l 所有編號,如:模型編號、流程編號、活動節點編號,都不允許以數字開頭。

3 部署流程

上步咱們學習了流程設計,產生流程設計圖,如何將我們的圖部署到系統中並使用呢,請看如下操作:

l 在線辦公à流程管理à模型管理à模型管理à部署

l 接着系統會提示“部署成功”信息,如果提示錯誤,說明你流程設計圖有問題,請檢查錯誤,重新執行部署操作。

l 另外兩種部署方法,通過eclipse插件設計好的流程:

² 在線辦公à流程管理à流程管理à部署流程à選擇流程.bpmn.xml

² 編寫並執行ant腳本,啓動系統將自動部署

/ jeesite/src/main/resources/act/build.xml。

l 設置流程分類:在流程管理中直接點擊流程分類進行設置。

l 同一標識流程,部署多次,版本號自動加1

l 正在運行的流程,再次部署新流程後,正在運行的流程還按照原來流程設置走,再次新建的流程使用新流程走。

4 流程表單流轉

4.1 數據庫設計

使用erm進行數據庫建模,然後使用代碼生成工具生成增刪改查代碼。

流程業務表中必須包含,如下字段:

 

 

 

生成ddl導入數據庫

4.2 代碼生成代碼

功能訪問路徑與第2章掛接表單對應(/oa/testAudit/form);

請參考:“在線辦公->個人辦公->審批測試”模塊

源碼:com.thinkgem.jeesite.modules.oa.*. TestAudit*.java,testAudit*.jsp

4.3 啓動流程接口

TestAuditService.java第62行,傳遞參數如下:

/**

 * 啓動流程

 * @param procDefKey 流程定義KEY

 * @param businessTable 業務表表名

 * @param businessId業務表編號

 */

@Transactional(readOnly = false)

public void startProcess(String procDefKey, String businessTable, String businessId)

4.4 提交任務接口

TestAuditService.java第123行,傳遞參數如下:

/**

 * 提交任務, 並保存意見

 * @param taskId 任務ID

 * @param procInsId 流程實例ID,如果爲空,則不保存任務提交意見

 * @param comment 任務提交意見的內容

 * @param vars 任務變量

 */

@Transactional(readOnly = false)

public void complete(String taskId, String procInsId, String comment, Map<String, Object> vars)

4.5 視圖流轉信息調用組件

傳遞流程實例ID,如下:

<tags:actHistoicFlow procInsId="${testAudit.act.procInsId}" />

5 測試執行

在線辦公à個人辦公à新建任務àtest_audità啓動流程

系統自動調用流程設計時設置的開始節點中的“表單標識”地址

 

這事待辦人的待辦中出現一條待辦項

 

點擊進入辦理,下方顯示流轉信息:

 

 

流程跟蹤圖:

在待辦中點擊“環節名稱”,進入流程跟蹤圖界面

 

辦理任務,最下方顯示流轉信息:

 

 

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