Java中启动流程
需要引入
import com.justep.system.process.ProcessControl;
import com.justep.system.process.ProcessUtils;
方法一介绍
List<Map<String, String>> startProcess (String processFullName, String name, String sData1, String executor) 返回的是待办任务的信息,每个待办任务是列表中的一项,每项是一个Map,包括process, activity和task信息。 参数说明: String processFullName 被启的流程的全路径 String name 流程实例的标题 String sData1 关联的业务数据 String executor 流程实例以及第一个待办任务的执行者FID,当这个值为空时,优先取当前用户有权限的人员成员,否则随机获取当前用户的一个人员成员
如下:
public static void startAction1(String sData1){ String process = ContextHelper.getActionContext().getProcess().getFullName2(); List<Map<String, String>> list = ProcessUtils.startProcess(process, "代码控制启动流程", sData1, "/ORG01.ogn/PSN01@ORG01.psm"); for (Map<String, String> m : list) { String task = m.get("task"); } }
方法二介绍
List<Map<String, String>> startProcess (String processFullName, Map<String, Object> relations, com.justep.system.process.ProcessControl control, List<String> tokens, String executor) 返回的是待办任务的信息,每个待办任务是列表中的一项,每项是一个Map,包括process, activity和task信息。 参数说明: String processFullName 被启的流程的全路径 Map<String, Object> relations 流程实例的属性值列表 com.justep.system.process.ProcessControl control 流程控制信息 List<String> tokens String executor 流程实例以及第一个待办任务的执行者FID,当这个值为空时,优先取当前用户有权限的人员成员,否则随机获取当前用户的一个人员成员
如下:
public static void startAction2(String sData1) { String process = ContextHelper.getActionContext().getProcess().getFullName2(); Map<String, Object> varMap = new HashMap<String, Object>(); varMap.put("sData1", sData1); varMap.put("sData2", "aa"); List<String> ls = new ArrayList<String>(); List<Map<String, String>> list = ProcessUtils.startProcess(process, varMap, null, ls, "/ORG01.ogn/PSN01@ORG01.psm"); for (Map<String, String> m : list) { String task = m.get("task"); } }
说明:startProcess 方法中的executor参数
如果是当前人,可以使用
ContextHelper.getPersonMember().getFID();
如果不是当前人,且知道人的id的话,可以使用
OrgUtils.findOrgUnitsByID(sPersonID).get(0).getFID();
如果是当前人,可以使用
ContextHelper.getPersonMember().getFID();
如果不是当前人,且知道人的id的话,可以使用
OrgUtils.findOrgUnitsByID(sPersonID).get(0).getFID();
js中启动流程
可以通过process组件的提供的API实现
start( process, name, data, options)启动流程 参数说明: process 流程标识的全称, 值可以为null name 流程实例名称, 值可以为null data 流程关联的业务数据, 必须有值 options 可选参数 是一个json格式, 有以下三个参数executor,onSuccess和onError, executor: 表示首环节的执行者,可以不指定, 这时默认就是当前人员成员; onSuccess: 表示启动流程成功后的回调函数, 回调函数的参数event结构如下:{"source":组件的js对象}; onError: 表示启动流程失败后的回调函数 回调函数的参数event结构如下:{"source":组件的js对象}; 格式如下: { "executor": {String}, "onSuccess": {Function}, "onError": {Function} }
如下:
var process = this.comp("process"); var data = this.comp("mainData"); var id = data.getCurrentRowID(); process.start(this.getContext().getProcess(), null, id);
评一波