1. 程式人生 > >馳騁工作流引擎設計系列05 啟動流程設計

馳騁工作流引擎設計系列05 啟動流程設計

 

啟動流程設計

第1節. 關鍵字

馳騁工作流引擎 流程快速開發平臺 workflow ccflow jflow

第1節. 啟動流程設計

流程啟動是流程運動的第一個環節,有如下幾個步驟,選擇一個流程模版,進入流程啟動程式,其次檢查一下該流程模版是否可以被該人員發起,不能發起提示錯誤資訊。

1.1.1: 啟動過程圖

image

image

寫入流程業務表一條記錄。

1.1.2: 流程狀態變化的概要說明

操作員啟動一個流程,建立一個workid,這個時候的狀態是空白狀態,也叫站位狀態,如果在啟動之前已經有了這個站位狀態,它就不在建立新的workid而是取出來這個workid作為當前流程的例項。

如果啟用了草稿規則,並且允許有草稿的模式下:

這個時間,如果使用者點選儲存該狀態從空白狀態轉化為草稿狀態,如果使用者執行傳送當前節點就執行到下一個節點上去了,當前狀態變為執行中的狀態。如果使用者直接關閉了,這個時間的狀態就是草稿狀態,可以在草稿裡找到這條例項記錄。

如果不啟用草稿,在這種模式下:

這個時間,如果使用者點選儲存,仍然是空白狀態。使用者點擊發送後,由空白狀態轉化為執行中狀態,當前節點運動到下一個節點上去,下一個節點的工作人員就產生了待辦。

如果上一個節點退回了,執行了退回操作,當前的流程狀態就變成為退回狀態,上一個節點人被退回人就有了待辦工作,被退回人開啟後,就可以看到退回訊息,他點擊發送後又變成了執行中的狀態,傳送到下一個節點上去了。

流程走到最後一個節點,點擊發送,整個流程就結束了,狀態變為流程完成狀態。

1.1.3: 介面定義 Node_CreateBlankWork(String flowNo)

建立一個空白的WorkID,需要指定一個流程編號,返回一個workid,開發人員拿到這個workid後,就可以作為主鍵,儲存開始表單資料了。

image

生成一個序列號的定義:

該方法有多個變形,在以後的父子流程的時候用到:

image

在建立workid的時候,如果用到了ccbpm的內部表單,需要把資料儲存到業務表裡,要給主表,從表資料傳遞資料,主表的資料傳遞採用hashtable的key, value 的方式,對於從表的資料傳遞採用的是dataset的模式。

public static long Node_CreateBlankWork(String flowNo, java.util.Hashtable ht, DataSet workDtls, String starter,

String title, long parentWorkID, long parentFID, String parentFlowNo, int parentNodeID, String parentEmp,

int jumpToNode, String jumpToEmp)

如果建立workid需要父子流程,就需要寫入父流程的資訊。