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);
评一波