起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2105|回复: 1

[分享] 流转给界面上指定的人

[复制链接]

9

主题

32

帖子

78

积分

初级会员

Rank: 2

积分
78
QQ
发表于 2014-8-12 15:49:23 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
流转给界面上指定的人
http://bbs.justep.com/thread-49744-1-1.html
(出处: 起步软件技术论坛)

38

主题

829

帖子

1656

积分

金牌会员

过客

Rank: 6Rank: 6

积分
1656
QQ
发表于 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);
  

  
}

评分

参与人数 1 +10 收起 理由
jishuang + 10 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-4 15:30 , Processed in 0.110191 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表