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

QQ登录

只需一步,快速开始

查看: 3399|回复: 2

[结贴] 流程批处理出现未指定执行者的问题

[复制链接]

50

主题

136

帖子

452

积分

中级会员

Rank: 3Rank: 3

积分
452
QQ
发表于 2018-1-3 14:59:47 | 显示全部楼层 |阅读模式
批处理流程调用action,action代码如下:
  1. public static void batchAdvanceProcess(List<String> tasks, ProcessControl control) {
  2.                 System.out.println("--------------组合提交---------------");
  3.                 System.out.println(tasks);
  4.                 System.out.println(control);
  5. //                System.out.println(control.toString());
  6.                 System.out.println(control==null);
  7.                 if(control==null){//control为空时,表示前台无选人提示框,为直接提交,把当前登录人作为下一环节执行人
  8.                         for (String task : tasks) {
  9.                                 ProcessControl cur = ProcessUtils.advanceProcessQuery(task);
  10.                                 ProcessControlItem item = (ProcessControlItem) cur.getFlowTos().get(0);
  11.                                 item.clearExecutors();
  12.                                 item.addExecutors(OrgUtils.findOrgUnitsByCode(ContextHelper.getPerson().getCode()));
  13.                                 ProcessUtils.advanceProcess(task, cur);                               
  14.                         }
  15.                 }else{
  16.                         for (String task : tasks) {
  17.                                 System.out.println("--------------------task------------------");
  18.                                 System.out.println(task);
  19.                                 ProcessControl cur = ProcessUtils.advanceProcessQuery(task);
  20.                                 System.out.println(cur);
  21.                                 System.out.println(cur.writer().asXML());
  22.                                 modifyFlowToExecutors(cur, control);
  23.                                 modifyNoticeExecutors(cur, control);
  24.                                 ProcessUtils.advanceProcess(task, cur);
  25.                         }                       
  26.                 }
  27.         }

  28.         private static void modifyNoticeExecutors(ProcessControl cur, ProcessControl control) {
  29.                 Iterator<ProcessControlItem> it = cur.getNotices().iterator();
  30.                 System.out.println("-------------------step2: modifyNoticeExecutors-----------------");
  31.                 System.out.println(cur.getNotices().size());
  32.                 System.out.println(it.hasNext());
  33.                 while (it.hasNext()) {
  34.                         ProcessControlItem item = it.next();
  35.                         ProcessControlItem template = control.getNotice(item.getUnit());
  36.                         if (template == null) {
  37.                                 it.remove();
  38.                         } else {
  39.                                 item.clearExecutors();
  40.                                 System.out.println("----------------------获取执行人----------------");
  41.                                 System.out.println(template.getExecutors());
  42.                                 item.addExecutors(template.getExecutors());
  43.                         }
  44.                 }
  45.         }

  46.         private static void modifyFlowToExecutors(ProcessControl cur, ProcessControl control) {
  47.                 Iterator<ProcessControlItem> it = cur.getFlowTos().iterator();
  48.                 System.out.println("-------------------step1: modifyFlowToExecutors-----------------");
  49.                 System.out.println(it.hasNext());
  50.                 while (it.hasNext()) {
  51.                         ProcessControlItem item = it.next();
  52.                         ProcessControlItem template = control.getFlowTo(item.getUnit());
  53.                         if (template == null) {
  54.                                 it.remove();
  55.                         } else {
  56.                                 item.clearExecutors();
  57.                                 System.out.println("----------------------获取执行人----------------");
  58.                                 System.out.println(template.getExecutors());
  59.                                 item.addExecutors(template.getExecutors());
  60.                         }
  61.                 }
  62.         }
复制代码

控制台报错如下:
--------------组合提交---------------
[C076523BEAD14FD493C5E7ED7160A8F6, C47A55AB498C4505B3FFC9DEF0F243A0]
com.justep.system.process.ProcessControl@1758f23
false
--------------------task------------------
C076523BEAD14FD493C5E7ED7160A8F6
[(/86J9Iz1nKF7s0LpGcjo.ogn/OI68aIgVIRd5II7e6qS.dpt/DLeSCIsdtqakrkpQXRP.pos/MKzQYK8UVdnn5IyMIml@DLeSCIsdtqakrkpQXRP.psm,/无锡市不动产登记中心/锡山区/科员/吴江月)@OrgUnit]
com.justep.system.process.ProcessControl@11eccfa
-------------------step1: modifyFlowToExecutors-----------------
true
----------------------获取执行人----------------
[(/86J9Iz1nKF7s0LpGcjo.ogn/OI68aIgVIRd5II7e6qS.dpt/DLeSCIsdtqakrkpQXRP.pos/MKzQYK8UVdnn5IyMIml@DLeSCIsdtqakrkpQXRP.psm,/无锡市不动产登记中心/锡山区/科员/吴江月)@OrgUnit]
-------------------step2: modifyNoticeExecutors-----------------
0
false
--------------------task------------------
C47A55AB498C4505B3FFC9DEF0F243A0
2018-01-03 14:49:28 加载模块:/register/mortgage/house/register/first/personal/process/personal ...
-------------------step1: modifyFlowToExecutors-----------------
true
-------------------step2: modifyNoticeExecutors-----------------
0
false
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        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:745)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor170.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.justep.system.action.Engine.invokeAction(Native Method)
        at com.justep.system.action.Engine.invokeAction(Unknown Source)
        at com.justep.model.impl.UtilImplementInstance.invokeAction(Unknown Source)
        at com.justep.model.impl.UtilImplementInstance.invokeAction(Unknown Source)
        at com.justep.system.action.ActionUtils.invokeAction(Unknown Source)
        at com.justep.system.process.ProcessUtils.advanceProcess(Unknown Source)
        at Main.batchAdvanceProcess(Main.java:1516)
        ... 27 more
Caused by: com.justep.system.util.BizSystemException: 编码: JUSTEP180360; 提示: 后续环节未指定执行者,请重新流转
        at com.justep.system.util.BizSystemException.create(Unknown Source)
        at com.justep.system.process.ProcessEngine.check(Unknown Source)
        at com.justep.system.process.ProcessEngine.commit(Unknown Source)
        at ProcessProcedure.advanceProcess(ProcessProcedure.java:355)
        ... 37 more

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2018-1-3 15:13:59 | 显示全部楼层
Main.batchAdvanceProcess(Main.java:1516)java调试跟踪一下

http://docs.wex5.com/bex5-process-question-list-10028/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

50

主题

136

帖子

452

积分

中级会员

Rank: 3Rank: 3

积分
452
QQ
 楼主| 发表于 2018-1-3 15:41:40 | 显示全部楼层
jishuang 发表于 2018-1-3 15:13
Main.batchAdvanceProcess(Main.java:1516)java调试跟踪一下

http://docs.wex5.com/bex5-process-question ...

已解决,要求这些待办的后续环节和执行者信息一致
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-2 08:54 , Processed in 0.050479 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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