UFLO:4、如何发起一个指定任务TaskType.Appoint

1. 绘制流程图

UFLO:4、如何发起一个指定任务TaskType.Appoint_第1张图片

1.1 为指派任务设定任务人

设定任务人为张三和李四,同时设定“允许上一节点为当前任务节点指定处理人”。保存流程并发布。
UFLO:4、如何发起一个指定任务TaskType.Appoint_第2张图片

1.2 在central中查看已经发布的任务模型

UFLO:4、如何发起一个指定任务TaskType.Appoint_第3张图片

2. 启动任务测试

2.1 启动任务

启动任务,并且点击完成第一个任务,出现了任务流转的路径,此时我们发现,我们指定的三个路径“到竞争任务”、“到会签任务”、“到指派任务”三个连线都显示了出来。
我们选择“到指派任务”并完成他。
UFLO:4、如何发起一个指定任务TaskType.Appoint_第4张图片

2.2 通过接口获取下一流程及潜在任务人

在第一任务环节获取“到竞争任务”、“到会签任务”、“到指派任务”下的三个流程节点
通过loadSequenceFlows接口,已经能够获得到所有的连线及其下面的节点。
UFLO:4、如何发起一个指定任务TaskType.Appoint_第5张图片
通过getNextTaskAndAssignees接口获得
UFLO:4、如何发起一个指定任务TaskType.Appoint_第6张图片
可以看到,指派任务中的张三、李四也已经查询了出来。
UFLO:4、如何发起一个指定任务TaskType.Appoint_第7张图片

2.3 选择指派任务

任务完成或,我们发现指派任务的任务类型为“竞争”,这是为什么呢?其实我们在系统中找所有TaskType.Appoint的调用发现,UFLO中没有哪个地方显式的去定义一个任务为指派任务的代码。
UFLO:4、如何发起一个指定任务TaskType.Appoint_第8张图片
UFLO:4、如何发起一个指定任务TaskType.Appoint_第9张图片
发现其任务类型为Participative(竞争任务)
UFLO:4、如何发起一个指定任务TaskType.Appoint_第10张图片

2.4 领取任务[指派任务]

UFLO:4、如何发起一个指定任务TaskType.Appoint_第11张图片
通过调用UFLO的http://localhost:8080/uflo/central/loadCliamUsers?taskId=25825接口发现,能够获取到指定的任务人。
UFLO:4、如何发起一个指定任务TaskType.Appoint_第12张图片UFLO:4、如何发起一个指定任务TaskType.Appoint_第13张图片

2.5 任务领取成功

任务领取成功后发现,当前的任务类型还是竞争任务。
UFLO:4、如何发起一个指定任务TaskType.Appoint_第14张图片

3. 通过接口试着指定任务人

3.1 查找服务saveTaskAppointor

在TaskService中我们发现了两个用来指定任务人的服务

	/**
	 * 在某个任务中指定下一个指定任务节点上的任务处理人
	 * @param taskId 具体任务对象ID
	 * @param assignee 要指定的任务处理人
	 * @param taskNodeName 指定任务处理人的任务节点名称
	 */
	void saveTaskAppointor(long taskId,String assignee,String taskNodeName);
	
	/**
	 * 在某个任务中指定下一个指定任务节点上的任务处理人,可以为多个处理人
	 * @param taskId 具体任务对象ID
	 * @param assignees 要指定的任务处理人集合
	 * @param taskNodeName 指定任务处理人的任务节点名称
	 */
	void saveTaskAppointor(long taskId,String[] assignees,String taskNodeName);

UFLO:4、如何发起一个指定任务TaskType.Appoint_第15张图片

3.2 编写接口

	@PostMapping("saveTaskAppointor")
	void saveTaskAppointor(long taskId,String assignee,String taskNodeName)
	{
		taskService.saveTaskAppointor(taskId,assignee,taskNodeName);
	}

3.3 测试接口

接口执行完成后,没有任何的返回。
UFLO:4、如何发起一个指定任务TaskType.Appoint_第16张图片

3.4 当前任务的查看

我们发现在第一个任务节点上,看不到任何的差别。
UFLO:4、如何发起一个指定任务TaskType.Appoint_第17张图片
完成这个“第一个任务”UFLO:4、如何发起一个指定任务TaskType.Appoint_第18张图片
最终的任务类型变成了普通
UFLO:4、如何发起一个指定任务TaskType.Appoint_第19张图片

4. 总结

最终也没有发现如何将任务设定为指定任务,不过我们已经找到了如何在上一节点指定下一节点人员任务的方式了。

你可能感兴趣的:(UFLO)