1.多工具插件中包含多个BeanShell插件时,后面的插件获取前面插件设置的工作流变量值
当多工具插件内包含多个插件,并已设置 “在当前线程中按顺序运行工具”时。多工具内后面的插件获取前面插件中设置的工作流变量值,需使用 getActivityVariableList 方法。
HASH变量会在多工具初始化时统一解析,无法获取到多工具插件中改动后的值
import org.joget.workflow.model.service.WorkflowManager; import org.joget.workflow.model.WorkflowVariable; Collection vars = wm.getActivityVariableList(workflowAssignment.getActivityId()); for (WorkflowVariable v: vars) { System.out.println("\r\nvar " + v.getId() + "------[" + v.getVal() + "]"); }
2.多工具插件中获取多工具插件前已设置的工作流变量
如果获取在多工具插件前已设置好的工作流变量值,可直接使用hash变量或 getProcessVariable 方法获取。
import org.joget.workflow.model.service.WorkflowManager; //1.通过hash变量获取 String status = "#variable.status#"; System.out.println("status------["+status+"]"); //2.通过getProcessVariable获取 WorkflowManager wm = (WorkflowManager) pluginManager.getBean("workflowManager"); status=wm.getProcessVariable(workflowAssignment.getProcessId(), "status"); System.out.println("\r\ngetProcessVariable------["+status+"]");