|
发表于 2014-8-12 16:04:42
|
显示全部楼层
额,你这个分享,我给你加点彩头吧,流程结束后推送岗位发起另一个流程事例,在流程结束事件中,调用方法.
public static void 方法名(String mainId){
Connection con =null;
PreparedStatement psmtQuery = null;
ResultSet res =null;
String fid=CommonUtils.createGUID();
System.out.println(mainId);
String querySql = "select 字段 from 表名a where a.FID=?";
try {
con = ModelUtils.getConnection("路径");
psmtQuery = con.prepareStatement(querySql);
psmtQuery.setString(1, mainId);
res = psmtQuery.executeQuery();
while(res.next()){
String sql = "insert into 表名(字段值,版本号) values(?,0)";
PreparedStatement psmtInsert = con.prepareStatement(sql);
try{
psmtInsert.setString(1, fid);
......
psmtInsert.execute();
}catch(Exception e){
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
}
// 获得Action的上下文对象。
Map<String, Object> params = new HashMap<String, Object>();
ActionContext context = ActionUtils.getRequestContext().getActionContext();
ProcessControl processControl = null;
params.put("process", "发起流程路径");
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put("sData1", fid);// 这里是向attribute对象的sData1元素中插入你新生成的FID
params.put("attributes", attributes);
params.put("control", null);
processControl = (ProcessControl) ActionUtils.invokeAction("路径",
"Action", 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("发起流程", "方法",
ProcessConstants.START_PROCESS_ACTION, context.getExecutor(), params);
}
|
评分
-
查看全部评分
|