1. 程式人生 > >組任務分配

組任務分配

組任務分配

標籤(空格分隔): activiti


工作流中表act_id_user存放的是使用者資訊,表act_id_group存放的是組資訊,表act_id_memship存放的是使用者和組的關聯關係。
act_id_memship表中USER_ID和GROUP_ID分別表示使用者表和元件表的元件。act_id_info表示使用者表的擴充套件,存放使用者資訊。
大專案都有自己的人員角色許可權的表,小專案可以使用上面提到的工作流的表。

下面介紹如何新增使用者:
@Test
public void testSaveUser(){
IdentityService identityService=processEngine.getIdentityService();
User user=new UserEntity();//例項化使用者實體
user.setId(“張三”);
user.setPassword(“123456”);
user.setEmail(“

[email protected]”);
identityService.saveUser(user);
}

新增完後在act_id_user表中可以看到相應的使用者資訊。

刪除使用者的方法:
/**
* 刪除使用者
*/
@Test
public void testDeleteUser(){
IdentityService identityService=processEngine.getIdentityService();
identityService.deleteUser(“李四”);
}

新增組的方法為:
@Test
public void testSaveGroup(){
IdentityService identityService=processEngine.getIdentityService();
Group group=new GroupEntity();
group.setId(“test”);
identityService.saveGroup(group);
}
檢視act_id_group表就可以查到相應資訊。其中這個表的主鍵ID,就是程式碼中設定的ID

刪除組的方法為:
@Test
public void testDeleteGroup(){
IdentityService identityService=processEngine.getIdentityService();
identityService.deleteGroup(“test”);
}

新增使用者和組的關聯關係的方法為:
/**
* 測試新增使用者和組的關聯關係
*/
@Test
public void testSaveMembership(){
IdentityService identityService=processEngine.getIdentityService();
identityService.createMembership(“張三”, “dev”);
}
上面程式碼中,將張三這個人放到dev這個組裡面去。檢視act_id_membership表可以檢視到相應資訊。

刪除使用者和組的關聯關係的方法為:
@Test
public void testDeleteMembership(){
IdentityService identityService=processEngine.getIdentityService();
identityService.deleteMembership(“李四”, “dev”);
}

組任務分配的概念:
實際業務開發中,某一個審批任務節點可以分配給一個角色(或者叫做角色),然後屬於這個角色的任何一個使用者都可以去完成這個任務節點的審批

應用:

方法一:
流程圖中某一個節點選中後,在main config選項中對Candidate gro…ma separated中填寫組的ID,如上面提到的dev。這樣這個dev(角色)組下面的所有使用者都可以對提交到這個節點的任務進行審批操作。

方法二:
流程圖中某一個節點的main config選項對Candidate gro…ma separated中填寫流程變數${groupId}。然後在啟動流程的時候:
public void start(){
Map