1. 程式人生 > >jbpm 個人任務和組任務

jbpm 個人任務和組任務

jbpm任務分為個人任何和組任務(具體怎麼設定見 jbpm動態指定任務對應的使用者 部落格)

個人任務:任務屬於一個人,該任務已經分配到指定的某一個人,可以直接執行任務(前幾個部落格針對的都是個人任務,不在這再做詳解)。

組任務:任務屬於一個組,這個組裡所有人都可以執行該任務,但執行前提是必須認領該任務將該任務變為個人任務,認領完之後才能執行,可以在認領任務後做退回或轉讓操作(轉讓的使用者也必須在對應的組裡)。

設定組任務:

1:部署之後做啟動操作(動態設定使用者組流程變數)

	@Test
	public void start() {
		Map<String, String> map = new HashMap<String, String>();

		map.put("userids", "lily,lucy,dim,tom,carry");
		
		pe.getExecutionService().startProcessInstanceById("financeGroupApprove-1", map);
	}

這時在資料庫裡會有一個task但對應的分配使用者為空

2:carry使用者去認領任務

	@Test
	public void accept()
	{
		pe.getTaskService().takeTask("560003", "carry");
	}
這時資料庫task對應的分配使用者為carry

3:當carry使用者不想執行該任務想轉移至lucy使用者。

	
	@Test
	public void assign()
	{
		pe.getTaskService().assignTask("560003", "lucy");
	}


這時task表裡對應的使用者變為lily

4:lucy不想執行任務也不想轉移想直接退回任務

	@Test
	public void returnback()
	{
		pe.getTaskService().assignTask("560003", null);
	}

這時資料庫task對應的分配使用者變為空