在流程定義中在任務結點的 assignee 固定設定任務負責人,在流程定義時將參與者固定設定
在.bpmn 檔案中,如果臨時任務負責人變更則需要修改流程定義,系統可擴充套件性差。
針對這種情況可以給任務設定多個候選人,可以從候選人中選擇參與者來完成任務。
設定任務候選人
在流程圖中任務節點的配置中設定 candidate-users(候選人),多個候選人之間用逗號分開。
檢視 bpmn 檔案:
我們可以看到部門經理的審核人已經設定為 zhangsan,lishi 這樣的一組候選人,可以使用
activiti:candiateusers=」使用者 1,使用者 2,使用者 3」的這種方式來實現設定一組候選人 。
1.1.1 組任務辦理流程
第一步:查詢組任務1.1.2 使用者查詢組任務指定候選人,查詢該候選人當前的待辦任務。
候選人不能辦理任務。
第二步:拾取(claim)任務
該組任務的所有候選人都能拾取。
將候選人的組任務,變成個人任務。原來候選人就變成了該任務的負責人。
如果拾取後不想辦理該任務?
需要將已經拾取的個人任務歸還到組裡邊,將個人任務變成了組任務。
第三步:查詢個人任務
查詢方式同個人任務部分,根據 assignee 查詢使用者負責的個人任務。
第四步:辦理個人任務
先部署專案
//啟動例項1.部署流程定義
public
static
void
main(string args)
//填寫請假單的任務要執行完成2.啟動流程例項
public
static
void
main(string args)
//3.填寫請假單的任務要執行完成
public
static
void
main(string args)
//5.輸出任務的id
根據候選人查詢組任務
//4.查詢候選使用者的組任務
來拾取組任務//5.測試zhangsan使用者,來拾取組任務
//抽取任務的過程就是將候選使用者轉化為真正任務的負責人(讓任務的assignee有值)
當前的使用者查詢自己的任務
//6.當前的使用者查詢自己的任務
當前使用者完成自己的任務
//7.當前使用者完成自己的任務
歸還組任務
如果個人不想辦理該組任務,可以歸還組任務,歸還後該使用者不再是該任務的負責人
//說明: 建議歸還任務前校驗該使用者是否是該任務的負責人歸還組任務,由個人任務變為組任務,還可以進行任務交接
@test
public
void
setassigneetogrouptask()
}
也可以通過 setassignee 方法將任務委託給其它使用者負責,注意被委託的使用者可以不是候選人(建議
不要這樣使用)
任務交接
//8.任務交接,前提要保證當前使用者是這個任務的負責人,這時候他才可以有許可權去將任務交接給其他候選人
activiti操作之組任務與閘道器
組任務的存在是指定給特定的一批人去操作任務,例如班長審核,既可以是正班長,也可以是副班長,但是並沒有指定某乙個人,只要符合條件的都可以去拾取任務,然後完成任務。任務查詢 list tasklist taskservice.createtaskquery processdefinitionkey de...
Activiti流程任務
任務候選人 組 public class candidatetest 任務持有人 public class ownertest 任務 人 public class claimtest 任務引數 public class vartest public class servartest 引數作用域 pu...
Activiti 五 完結任務
當我們知道了個人的任務後就可以對任務進行完結 得到processengine 物件得到 taskservice 物件查詢任務 判斷完結任務 public class activititask act hi actinst表 我們看到執行人xiaoyi有了結束時間,並且表中多了一條xiaoer的任務,...