在流程启动获得流程实例ID后,一般根据流程实例ID找到首节点任务会比较准确,并且最好同时根据首节点任务名称这两个条件获得任务,并且是返回唯一记录。
还有一些做法是通过查找任务接口获得findPersonalTasks,我个人觉得那样不是很准确,好像当申请人在审批的时候,同时有被回退修改的任务时会有点冲突。而且个人不太喜欢用taskList.get(0);这种方式去获得一个任务。最好要任务查询接口中的返回唯一记录接口。熟悉Hibernate的朋友应该不会陌生这个方法uniqueResult()。
附程序参考:
Task task = null;
TaskQuery taskQuery = this.taskService.createTaskQuery();
taskQuery.processInstanceId(processInstanceId);
taskQuery.activityName(firstTaskNodeName);
taskQuery.orderDesc(TaskQuery.PROPERTY_PRIORITY);
task = taskQuery.uniqueResult();
就此分享,仅供参考。
我叙述或理解有误,请大家慷慨纠正。
还有一些做法是通过查找任务接口获得findPersonalTasks,我个人觉得那样不是很准确,好像当申请人在审批的时候,同时有被回退修改的任务时会有点冲突。而且个人不太喜欢用taskList.get(0);这种方式去获得一个任务。最好要任务查询接口中的返回唯一记录接口。熟悉Hibernate的朋友应该不会陌生这个方法uniqueResult()。
附程序参考:
Task task = null;
TaskQuery taskQuery = this.taskService.createTaskQuery();
taskQuery.processInstanceId(processInstanceId);
taskQuery.activityName(firstTaskNodeName);
taskQuery.orderDesc(TaskQuery.PROPERTY_PRIORITY);
task = taskQuery.uniqueResult();
就此分享,仅供参考。
我叙述或理解有误,请大家慷慨纠正。