您的位置:首页 > 其它

activiti 候选人:(候选组)流程设计:

2017-03-26 13:31 399 查看
候选人:可以设置多个执行,但是真正执行的只有1个,只要有人签收之后,其他人的代签收任务将会没有这些任务:即只要有人签收任务,其他人的任务就直接被删除(隐式的删除)

流程设计



人事部审批节点候选人:zzz,xxx

部署流程后:流程定义ID:候选人:1:85004

查询节点执行人(包括候选人和候选组):act_hi_identitylink

启动流程: 

    public
void
startprocessByKey(String key){
        Stringapplyuser ="zyq";
        identityService.setAuthenticatedUserId(applyuser);
        Map<String,Object>variables =
new HashMap();//设置流程变量
        variables.put("applyUserId","qwer");
        variables.put("applyTitle","test_请假申请流程");
        variables.put("applyTime","7天");
        variables.put("applyCtreateTime",new Date());
        variables.put("applyReason","休假");
        //设置候选人:上级领导审批
        Listlist =new
ArrayList();
        list.add("zzz");
        list.add("xxx");
        variables.put("managerIds",list);
        ProcessInstanceprocessInstance =
runtimeService.startProcessInstanceByKey(key,variables);
   
    Tasktask =
taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
    System.out.println(task.getAssignee());
       
    }

 

这时流程表中:

正在运行的变量:



正在运行的任务:(历史表中也一样)



查询候选人任务:taskCandidateUser/taskCandidateOrAssigned

   List<Task> list =
taskService.createTaskQuery().taskCandidateUser(assignee).
                orderByTaskCreateTime().desc().list();//查询所拥有的候选任务

List<Task> list =taskService.createTaskQuery().taskCandidateOrAssigned(assignee)
                .orderByTaskCreateTime().desc().list();//查询所拥有的个人&候选任务

 

办理候选任务

首先要领取任务:

taskService.claim(taskId,
assignee);

taskService.complete(taskId,variables);

 

例如:xxx
签收办理了

    public
void
mytaskClaimAComplete(String taskId,String
assignee){
        taskService.claim(taskId,
assignee);
        Map<String,Object>variables =
new HashMap();//设置流程变量
        variables.put("managerCheckResult",
"同意");
        variables.put("managerCheckreason","可用年休假");
        variables.put("managerTime",new Date());
        taskService.complete(taskId,variables);
        }

历史任务表:

上级领导审批人:assingee: xxx

在人事部审批节点也是要先签收后办理;

已办理任务查询没有什么特殊的,按常规查询即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: