zoukankan      html  css  js  c++  java
  • 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>

      

  • 相关阅读:
    用react的ReactCSSTransitionGroup插件实现简单的弹幕动画
    composer安装yii2问题总结
    记阿里笔试经历
    JVM, JRE,JDK 的区别
    HTML
    Http协议
    操作系统和网络基础知识
    网络基础之网络协议
    计算机硬件知识
    计算机硬件历史
  • 原文地址:https://www.cnblogs.com/cxyj/p/3898535.html
Copyright © 2011-2022 走看看