|
发表于 2014-12-16 11:00:51
|
显示全部楼层
这里有一段代码,你看看,应该能明白
// 获得Action的上下文对象(流程流转)
Map<String, Object> params = new HashMap<String, Object>();
ActionContext context = ActionUtils.getRequestContext().getActionContext();
ProcessControl processControl = null;
params.put("process", "/ERP/businessManagement/contractMtcode/contractInfoUp/process/contractInfoUp/contractInfoUpProcess");
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put("sData1", guid);// 这里是向attribute对象的sData1元素中插入你新生成的FID
params.put("attributes", attributes);
params.put("control", null);
processControl = (ProcessControl) ActionUtils.invokeAction(
"/ERP/businessManagement/contractMtcode/contractInfoUp/process/contractInfoUp/contractInfoUpProcess", "mainActivity",
ProcessConstants.START_PROCESS_QUERY_ACTION, context.getExecutor(), params);
List list = (List) processControl.getFlowTos();
for (int i = 0; i < list.size(); i++) {
com.justep.system.process.ProcessControlItem proessItem = (ProcessControlItem) list.get(i);
//清空执行者再重载
proessItem.clearExecutors();
//因执行者为list,所以用循环处理,此处视情况而定
QueryPerson qp = new QueryPerson();
List personList = qp.getPersonList();
PersonBean pb = null;
if (personList.size() > 0) {
for (int k = 0; k < personList.size(); k++) {
pb = (PersonBean) personList.get(k);
//重载执行者new OrgUnit()参数为人员的fullId和fullName
proessItem.addExecutor(new OrgUnit(pb.getSfid(), pb.getSfName()));
}
}
}
params.put("control", processControl);
ActionUtils.invokeAction("/ERP/businessManagement/contractMtcode/contractInfoUp/process/contractInfoUp/contractInfoUpProcess",
"mainActivity", ProcessConstants.START_PROCESS_ACTION, context.getExecutor(), params); |
|