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à啟動流程
系統自動調用流程設計時設置的開始節點中的“表單標識”地址
這事待辦人的待辦中出現一條待辦項
點擊進入辦理,下方顯示流轉信息:
流程跟蹤圖:
在待辦中點擊“環節名稱”,進入流程跟蹤圖界面
辦理任務,最下方顯示流轉信息: