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

1. 绘制流程图

在这里插入图片描述

1.1 为指派任务设定任务人

设定任务人为张三和李四,同时设定“允许上一节点为当前任务节点指定处理人”。保存流程并发布。
在这里插入图片描述

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

在这里插入图片描述

2. 启动任务测试

2.1 启动任务

启动任务,并且点击完成第一个任务,出现了任务流转的路径,此时我们发现,我们指定的三个路径“到竞争任务”、“到会签任务”、“到指派任务”三个连线都显示了出来。
我们选择“到指派任务”并完成他。
在这里插入图片描述

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

在第一任务环节获取“到竞争任务”、“到会签任务”、“到指派任务”下的三个流程节点
通过loadSequenceFlows接口,已经能够获得到所有的连线及其下面的节点。
在这里插入图片描述
通过getNextTaskAndAssignees接口获得
在这里插入图片描述
可以看到,指派任务中的张三、李四也已经查询了出来。
在这里插入图片描述

2.3 选择指派任务

任务完成或,我们发现指派任务的任务类型为“竞争”,这是为什么呢?其实我们在系统中找所有TaskType.Appoint的调用发现,UFLO中没有哪个地方显式的去定义一个任务为指派任务的代码。
在这里插入图片描述
在这里插入图片描述
发现其任务类型为Participative(竞争任务)
在这里插入图片描述

2.4 领取任务[指派任务]

在这里插入图片描述
通过调用UFLO的http://localhost:8080/uflo/central/loadCliamUsers?taskId=25825接口发现,能够获取到指定的任务人。
在这里插入图片描述在这里插入图片描述

2.5 任务领取成功

任务领取成功后发现,当前的任务类型还是竞争任务。
在这里插入图片描述

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);

在这里插入图片描述

3.2 编写接口

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

3.3 测试接口

接口执行完成后,没有任何的返回。
在这里插入图片描述

3.4 当前任务的查看

我们发现在第一个任务节点上,看不到任何的差别。
在这里插入图片描述
完成这个“第一个任务”在这里插入图片描述
最终的任务类型变成了普通
在这里插入图片描述

4. 总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值