代码示例:查询一个任务并审批
Task task = configuration.getTaskService().createTaskQuery().taskAssignee("kermit").singleResult();
if(StringUtils.isBlank(task.getAssignee())){
//认领任务
configuration.getTaskService().claim(task.getId(),"kermit");
//取消认领任务
//configuration.getTaskService().unclaim(kermit.getId(),"zhangpf");
}
//设置当前用户ID,若不设置在插入Comment时数据表userid字段为null
Authentication.setAuthenticatedUserId("kermit");
//添加审批意见
configuration.getTaskService().addComment(task.getId(), task.getProcessInstanceId(), "打招呼", "vx你有吗");
//提交任务
configuration.getTaskService().complete(task.getId());
注意事项:Authentication.setAuthenticatedUserId(“kermit”)是设置当前用户ID(真实的生产环境需要考虑此代码的写入时机),若不设置在插入Comment时数据表userid字段为null,底层其实维护了一个ThreadLocal。具体源码如图。Comment插入只是其中一种获取当前用户的情况,按照acrtiviti的思想应当在在流程引擎中维护当前用户id信息。
最后
以上就是饱满可乐最近收集整理的关于流程引擎(flowable)之用户任务的全部内容,更多相关流程引擎(flowable)之用户任务内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复