UFLO:5启动任务并自动完成第一个人工任务

Posted 秦晓宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UFLO:5启动任务并自动完成第一个人工任务相关的知识,希望对你有一定的参考价值。

1、原因

UFLO不允许驳回到开始节点,这导致了如果发起人在填写好表单,并且发起流程时,无法知道到达“巴长审核”节点,需要再次点击“填写申请”的流程,这样用户需要操作2次,显得比较繁琐。

2、解决办法

2.1、修改代码

CentralServletHandler.java是控制台的Servlet核心处理类。测试用如下方式可以跳过“填写申请”,直接进入到巴长审核阶段。

public void startProcess(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
		long processId=Long.valueOf(req.getParameter("processId"));
		
		/***    开始   @author qin*@date:2020年3月25日 下午12:37:55**/
//		String token = req.getHeader("token");
//		String userId = JwtTokenUtil.getUserId(token);
//		String userName = JwtTokenUtil.getRealName(token);
		StartProcessInfo startProcessInfo = new StartProcessInfo("0510f511a7bca2797fb8a73c02955825","admin");
		/***    结束    @author qin*@date:2020年3月25日 下午12:39:55**/
		
		
		startProcessInfo.setCompleteStartTask(true);
		String variables=req.getParameter("variables");
		Map<String,Object> variableMaps=buildVariables(variables);
		if(variableMaps!=null)
			startProcessInfo.setVariables(variableMaps);
		
		ProcessInstance processInstance = processService.startProcessById(processId, startProcessInfo/*null*/);
		
		/*----------------qin--------------------*/
		System.out.println("获取下一节点task");
		List<Task> l = taskService.loadTaskList(processInstance.getId());
		for (Task task : l) 
			System.out.println("task id"+task.getId());
			taskService.start(task.getId());
			taskService.complete(task.getId());
			break;
		
		/*----------------qin--------------------*/
	

核心添加的代码为:

		/*----------------qin--------------------*/
		System.out.println("获取下一节点task");
		List<Task> l = taskService.loadTaskList(processInstance.getId());
		for (Task task : l) 
			System.out.println("task id"+task.getId());
			taskService.start(task.getId());
			taskService.complete(task.getId());
			break;
		
		/*----------------qin--------------------*/

2.2、配置节点

只能设置为如下

3、测试

如下图所示,已经成功的启动并自动完成了“填写申请”节点

以上是关于UFLO:5启动任务并自动完成第一个人工任务的主要内容,如果未能解决你的问题,请参考以下文章

UFLO:5启动任务并自动完成第一个人工任务

clion中无需人工干预自动启动远程调试

这些 Linux 的 “自动化” 技巧,教你轻松完成任务

SBT - 如何使 InputTask 依赖于一个任务并最终完成另一个

如何在 mvc 中启动任务并在任务完成时收到通知?

我可以使用 Azure Function 自动执行 linux 任务吗