Activiti組任務 十

2021-10-01 20:03:32 字數 2678 閱讀 3497

在流程定義中在任務結點的 assignee 固定設定任務負責人,在流程定義時將參與者固定設定

在.bpmn 檔案中,如果臨時任務負責人變更則需要修改流程定義,系統可擴充套件性差。

針對這種情況可以給任務設定多個候選人,可以從候選人中選擇參與者來完成任務。

設定任務候選人

在流程圖中任務節點的配置中設定 candidate-users(候選人),多個候選人之間用逗號分開。

檢視 bpmn 檔案:

我們可以看到部門經理的審核人已經設定為 zhangsan,lishi 這樣的一組候選人,可以使用

activiti:candiateusers=」使用者 1,使用者 2,使用者 3」的這種方式來實現設定一組候選人 。

1.1.1 組任務辦理流程

第一步:查詢組任務

指定候選人,查詢該候選人當前的待辦任務。

候選人不能辦理任務。

第二步:拾取(claim)任務

該組任務的所有候選人都能拾取。

將候選人的組任務,變成個人任務。原來候選人就變成了該任務的負責人。

如果拾取後不想辦理該任務?

需要將已經拾取的個人任務歸還到組裡邊,將個人任務變成了組任務。

第三步:查詢個人任務

查詢方式同個人任務部分,根據 assignee 查詢使用者負責的個人任務。

第四步:辦理個人任務

1.1.2 使用者查詢組任務

先部署專案

//

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的任務,...