Activiti (五) 完结任务

当我们知道了个人的任务后就可以对任务进行完结


接下来我们用代码完结任务


完结任务的步骤:

  1. 得到ProcessEngine对象
  2. 得到TaskService对象
  3. 查询任务
  4. 判断
  5. 完结任务

创捷类ActivitiTask

public class ActivitiTask {
    public static void main(String[] args) {
            //1:定义ProcessEngine对象,自己封装的工具类也可以 
                    ProcessEngines.getDefaultProcessEngine();
            ProcessEngine processEngine= ReturnProcessEngineUtil.getProcessEngine();
            //2:得到TaskService对象
            TaskService taskService=processEngine.getTaskService();
            //3:查询任务
            Task task=taskService.createTaskQuery().processDefinitionKey("day").taskAssignee("xiaoyi").singleResult();
            //4:判断
            if(task!=null){
                //5:完成任务
                taskService.complete(taskId);
                System.out.println(" 完结任务 ");
                System.out.println("task.getId() = " + task.getId());
            }

           

    }
}

我们看下数据库被影响的表

  • act_hi_actinst     已完成的活动信息
  • act_hi_identitylink   参与者信息
  • act_hi_taskinst   任务实例
  • act_ru_identitylink   参与者信息
  • act_ru_task  当前任务

act_hi_actinst表:我们看到执行人xiaoyi有了结束时间,并且表中多了一条xiaoer的任务,还没有完成任务,所以还没有就结束时间

act_hi_identitylink表:可以看到表中多了一条参与者信息,因为xiaoyi任务完成后,会自动到了洗澡也就是xiaoer的任务

 

act_hi_taskinst表:相同的,可以看到任务实例中也多了xiaoer的记录

act_ru_identitylink表:

act_ru_task表:可以看到之前xiaoyi的吃饭任务被覆盖了,取而代之的时xiaoer的洗澡任务,xiaoer任务执行完后同样会被覆盖,知道流程走完act_ru_task就会被清空

 



原创文章,未经允许禁止盗用



 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章