1. 程式人生 > >馳騁工作流引擎設計系列10時效考核規則設計

馳騁工作流引擎設計系列10時效考核規則設計

紅色 操作 ali tsp info num bottom 出現 結構

第1節. 關鍵字

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

第1節. 時效考核規則設計

考核是流程運行的副產品,業務搬到了計算機上,整個運行軌跡就會被有效的記錄下來。CCBPM的考核分為時效考核、質量考核。時效考核是對工作及時程度的一種考核,而質量考核是一個節點對上一個節點工作完成好壞的一個考核。

1.1.1: 時效考核的系統配置

系統配置分為工作日信息設置,節假日信息設置。

上下班&午休時間配置,該設置在全局變量裏:JFlow的配置:

技術分享圖片

CCFlow的配置:

技術分享圖片

時間點的計算方式:

技術分享圖片

B與D才是有效的時效區間,A,C,E的區間是需要扣除的。

節假日配置:

技術分享圖片

如果是節假日,打上對勾,點擊保存,就是告訴系統這幾天是節假日,在計算時間的時候要扣除。

說明:該配置的信息寫入了Sys_GloVer 表裏。Ccbpm的計算方式:系統是按照分鐘來計算的。

1.1.2: 時效基本設置

下圖是考核設置部分:

技術分享圖片

時效的設置:

限期(天)與小時,兩個字段決定了考核的時長。

如果限期是一天半,那末在限期天字段設置為1,在小時裏設置為4就可以了。按照通常的計算,如果是周5下班的時間發送的一件工作,那末該工作在下周2個上午午休時間之前完成都沒有預期。

如果一件工作需要3.5個小時完成,直接在限期(天)字段裏設置為0,在小時字段裏設置為3.5,在計算時間的時候,系統就會考慮午休的時間來合理的計算出來應該完成時間。

工作的三個狀態:

一個任務分配下去後,它有三個狀態,分別是:正常、預警、逾期。

警告期限,就是提前多少天預警。限期,就是該工作需要多少天完成。比如:設置限期3天完成,警告期限是1天。

那麽,周1接受到的任務,應該是周4完成,如果周3還沒有完成,就成警告狀態了。

技術分享圖片

應完成時間的計算場景:

場景1:如果一個人在節假期發送了一件工作,那末下一個時間點的計算方式就是,就是下次上班的開始時間。

場景2:如果一個人處理工作的時間點是,節假日時間,那麽他的實際完成時間的計算點是,下次上班的開始時間。

場景3:如果一個人在工作日的午休時間發送的一件工作,那末他的計算時間點是,下午上班的時間。

工作退回的時效考核計算方式:

現在有ABC三個節點,他們的時限期限都是1天。

一個流程實例A節點上的張三在周1的一上班發個給了B節點上的李四,李四的應完成時間是當天的下午下班之前,李四在下班之前提交給C節點上的王五了。王五,在次日接到該工作後又退回給李四,這個時間李四就預期了。

解析:之所以李四預期是因為李四的工作錯誤,導致的王五退回給他,在王五接受工作的時間點內,仍然算李四的工作量。

1.1.3: 關於會簽主持人與會簽人的時效考核計算規則

關鍵字: ccflow 時效考核\時效考核的配置規則\會簽主持人\會簽主持人的時間計算方式.

應用場景:如果當前節點配置了時效考核,並且如果配置了啟用會簽按鈕,如何計算會簽人、主持人的時效.

會簽主持人定義:一個節點的處理人發送給該人,該工作人員啟用了會簽,他就是會簽主持人。比如:一個出納發起請假申請給財務經理,財務經理請求人力資源進行會簽。那麽財務經理是該工作的主持人,人力資源就是會簽人。

對主持人考核:

時間段:當財務經理接收到工作就開始計算時間,到他選擇會簽人,點確定按鈕為第一時間段。從當所有會簽人都執行完會簽完畢後到主持人發送到下一個節點為第2時間段。兩個時間段之和就是主持人所用的時間,作為考核依據。

對會簽人的考核:

從主持人把會簽人選擇列表後,點確定按鈕該操作人員都已經出現待辦,就執行計算,到他會簽時間點止。

事例說明1

張三,在周1接受到一個工作,周2他讓李四,王五執行會簽。周4兩個人會簽完畢轉到了張三身上,周5張三發送給下一個節點。

這個案例中張三第1個時間段從周1到周2用了一天。第2個時間段,所有人會簽完畢後返回到他身上起(周4)到他發送到下一個節點止(周5)用了1天。

所以張三在這次會簽過程中用去了1+1=2天時間。

事例說明2

接上一個事例,如果張三在周3又邀請了孫錢做了會簽,周4所有的會簽人都執行完畢回到了張三身上。那麽張三在第一個時間段(周1到周3)用了兩天,第2個時間段(周4到周5)用了1天。

所以張三用了 2+1=3天。

1.1.4: 時效考核的存儲

在節點發送後,系統就會自動計算時效的時間,就會產生一條數據,下面是數據存儲表的數據結構。

技術分享圖片

數據存儲:

技術分享圖片

數據說明:

MyPK是一個組合的主鍵,它保障了業務數據的唯一性,格式為:從節點ID_工作ID_FID_到達的節點ID

DTFrom時間從,DTTo時間到,SDT應該完成時間(現在是系統調度過來的所以沒有)。

TSpan相隔的天數,

l UseTime字段是系統生成出來的對於時間的文字描述。

l UseMinutes就是該工作使用的分鐘數,系統是按照分鐘為計算單位,如果為負數,就是提前完成的時間。

l FK_NY年月,格式為yyyy_MM ,方便統計與分析。

l Week是周,就是1年的第幾周,他是自動計算的也是為了方便分析的需要。

l MyNum始終等於1,也是為了分析所需要。

1.1.5: 時效考核的二次開發

因為考核的需求很難被抽象出來,以適應各種單位的考核需要,但是ccbpm提供了基礎的數據,讓其在此基礎上進行二次開發。

這些數據可以從兩個方面WF_CH與NDxxxTrack 軌跡表,ccbpm為每個流程都生成一個NDxxxTauck表,xxx標識流程編號轉化的int類型,比如:流程編號為001的就會產生一個ND1Truck, 流程編號為201的就產生一個ND201Tauck表,如下表:

技術分享圖片

該表的紅色方框裏是活動類型,ccbpm會把每一個對流程的操作記錄到這裏個表裏,它是一個流程軌跡表,也叫流程日誌表,開發人員可以根據這個表的數據完成個性化的考核。

第2個數據來源,就是WF_CH,該表的表結構不再贅述。

馳騁工作流引擎設計系列10時效考核規則設計