1.流程启动代码和解析
ProcessInstance processInstance = processRuntime.start(ProcessPayloadBuilder
.start()
.withProcessDefinitionKey("leave") //流程图的文件名
.withName(workflowLeave.getTitle()) //给此次流程起个名字,如:请假流程
.withBusinessKey(id) //自己创建一个业务id,可以用uuid生成
.withVariable("deptLeader",join) //指定下一个节点的接收变量
.build());
这段代码是使用Activiti流程引擎启动一个名为"leave"的流程实例。具体解析如下:
processRuntime.start 是启动一个新的流程实例的方法,其中 processRuntime 是 Activiti 的运行时服务。
ProcessPayloadBuilder 是用于构建流程实例参数的工具类。
start() 方法是开始构建流程实例,使用ProcessPayloadBuilder.start()方法构建流程实例的初始payload(包含流程定义和初始状态等信息)。
withProcessDefinitionKey("leave") 设置流程定义的key为 "leave",这意味着我们要启动的流程定义的key是 "leave"。
withName(workflowLeave.getTitle()) 设置流程实例的名称。
withBusinessKey(id) 设置流程实例的业务键为变量 id。
withVariable("deptLeader",join) 设置流程变量 "deptLeader" 的值为 join。
build() 是完成流程参数构建的方法,返回一个 ProcessInstance 对象。
所以,整体来说,这段代码的作用是启动一个名为 "leave" 的流程实例,并设置了该流程实例的一些参数,如流程定义的key、名称、业务键和一个名为 "deptLeader" 的流程变量。
————————————————