[置顶] 工作流Activiti的学习总结- 整合简单的一个流程


[置顶] 工作流Activiti的学习总结- 整合简单的一个流程_第1张图片

先新建一个基础表

  leave:申请表内容(现在还没用到,测试还没有和业务挂钩)

  user:用户(比较简单)

  role:权限

关系是:用户有申请表 属于一个部门 部门有部门管理员

目前:员工-部长-主任

主任管理部长 部长管理员工

目前只有员工可以申请请假单(目前是这样)

[置顶] 工作流Activiti的学习总结- 整合简单的一个流程_第2张图片[置顶] 工作流Activiti的学习总结- 整合简单的一个流程_第3张图片

先来一个简单的流程图 员工申请到部门申请再倒主任审批

现在都是只有确定下一篇再加入否定

模拟申请请假单,其实就是添加新流程,业务还没写


        @Test
	public void TestAddLeave() {//添加请假单
                  identityService.setAuthenticatedUserId("a5fd2d9c-2de0-440c-b430-7c7daacc7d5e");//这个数字是用户的id
                 runtimeService.startProcessInstanceByKey("leave");//这个是流程图的名称
		
	}

[置顶] 工作流Activiti的学习总结- 整合简单的一个流程_第4张图片

@Test
public void TestRubzClaim() {//某一个部长认领任务
List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("7b2290f1-d929-4442-8624-99d7852b024f").list();//这个id是部长这个role的id
   for (Task task : tasks) {
     taskService.claim(task.getId(), "ed2607af-1194-442e-bfcd-3b6cd69ced98");//这个某一个部长id
   }
}
@Test
public void TestRubzComplete(){//这个部长批复
    List<Task> tasks = taskService.createTaskQuery().taskAssignee("ed2607af-1194-442e-bfcd-3b6cd69ced98").list();
    for (Task task : tasks) {
       taskService.complete(task.getId());
    }
}
@Test
public void TestRuUserClaim() {//某一个主任认领任务
   List<Task> tasks = taskService.createTaskQuery().taskCandidateUser("a5fd2d9c-2de0-440c-b430-7c7daacc7d5e").list();
   for (Task task : tasks) {
     taskService.claim(task.getId(), "a5fd2d9c-2de0-440c-b430-7c7daacc7d5e");
   }
}
@Test
public void TestRuUserComplete(){//这个主任批复
    List<Task> tasks = taskService.createTaskQuery().taskAssignee("a5fd2d9c-2de0-440c-b430-7c7daacc7d5e").list();
    for (Task task : tasks) {
        taskService.complete(task.getId());
   }
}


上面一个流程走完了

你可能感兴趣的:([置顶] 工作流Activiti的学习总结- 整合简单的一个流程)