以上是一个请假的流程图,以下为流程任务节点描述:
processinstance process = runtimeservice.startprocessinstancebykey("leave",businesskey, variables); task task = taskservice.createtaskquery().processinstanceid(process.getid()).active().singleresult(); //此时,不要应删除掉流程图中赋值的角色,否则会重复 taskservice.addcandidategroup(task.getid(),"部门经理");
通过逻辑:
map<string,object> variables=new hashmap<string,object>(); variables.put("approve", "true"); task task = taskservice.createtaskquery().processinstanceid(processinstanceid).active().singleresult(); //一定要认领任务之后,重新获取当前任务,然后分配角色。 taskservice.claim(taskid, userid); taskservice.complete(taskid, variables); task = taskservice.createtaskquery().processinstanceid(process.getid()).active().singleresult(); //此时,不要应删除掉流程图中赋值的角色,否则会重复 taskservice.addcandidategroup(task.getid(),"人事");
拒绝逻辑:
map<string,object> variables=new hashmap<string,object>(); variables.put("approve", "false"); task task = taskservice.createtaskquery().processinstanceid(processinstanceid).active().singleresult(); //一定要认领任务之后,重新获取当前任务,然后分配角色。 taskservice.claim(taskid, userid); taskservice.complete(taskid, variables); task = taskservice.createtaskquery().processinstanceid(process.getid()).active().singleresult(); //applyid为申请人id taskservice.addcandidateuser(task.getid(),applyid);
taskquery taskquery = taskservice.createtaskquery(); list<task> list = taskquery.taskcandidateorassigned(userid)
使用api的话,需要做视图映射,activiti开发案例之创建用户表视图实现关联查询
-- 多个用户或者角色可以用 in select distinct res.* from act_ru_task res left join act_ru_identitylink i on i.task_id_ = res.id_ where suspension_state_ = '1' and ( res.assignee_ ='99' or (res.assignee_ is null and ( i.user_id_ = '99' or i.group_id_ = '部门经理' )))
如对本文有疑问, 点击进行留言回复!!
现在微服务这么火,你还不了解吗?阿里P8推荐的微服务学习指南
论文笔记:SlowFast Networks for Video Recognition
网友评论