Activiti5 添加/查詢審批批注(審批意見)


Activiti5 添加/查詢審批批注

Activiti 工作流開發,23張表中,act_hi_commit 中,用於保存流程審核的批注信息:

 調用:
  taskServer.addComment(taskId:任務 id ,processInstanceId: 流程實例 id ,message : 批注信息);

@Test
public void complementTask(){
TaskService taskService=processEngine.getTaskService();
//3. 使用任務服務完成任務(提交任務)
String taskId="37505";
// 使用任務id,獲取任務對象,獲取流程實例id
Task task=taskService.createTaskQuery().taskId(taskId).singleResult();
//利用任務對象,獲取流程實例id
String processInstancesId=task.getProcessInstanceId();

System.out.println(processInstancesId);

Authentication.setAuthenticatedUserId("cmc"); // 添加批注時候的審核人,通常應該從session獲取

taskService.addComment(taskId,processInstancesId,"嘗試添加批注");

taskService.complete(taskId);
}
 
 
查詢批注信息: 返回 List
a.
     使用任務 id 查找 批注信息
     taskService.getTaskComments(taskid); 這個taskid,只是當時審批那人的任務id
 
注: 通常在審批流程中, 不同人審批的過程 taskid ,是不同的, 要查找 審批信息,就需要當時審批的時候的 taskId ,這個可以在歷史完成任務中查找當時對應的 taskId
 
 

@Test
public void findCommentByTaskId() {

String taskId="42503"; // 現在的任務id
HistoryService historyService=processEngine.getHistoryService();
TaskService taskService=processEngine.getTaskService();
List list = new ArrayList();
//使用當前的任務ID,查詢當前流程對應的歷史任務ID

//使用當前任務ID,獲取當前任務對象
Task task = taskService.createTaskQuery()//
.taskId(taskId)//使用任務ID查詢
.singleResult();
//獲取流程實例ID
String processInstanceId = task.getProcessInstanceId();
//使用流程實例ID,查詢歷史任務,獲取歷史任務對應的每個任務ID
List htiList = historyService.createHistoricTaskInstanceQuery()//歷史任務表查詢
.processInstanceId(processInstanceId)//使用流程實例ID查詢
.list();
//遍歷集合,獲取每個任務ID
if(htiList!=null && htiList.size()>0){
for(HistoricTaskInstance hti:htiList){
//任務ID
String htaskId = hti.getId();
//獲取批注信息
List taskList = taskService.getTaskComments(htaskId);//對用歷史完成后的任務ID
list.addAll(taskList);
}
}
list = taskService.getProcessInstanceComments(processInstanceId);


for(Comment com:list){
System.out.println("ID:"+com.getId());
System.out.println("Message:"+com.getFullMessage());
System.out.println("TaskId:"+com.getTaskId());
System.out.println("ProcessInstanceId:"+com.getProcessInstanceId());
System.out.println("UserId:"+com.getUserId());
}

System.out.println(list);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM