1. 程式人生 > >activit工作流-會籤流程(多例項)

activit工作流-會籤流程(多例項)

使用工作流的時候有時會遇到這樣的一種情況就是一個任務需要幾個人一起審批,人數不定。這時常規的使用者任務就無法滿足要求,我們稱這種任務為會籤任務。

下面是我開發中的遇到的一個業務好遇到這種情況,記錄一下,以便小白參考。

流程圖:


說明:這是一個公文流轉(收文)流程,先是“公文管理”提交收文檔案,然後綜合部長審批,然後主要領導審批,然後主要領導指派幾個分管領導會籤,會簽完成後交由部門負責人簽收,然後部門負責人指派幾個部門人員處理,部門人員處理完成後及流程結束。這個流程我們看到分管領導和“部門人員”這兩個任務節點是會籤節點也可以叫多例項,因為本文只要講解會籤任務,所以其他節點不在詳述,我們以其中一個會籤節點“分管領導”任務節點為例看下它是如何配置的。

點選“分管領導”節點,選擇“Main config”設定指定會籤的領導:


然後點選 “Multi instance”多例項選項,配置如下:


經過上面兩個配置,就基本達到了我流程的需求,下面講一下各個屬性的含義

Multi instance:

Sequence 設定流程為序列還是並行處理,序列即為幾個處理人一個個處理,前一個人處理完了下一個人才能處理,

並行即為處理不分先後,也可以一起處理。這種我選擇false並行處理。

Loop cardinality設定節點的迴圈次數,有的任務可能需要處理多次。這個我們沒需求所以不配置。

Collection 設定處理人集合,流程會自動分配給List集合中的處理人,這裡我們設定變數名叫assigneeList你也可以叫其他名字。

Element variable設定一個處理人變數,這個值是上面list中的一個物件,我們叫assigee,你也可以叫其他名字,但是這個變數需要

和你在Main Config中配置的變數名保持一致,不然查詢當前任務時會查到2條相同的任務。

Completion condition設定結束條件,在這裡配置會簽結束條件,我的業務是所有人分管領導處理完後進入下一個任務,

所有配置${nrOfCompletedInstances/nrOfInstances >= 1},但是不要配置成${nrOfCompletedInstances==nrOfInstances }

雖然我們理解意思是一樣的,但這樣好像activiti不能識別,只要有一個人處理就提前結束了任務。