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

QQ登录

只需一步,快速开始

查看: 4878|回复: 5

[结贴] 在回退事件backProcessQueryAction中取得回退执行者的问题

[复制链接]

25

主题

69

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
QQ
发表于 2017-10-24 10:46:08 | 显示全部楼层 |阅读模式
版本: BeX5V3.5 小版本号: 3.6
数据库: Oracle 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
我写了一个全局的流程事件的监听,在backProcessQueryAction对应的事件中,我想取得需要回退的人的id,但是怎么整取得不到,我的代码如下:

                for (Task t : ProcessUtils.getAI().getTask().getPrevs()){
                for (Task executor : t.getExecutorTasks()){
                      System.out.println("backTaskID():"+executor.getId());
                      
                      String executorid = executor.getExecutorFID();
                      
                      System.out.println("executorid:"+executorid);
                }
                }

,这一块应该怎么写啊?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-10-24 11:16:30 | 显示全部楼层
参考流转事件中获取的实现
http://docs.wex5.com/bex5-process-question-list-10013/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

25

主题

69

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
QQ
 楼主| 发表于 2017-10-24 21:05:21 | 显示全部楼层
仿照这里的代码写完以后,人员的确是可以取得到,我现在还想取得回退后新产生的任务的信息(任务ID和任务名称),目前任务名称能正常取得到,但是任务ID貌似取得是当前的任务ID,而不是回退后新产生的任务ID,我的代码是这样的

        public static void onJPTBackProcessAction()
                     throws SQLException, NamingException, ParseException{
                System.out.println("回退后事件已截获!");

                ProcessControl flowControl = (ProcessControl) ContextHelper.getActionContext().getParameter("control");
                if(flowControl!=null){
                    for (ProcessControlItem to : flowControl.getFlowTos()) {
                        for (OrgUnit ect : to.getExecutors()) {
                            String fid = ect.getFID();
                            String fname = ect.getFName();
                            System.out.println("==========人员名称sName=========" + OrgUtils.getPersonNameByFName(fid, fname));
                 
                        }
                        Task dearTask = to.getTask();
                        System.out.println("==========任务IDsID=========" + dearTask.getId());
                        System.out.println("==========任务名称sName=========" + dearTask.getName());
                        
                    }
                }else{
                        System.out.println("flowControl为空!");
                }
        }

这里应该咋样写好呢
回复 支持 反对

使用道具 举报

25

主题

69

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
QQ
 楼主| 发表于 2017-10-24 21:09:51 | 显示全部楼层
上面说的有点问题,每次获得的任务的id是上次回退产生的id,第一次回退取得的任务id貌似是当前任务的id,总之就是不是我要的当前新产生的回退任务的id,奇怪的很啊!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-10-25 10:26:11 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

25

主题

69

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
QQ
 楼主| 发表于 2017-10-26 15:02:22 | 显示全部楼层
ok了,结帖吧!谢谢大侠!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-27 14:16 , Processed in 0.062887 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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