首页 > 代码库 > Activiti添加批注(comment)信息
Activiti添加批注(comment)信息
在每次提交任务的时候需要描述一些批注信息,例如:请假流程提交的时候要描述信息为什么请假,如果领导驳回可以批注驳回原因等
1、添加批注
// 由于流程用户上下文对象是线程独立的,所以要在需要的位置设置,要保证设置和获取操作在同一个线程中 Authentication.setAuthenticatedUserId(UserContext.get().getName());//批注人的名称 一定要写,不然查看的时候不知道人物信息 // 添加批注信息 taskService.addComment(taskId, null, comment);//comment为批注内容 // 完成任务 taskService.complete(taskId,vars);//vars是一些变量
2、获取批注内容
public List<Comment> getProcessComments(String taskId) { List<Comment> historyCommnets = new ArrayList<>();// 1) 获取流程实例的ID Task task = this.taskService.createTaskQuery().taskId(taskId).singleResult(); ProcessInstance pi =runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();// 2)通过流程实例查询所有的(用户任务类型)历史活动 List<HistoricActivityInstance> hais = historyService.createHistoricActivityInstanceQuery().processInstanceId(pi.getId()).activityType("userTask").list();// 3)查询每个历史任务的批注 for (HistoricActivityInstance hai : hais) { String historytaskId = hai.getTaskId(); List<Comment> comments = taskService.getTaskComments(historytaskId); // 4)如果当前任务有批注信息,添加到集合中 if(comments!=null && comments.size()>0){ historyCommnets.addAll(comments); } }// 5)返回 return historyCommnets; }
3、在准备任务表单页面时显示批注(将上面的list放入值栈中,用struts2标签遍历)
<!-- 显示所有批注信息 例如: 1999-01-01 张三 : 你好 1999-01-02 李四 : 你也好 --> <s:iterator value="#comments"> <s:date name="time" format="yyyy-MM-dd hh:mm"/><br/> <s:property value="userId"/> : <s:property value="fullMessage"/><br/><br/> </s:iterator>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。