|
批处理流程调用action,action代码如下:- public static void batchAdvanceProcess(List<String> tasks, ProcessControl control) {
- System.out.println("--------------组合提交---------------");
- System.out.println(tasks);
- System.out.println(control);
- // System.out.println(control.toString());
- System.out.println(control==null);
- if(control==null){//control为空时,表示前台无选人提示框,为直接提交,把当前登录人作为下一环节执行人
- for (String task : tasks) {
- ProcessControl cur = ProcessUtils.advanceProcessQuery(task);
- ProcessControlItem item = (ProcessControlItem) cur.getFlowTos().get(0);
- item.clearExecutors();
- item.addExecutors(OrgUtils.findOrgUnitsByCode(ContextHelper.getPerson().getCode()));
- ProcessUtils.advanceProcess(task, cur);
- }
- }else{
- for (String task : tasks) {
- System.out.println("--------------------task------------------");
- System.out.println(task);
- ProcessControl cur = ProcessUtils.advanceProcessQuery(task);
- System.out.println(cur);
- System.out.println(cur.writer().asXML());
- modifyFlowToExecutors(cur, control);
- modifyNoticeExecutors(cur, control);
- ProcessUtils.advanceProcess(task, cur);
- }
- }
- }
- private static void modifyNoticeExecutors(ProcessControl cur, ProcessControl control) {
- Iterator<ProcessControlItem> it = cur.getNotices().iterator();
- System.out.println("-------------------step2: modifyNoticeExecutors-----------------");
- System.out.println(cur.getNotices().size());
- System.out.println(it.hasNext());
- while (it.hasNext()) {
- ProcessControlItem item = it.next();
- ProcessControlItem template = control.getNotice(item.getUnit());
- if (template == null) {
- it.remove();
- } else {
- item.clearExecutors();
- System.out.println("----------------------获取执行人----------------");
- System.out.println(template.getExecutors());
- item.addExecutors(template.getExecutors());
- }
- }
- }
- private static void modifyFlowToExecutors(ProcessControl cur, ProcessControl control) {
- Iterator<ProcessControlItem> it = cur.getFlowTos().iterator();
- System.out.println("-------------------step1: modifyFlowToExecutors-----------------");
- System.out.println(it.hasNext());
- while (it.hasNext()) {
- ProcessControlItem item = it.next();
- ProcessControlItem template = control.getFlowTo(item.getUnit());
- if (template == null) {
- it.remove();
- } else {
- item.clearExecutors();
- System.out.println("----------------------获取执行人----------------");
- System.out.println(template.getExecutors());
- item.addExecutors(template.getExecutors());
- }
- }
- }
复制代码
控制台报错如下:
--------------组合提交---------------
[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
|
|