天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
楼主: jariy

关于流程回撤~~~~2个问题

[复制链接]
 楼主| jariy 发表于 2011-9-27 17:16:59 | 显示全部楼层
还是不行啊,报错

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
shary 发表于 2011-9-27 17:21:36 | 显示全部楼层
var stateProcess = new Packages.cn.myapps.core.workflow.storage.runtime.ejb.FlowStateRTProcessBean();再试一下。同时确认下你的那个源码那个类的路径是否是这个
 楼主| jariy 发表于 2011-9-27 17:23:40 | 显示全部楼层
  1. var str="aa";
  2. var doc =getCurrentDocument();
  3. var flowState;
  4. var flowStateProcess = new Packages.cn.myapps.core.workflow.storage.runtime.ejb.FlowStateRTProcessBean(getApplication());
  5. flowState=flowStateProcess.findFlowStateRTByDocidAndFlowid(doc.getId(),doc.getFlowid());//这里要2个参数docid和flowid,这里怎么拿flowid
  6. // flowState= doc.getState();//获得流程实例
  7. var noderts = flowState.getNoderts();
  8. var  _index=1;
  9. for (var iterator = noderts.iterator(); iterator.hasNext();) {
  10.         //获得单个流程节点对象
  11.         var nodeRT = iterator.next();
  12.         //获得节点的所有处理人信息(这里获取到的是当前待处理的处理人信息,如果本来待处理人有3个人的话,有1个人已经处理了的话,这里只会拿到剩下2个处理人的信息,那么问题就来了,我不知道总共的处理人有多少,又怎么知道该流程是否已处理过呢?)
  13.         var actors =  nodeRT.getActorrts();       
  14.         //然后迭代 处理人
  15.         //返回结果为true 说明这个处理人已经处理过
  16.         for(var i=0;i<actors.size();i++){
  17.                 var _tmp_actor=actors.get(i);
  18.                 //假设本来有3个处理人,如果1个人已经发送过(也就是已处理),那么这里只会打印2条语句,这个打印的值都是false,我不知道这里什么时候能打印出true的值,因为如果你已经处理过将不会再出现在这个for循环里.
  19.                 $PRINTER.println("==("+_index+")=getIsprocessed:"+_tmp_actor.getIsprocessed()+" pending:"+_tmp_actor.isPending());
  20.                
  21.         }
  22.         _index++;
  23.         //ActorRT.getIsprocessed()==true  

  24. }
  25. $PRINTER.println("====_index:"+_index);
  26. str;
复制代码
这样好像能运行了 ,但是结果好像还是一样哦,打印出来还是
17:21:31,071  INFO PrintJsUtil:27 - JsUtil:==(1)=getIsprocessed:false pending:true
17:21:31,117  INFO PrintJsUtil:27 - JsUtil:==(2)=getIsprocessed:false pending:true
17:21:31,133  INFO PrintJsUtil:27 - JsUtil:====_index:3  //因为默认是为1的,所以这里会是3
shary 发表于 2011-9-27 17:27:43 | 显示全部楼层
你确认下你用的那个方法确实是拿到流程所有节点的处理人。因为我这里的代码结构不同。你检查下你的代码逻辑是否有问题吧。
 楼主| jariy 发表于 2011-9-27 17:30:51 | 显示全部楼层
17:21:31,071  INFO PrintJsUtil:27 - JsUtil:==(1)=getIsprocessed:false pending:true
17:21:31,117  INFO PrintJsUtil:27 - JsUtil:==(2)=getIsprocessed:false pending:true
17:21:31,133  INFO PrintJsUtil:27 - JsUtil:====_index:3  //因为默认是为1的,所以这里会是3

我不知道这个方法是不是拿到流程所有节点的处理人,我只知道通过1和2所打印出来的结果是一样的

  1. var doc =getCurrentDocument();
  2. var flowState;
  3. var flowStateProcess = new Packages.cn.myapps.core.workflow.storage.runtime.ejb.FlowStateRTProcessBean(getApplication());
  4. // 1
  5. flowState=flowStateProcess.findFlowStateRTByDocidAndFlowid(doc.getId(),doc.getFlowid());//这里要2个参数docid和flowid,这里怎么拿flowid
  6. // 2
  7. // flowState= doc.getState();//获得流程实例
复制代码
在源码里里这样描述这个方法的如下
  1. /**
  2.          * 获取当前文档流程状态
  3.          *
  4.          * @param docid
  5.          *            Document id
  6.          * @param flowid
  7.          *            文档流程 id
  8.          * @return 当前文档流程状态
  9.          * @throws Exception
  10.          */
  11.         public FlowStateRT findFlowStateRTByDocidAndFlowid(String docid,
  12.                         String flowid) throws Exception {
  13.                 return ((FlowStateRTDAO) getDAO()).findFlowStateRTByDocidAndFlowid(
  14.                                 docid, flowid);
  15.         }
复制代码
shary 发表于 2011-9-27 17:35:45 | 显示全部楼层
他是获取当前流程的状态。不是所有的。
shary 发表于 2011-9-27 17:37:30 | 显示全部楼层
你用那个类里的这个方法吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| jariy 发表于 2011-9-27 17:59:59 | 显示全部楼层


看图,好像我这个源码环境下没有你说的这个方法哦?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| jariy 发表于 2011-9-27 18:02:50 | 显示全部楼层
  1. var flowState;
  2. var flowStateProcess = new Packages.cn.myapps.core.workflow.storage.runtime.ejb.FlowStateRTProcessBean(getApplication());
  3. flowState=flowStateProcess.getFlowStateRTsByDocId(doc.getId());
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
shary 发表于 2011-9-27 18:06:07 | 显示全部楼层
你去确认你的源码里有没有这个方法吧。我的源码里有。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 16:03

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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