• 在每次提交任务的时候需要描述一些批注信息,例如:请假流程提交的时候要描述信息为什么请假,如果领导驳回可以批注驳回原因等
  • 由于流程用户上下文对象是线程独立的,所以要在需要的位置设置,要保证设置和获取操作在同一个线程中
  1. 添加批注
    // 由于流程用户上下文对象是线程独立的,所以要在需要的位置设置,要保证设置和获取操作在同一个线程中
        Authentication.setAuthenticatedUserId(UserContext.get().getName());//批注人的名称  一定要写,不然查看的时候不知道人物信息
        // 添加批注信息
        taskService.addComment(taskId, null, comment);//comment为批注内容
        // 完成任务
        taskService.complete(taskId,vars);//vars是一些变量

service

//查询批注信息
@Override
public List<Comment> getComment(String taskId) {
// 根据任务id查询流程实例id
String processInstanceId = taskService.createTaskQuery().taskId(taskId).singleResult().getProcessInstanceId();	
		List<Comment> commentList = taskService.getProcessInstanceComments(processInstanceId);
		return commentList;
	}

public List<CommontVo> commontTask(Map<String, Object> param) {
		Object instanceId = param.get("processInstanceId");
		List<CommontVo> cList = new ArrayList<>();
		List<Comment> comments = taskService.getProcessInstanceComments(instanceId.toString());
		for (Comment itm :
				comments) {
			CommontVo vo = new CommontVo();
			vo.setId(itm.getId());
			vo.setMessage(itm.getFullMessage());
			vo.setCtime(itm.getTime());
			vo.setTaskId(itm.getTaskId());
			vo.setUserId(itm.getUserId());
			vo.setProcessInstanceId(itm.getProcessInstanceId());
		 

			cList.add(vo);
		}

		return null;
	}