Flowable各流程节点跳转

1、把当前流程实例节点展示到前端

    @RequestMapping(value = "backToStepPage")
	public ModelAndView backToStepPage(String procInstId,String currentSid) {
		String procDefId = runtimeService.createProcessInstanceQuery().processInstanceId(procInstId).singleResult().getProcessDefinitionId();
		//获取所有节点信息
		List<Process> processes = repositoryService.getBpmnModel(procDefId).getProcesses();
		List<FlowElement> flowElementList = new ArrayList<> ();
		processes.stream().forEach(p->{
			flowElementList.addAll(p.getFlowElements().stream()
					.filter(start ->start instanceof StartEvent )
					.collect(Collectors.toList()));
			flowElementList.addAll(p.getFlowElements().stream()
					.filter(start ->start instanceof UserTask )
					.collect(Collectors.toList()));
			flowElementList.addAll(p.getFlowElements().stream()
					.filter(start ->start instanceof EndEvent )
					.collect(Collectors.toList()));
		});
		ModelAndView model = new ModelAndView("page/demo/backToStep");
		model.addObject("flowElementList",flowElementList);
		model.addObject("procInstId",procInstId);
		model.addObject("currentSid",currentSid);
		return model;

	}

2、执行跳转代码

        @RequestMapping("/backToStep")
		public Object backToStep(String procInstId,String currentSid,String sid) {

			runtimeService.createChangeActivityStateBuilder().
					 processInstanceId(procInstId).
					 moveActivityIdTo(currentSid,sid).
					 changeState();
			return "page/demo/workflowTrackPage";
		}

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Flowable提供了过功能,可以在流程中设置节点过表达式。当流程到达某个节点时,通过判断某个角色或岗位是否存在,决定是否过当前节点,直接进入下一个节点。 在实际场景中,可以根据需求设置节点过条件。比如,当当前任务的审批人为空或空串时,如果不设置过,该任务可能会出现无法认领的状态。可以通过设置过表达式,让该任务自动过,不需要进行审批操作。类似地,对于提交人这个节点,由于他已经提交了流程,可以直接过该节点,进入下一个节点。还可以根据相邻节点是否是相同的审批人来设置自动过。 在Flowable中,可以通过免登录模型画图应用来实现过功能。首先需要创建Flowable相关的表,并修改数据库连接URL。然后可以直接访问模型设计首页,不需要登录,默认当前用户为...。具体可以通过访问http://localhost:8082/来打开模型设计首页。 使用Flowable时,可以在流程图中的审批节点设置过表达式。在到达该节点之前,可以判断该角色或岗位信息是否存在,然后将过表达式的值赋给表达式。可以通过代码来实现,比如查询下一个节点某角色是否存在,然后将过表达式的值设置为true。最后,通过启动流程实例并传入相应参数,触发过功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [FLOWABLE 流程中的自动过](https://blog.csdn.net/weixin_40816738/article/details/125678304)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [免登录单体应用 flowable-ui-modeler](https://download.csdn.net/download/gzt19881123/13059670)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值