找回密码
 注册成为天翎用户
查看: 971|回复: 6

[已解决] 代码发起流程问题

[复制链接]
创程科技 发表于 2014-7-7 13:50:21 | 显示全部楼层 |阅读模式
本帖最后由 Jarod 于 2014-7-15 18:19 编辑

我们写了一个发起流程的脚本,是按照http://www.teemlink.com/bbs/viewthread.php?tid=164696里面的内容来的,以前一直使用正常,后来升级了一下版本,每次执行第二条时候就报错了,第一条能成功执行,麻烦帮忙看看是什么问题吧?急!
代码如下:
  1. var flowid = "11e3-1d20-05637631-97b2-abaf679ae594";  //流程ID

  2. var params1 = getParameter("_selects");        

  3. var recordid = splitText(params1,";");        //得到选中记录组的id

  4. var process = getDocumentProcess();//申明文档业务处理类

  5. for(var i=0;i<recordid.length;i++)

  6. {

  7. println("recordid[i]:"+recordid[i]);
  8.         
  9.         var doc = findDocument(recordid[i]);             //获得选中记录的文档对象

  10. println("doc:"+doc);

  11.         var params = createParamsTable();
  12.               
  13. println("params:"+params);
  14.         params.setParameter("_flowid",flowid);         

  15.         process.doStartFlowOrUpdate(doc,params,getWebUser());
  16. println("getWebUser:"+getWebUser());


  17. }
复制代码
 楼主| 创程科技 发表于 2014-7-8 09:46:21 | 显示全部楼层
代码报错如下:(每次执行到第二条时候就报错,第一条没有问题;第二条数据肯定没有问题,因为执行完成后第二条会变成第一条,就可以正常执行)
JsUtil:recordid[i]:10113717
JsUtil:doc:Document:楚雄供电局综合管理系统/楚雄供电局绩效管理系统/指标库,考核预警流程/预警流程/配合预警
ZB_YJBHnull
ZB_SFYJnull
预扣分数0.0
预警说明null
指标名称财务指标偏差率
配合部门11e3-147e-31ad6a01-880a-07945839469a
指标性质适度
指标类型预警
单位%
牵头部门11e3-1477-6cd48e62-880a-07945839469a
ZB_XYJHZnull
ZB_BYWCZnull
日期2014-07
ZB_BYJHZnull
部门名称南华公司

JsUtil:params:{}
JsUtil:getWebUser:cn.myapps.core.user.action.WebUser@3c00a9
JsUtil:recordid[i]:10113718
org.mozilla.javascript.WrappedException: Wrapped java.lang.NullPointerException (baselib#324)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(Unknown Source)
at org.mozilla.javascript.NativeJavaMethod.call(Unknown Source)
at org.mozilla.javascript.optimizer.OptRuntime.call1(Unknown Source)
at org.mozilla.javascript.gen.c60._c18(baselib:324)
at org.mozilla.javascript.gen.c60.call(baselib)
at org.mozilla.javascript.optimizer.OptRuntime.callName(Unknown Source)
at org.mozilla.javascript.gen.c288._c0(Activity Action(11e4-01af-1a164913-9f23-e34534957f5e).发起配合部门指标beforeActionScript:15)
at org.mozilla.javascript.gen.c288.call(Activity Action(11e4-01af-1a164913-9f23-e34534957f5e).发起配合部门指标beforeActionScript)
at org.mozilla.javascript.ContextFactory.doTopCall(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.doTopCall(Unknown Source)
at org.mozilla.javascript.gen.c288.call(Activity Action(11e4-01af-1a164913-9f23-e34534957f5e).发起配合部门指标beforeActionScript)
at org.mozilla.javascript.gen.c288.exec(Activity Action(11e4-01af-1a164913-9f23-e34534957f5e).发起配合部门指标beforeActionScript)
at cn.myapps.core.macro.runner.JavaScriptRunner.run(JavaScriptRunner.java:135)
at cn.myapps.core.dynaform.activity.action.ActivityRunTimeAction.doRunbeforeactionscript(ActivityRunTimeAction.java:293)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:365)
at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:217)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:191)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:233)
at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:198)
at cn.myapps.base.web.filter.OBPMFilterDispatcher.doFilter(OBPMFilterDispatcher.java:43)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:78)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at cn.myapps.base.web.filter.AjaxMultiLanguageFilter.doFilter(AjaxMultiLanguageFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at cn.myapps.km.base.filter.KMPersistenceFilter.doFilter(KMPersistenceFilter.java:20)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:33)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:127)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:197)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at cn.myapps.core.sso.cas.filter.OBPMAuthenticationFilter.doFilter(OBPMAuthenticationFilter.java:87)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at cn.myapps.base.web.filter.EncodingFilter.doFilter(EncodingFilter.java:28)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at cn.myapps.base.ejb.AbstractRunTimeProcessBean.getDataSource(AbstractRunTimeProcessBean.java:263)
at cn.myapps.base.ejb.AbstractRunTimeProcessBean.getConnection(AbstractRunTimeProcessBean.java:307)
at cn.myapps.core.dynaform.document.ejb.DocumentProcessBean.getDAO(DocumentProcessBean.java:845)
at cn.myapps.protection.util.WarpProcessFactory$WarpDocumentProcessBean.getDAO(WarpProcessFactory.java:542)
at cn.myapps.core.dynaform.document.ejb.DocumentProcessBean.doView(DocumentProcessBean.java:109)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
... 72 more
回复

使用道具 举报

 楼主| 创程科技 发表于 2014-7-8 09:49:11 | 显示全部楼层
把  process.doStartFlowOrUpdate(doc,params,getWebUser());  这段注释掉,则循环可以正确执行,执行输出如下:
JsUtil:recordid[i]:10113718
JsUtil:doc:Document:楚雄供电局综合管理系统/楚雄供电局绩效管理系统/指标库,考核预警流程/预警流程/配合预警
ZB_YJBHnull
ZB_SFYJnull
预扣分数0.0
预警说明null
指标名称资产负债率
配合部门11e3-147e-31ad6a01-880a-07945839469a
指标性质负向
指标类型预警
单位%
牵头部门11e3-1477-6cd48e62-880a-07945839469a
ZB_XYJHZnull
ZB_BYWCZnull
日期2014-07
ZB_BYJHZnull
部门名称南华公司

JsUtil:getWebUser:cn.myapps.core.user.action.WebUser@3c00a9
JsUtil:recordid[i]:10113719
JsUtil:doc:Document:楚雄供电局综合管理系统/楚雄供电局绩效管理系统/指标库,考核预警流程/预警流程/配合预警
ZB_YJBHnull
ZB_SFYJnull
预扣分数0.0
预警说明null
指标名称利润总额
配合部门11e3-147e-31ad6a01-880a-07945839469a
指标性质正向
指标类型预警
单位万元
牵头部门11e3-1477-6cd48e62-880a-07945839469a
ZB_XYJHZnull
日期2014-07
ZB_BYWCZnull
ZB_BYJHZnull
部门名称南华公司

JsUtil:getWebUser:cn.myapps.core.user.action.WebUser@3c00a9


感觉数据是没有什么问题,是不是程序版本的问题呢?能不能推荐一个稳定点的版本呢?或者对应的更新包也可以。
还有报错是 var doc = findDocument(recordid[i]);    这个报错的,但是为什么把这段   process.doStartFlowOrUpdate(doc,params,getWebUser());   注释掉则可以正确执行?是不是这两个方法对象有冲突呢?
回复

使用道具 举报

david 发表于 2014-7-8 11:46:17 | 显示全部楼层
应该是15行处的recordid没有取到值,13行处的打印语句能取到值么?请楼主在脚本的23行处加个非空判断,有问题再沟通。
回复

使用道具 举报

 楼主| 创程科技 发表于 2014-7-10 10:21:39 | 显示全部楼层
我在23行加了非空判断,ID已经取到了,但是还是报空指针异常错误。
回复

使用道具 举报

shary 发表于 2014-7-10 10:27:32 | 显示全部楼层
您好,麻烦您联系下我,具体帮您远程看下。对应我的联系方式见左下角签名。
回复

使用道具 举报

shary 发表于 2014-7-15 17:20:03 | 显示全部楼层
Q上跟客户沟通调整脚本业务逻辑对应问题解决。帖子关闭。
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-13 19:30

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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