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、测试

如下图所示,已经成功的启动并自动完成了“填写申请”节点
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值