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

QQ登录

只需一步,快速开始

楼主: shuaigej

[结贴] 批量流转的问题

[复制链接]

146

主题

732

帖子

1101

积分

金牌会员

Rank: 6Rank: 6

积分
1101
QQ
 楼主| 发表于 2016-6-27 14:42:15 | 显示全部楼层
jishuang 发表于 2016-6-27 14:37
setObject可以参考
var params = new biz.Request.ActionParam();
                var objectParam = new biz.Request.Ob ...

我的意思是我的tasks哪里错了呢,都是现成的语句,
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-6-27 15:02:28 | 显示全部楼层
报错的是java中,你发的是js中

把java文件右键设置为源码路径看看是否有报错,或者java中打断点调试跟一下看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

146

主题

732

帖子

1101

积分

金牌会员

Rank: 6Rank: 6

积分
1101
QQ
 楼主| 发表于 2016-6-27 15:04:31 | 显示全部楼层
本帖最后由 shuaigej 于 2016-6-27 15:05 编辑

打断点跟了,就是33楼的报错阿,源码路径也设了,没有错,就是一执行就报错,报33楼的错
回复 支持 反对

使用道具 举报

146

主题

732

帖子

1101

积分

金牌会员

Rank: 6Rank: 6

积分
1101
QQ
 楼主| 发表于 2016-6-27 15:17:42 | 显示全部楼层
结合43楼,我想了想,肯定是因为前台的问题,如果前台参数没传对,后来代码肯定无法正确识别,如下使我前台的代码(后台代码就是33楼报错点):
其中,action的"control"参数不知该如何赋值,其他地方也不知道设全没有
var options = {};
        
      
       options.parameters = new biz.Request.ActionParam();
       var taskParam = new biz.Request.ListParam();
       var objectParam = new biz.Request.ObjectParam();
      
      
       alert("rows_task="+rows_task.length);
       for (var i=0; i<rows_task.length; i++){
             taskParam.add(rows_task);
       }
     
        var process = this.getContext().getCurrentProcess();
        var activity = this.getContext().getCurrentActivity();
        options.contentType = 'application/json';
        options.process = process;
        options.activity = activity;
        options.directExecute = true;
        options.dataType = "json";
        options.parameters.setList("tasks", taskParam);
        options.parameters.setObject("control", objectParam);不知如何赋值
        options.action = "batchAdvanceProcessAction";
        
        
        options.callback = function(data){
                if(data.state){
                        //成功
                }else{
                        //失败
                        Request.errorMessage(taskParam, "执行失败!", null, null);
                }                        
        };        
        var result = Request.sendBizRequest(options);
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-6-27 15:34:27 | 显示全部楼层
你好楼主,这个问题需要我做一个例子给你,所以会花费较长时间,请你耐心等待,我完成后会第一时间将例子发上来的,谢谢!
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

146

主题

732

帖子

1101

积分

金牌会员

Rank: 6Rank: 6

积分
1101
QQ
 楼主| 发表于 2016-6-27 15:41:41 | 显示全部楼层
谢谢,大概多久?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-6-27 16:26:40 | 显示全部楼层
参考
  1. Model.prototype.process1BeforeAdvance = function(event) {
  2.                 var self = this;
  3.                 var context = self.getContext();
  4.                 event.cancel = true; // 取消后续操作

  5.                 // 所有的待办按得到的control中的执行人进行流转
  6.                 var options = {};
  7.                 options.process = context.getCurrentProcess();
  8.                 options.activity = context.getCurrentActivity();
  9.                 options.action = "batchAdvanceProcessAction";
  10.                 options.directExecute = true;

  11.                 options.parameters = new biz.Request.ActionParam();
  12.                 var taskParam = new biz.Request.ListParam();
  13.                 for (var i = 0; i < this.tasks.length; i++) {
  14.                         taskParam.add(this.tasks[i]);
  15.                 }
  16.                 options.parameters.setList("tasks", taskParam);

  17.                 options.contentType = "json";
  18.                 var controlData = event.processControl.getData();

  19.                 var controlParam = new biz.Request.ObjectParam(controlData, "com.justep.system.process.ProcessControl");
  20.                 options.parameters.setObject("control", controlParam);
  21.                 biz.Request.sendBizRequest(options);

  22.                 setTimeout(function() {
  23.                         self.close()
  24.                 }, 1);
  25.         };
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

146

主题

732

帖子

1101

积分

金牌会员

Rank: 6Rank: 6

积分
1101
QQ
 楼主| 发表于 2016-6-28 09:28:32 | 显示全部楼层
报以下错:
2016-06-28 09:23:36 [SQL Time]sql 执行时间:2ms, exec KSQL: insert into SA_Task i (i, i.sProcessName, i.sKindID, i.sStatusName, i.sAIID, i.sLock, i.sActivity, i.sExpectStartTime, i.sProcessTemplateID2, i.sProcess, i.sStatusID, i.sAIStatusID, i.sLastModifyTime, i.sActualStartTime, i.sVariable, i.sActualFinishTime, i.sCreateTime, i.sCatalogID, i.sActivityName, i.sExpectFinishTime, i.sFlowID, i.sActivityInTemplate, i.sTypeName, i.sData1, i.version, i.sParent) values ('5AF2DE3440D447268DA8A6006FA0C637', :sProcessName, :sKindID, :sStatusName, :sAIID, :sLock, :sActivity, :sExpectStartTime, :sProcessTemplateID2, :sProcess, :sStatusID, :sAIStatusID, :sLastModifyTime, :sActualStartTime, :sVariable, :sActualFinishTime, :sCreateTime, :sCatalogID, :sActivityName, :sExpectFinishTime, :sFlowID, :sActivityInTemplate, :sTypeName, :sData1, 0, 'A3A299BAC7044CA0BB75FD99C9427DB5')
  --> sql:INSERT INTO SA_Task (SA_Task.sID, SA_Task.SPROCESSNAME, SA_Task.SKINDID, SA_Task.SSTATUSNAME, SA_Task.SAIID, SA_Task.SLOCK, SA_Task.SACTIVITY, SA_Task.SEXPECTSTARTTIME, SA_Task.SPROCESSTEMPLATEID2, SA_Task.SPROCESS, SA_Task.SSTATUSID, SA_Task.SAISTATUSID, SA_Task.SLASTMODIFYTIME, SA_Task.SACTUALSTARTTIME, SA_Task.SVARIABLE, SA_Task.SACTUALFINISHTIME, SA_Task.SCREATETIME, SA_Task.SCATALOGID, SA_Task.SACTIVITYNAME, SA_Task.SEXPECTFINISHTIME, SA_Task.SFLOWID, SA_Task.SACTIVITYINTEMPLATE, SA_Task.STYPENAME, SA_Task.SDATA1, SA_Task.VERSION, SA_Task.sParentID) VALUES (?,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? , ?, ?)
--> binds:[5AF2DE3440D447268DA8A6006FA0C637, 加班录入表, tkTask, 完成, 5AF2DE3440D447268DA8A6006FA0C637, F141084755B4468883FD7CB8C93CF151, conditionBranch2, 2016-06-28 09:23:36.583, , /jiaban/result/process/result/resultProcess, tesFinished, end, 2016-06-28 09:23:36.584, 2016-06-28 09:23:36.583, x=;, 2016-06-28 09:23:36.584, 2016-06-28 09:23:36.583, tsProcess, 是否法定节日, 2016-06-28 09:23:36.584, A3A299BAC7044CA0BB75FD99C9427DB5, conditionBranch2, 加班录入表, BBC298D887E44208AA9A48E0148378AA, 0, A3A299BAC7044CA0BB75FD99C9427DB5]
2016-06-28 09:23:36 [SQL Time]sql 执行时间:1ms, exec KSQL: insert into SA_Task.sNext (SA_Task, SA_Task.sNext) values ('5AF2DE3440D447268DA8A6006FA0C637', '7841233A2C8647908EF09517BDC7E575')
  --> sql:INSERT INTO SA_TaskRelation (SA_TaskRelation.sTaskID1, SA_TaskRelation.sTaskID2) VALUES (?, ?)
--> binds:[5AF2DE3440D447268DA8A6006FA0C637, 7841233A2C8647908EF09517BDC7E575]
2016-06-28 09:23:36 [SQL Time]sql 执行时间:1ms, exec KSQL: insert into SA_TokenInstance i (i, i.sProcess, i.sPlace, i.sFromActivity, i.sProcessInstanceID, i.sActive, i.sValue, i.sFromActivityInstanceID) values ('195996A23E6940A9A0CB9B107D7C9F61', :sProcess, :sPlace, :sFromActivity, :sProcessInstanceID, :sActive, :sValue, :sFromActivityInstanceID)
  --> sql:INSERT INTO SA_TokenInstance (SA_TokenInstance.sID, SA_TokenInstance.SPROCESS, SA_TokenInstance.SPLACE, SA_TokenInstance.SFROMACTIVITY, SA_TokenInstance.SPROCESSINSTANCEID, SA_TokenInstance.SACTIVE, SA_TokenInstance.SVALUE, SA_TokenInstance.SFROMACTIVITYINSTANCEID) VALUES (?,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? )
--> binds:[195996A23E6940A9A0CB9B107D7C9F61, /jiaban/result/process/result/resultProcess, end1, conditionBranch2-FalseActivity-IfElse_, A3A299BAC7044CA0BB75FD99C9427DB5, true, , 7841233A2C8647908EF09517BDC7E575]
2016-06-28 09:23:36 [SQL Time]sql 执行时间:0ms, exec KSQL: select c.sContent from SA_ProcessControl c where c.sProcess='/jiaban/result/process/result/resultProcess' and c.sActivity='businessActivity1' and c.sAction='advanceProcessAction' and c.sOperatorID='mSg458o6WB6YcRi3olS' and (c.sProcessTemplateID2 IS NULL or c.sProcessTemplateID2 = '')
  --> sql:SELECT  c.SCONTENT AS sContent FROM SA_ProcessControl c  WHERE  (c.SPROCESS = ?) AND (c.SACTIVITY = ?) AND (c.SACTION = ?) AND (c.SOPERATORID = ?) AND ( (c.SPROCESSTEMPLATEID2 IS NULL) OR (c.SPROCESSTEMPLATEID2 = ?) )
--> binds:[/jiaban/result/process/result/resultProcess, businessActivity1, advanceProcessAction, mSg458o6WB6YcRi3olS, ]
2016-06-28 09:23:36 [SQL Time]sql 执行时间:1ms, exec KSQL: update SA_ProcessControl c set c.sContent='<process-control><notice/><to><process-control-item><process>/jiaban/result/process/result/resultProcess</process><template></template><unit>end1</unit><executors/></process-control-item></to></process-control>' where c.sProcess='/jiaban/result/process/result/resultProcess' and c.sActivity='businessActivity1' and c.sAction='advanceProcessAction' and c.sOperatorID='mSg458o6WB6YcRi3olS'  and (c.sProcessTemplateID2 IS NULL or c.sProcessTemplateID2 = '')
  --> sql:UPDATE SA_ProcessControl SET SA_ProcessControl.SCONTENT = ?  WHERE  (SA_ProcessControl.SPROCESS = ?) AND (SA_ProcessControl.SACTIVITY = ?) AND (SA_ProcessControl.SACTION = ?) AND (SA_ProcessControl.SOPERATORID = ?) AND ( (SA_ProcessControl.SPROCESSTEMPLATEID2 IS NULL) OR (SA_ProcessControl.SPROCESSTEMPLATEID2 = ?) )
--> binds:[<process-control><notice/><to><process-control-item><process>/jiaban/result/process/result/resultProcess</process><template></template><unit>end1</unit><executors/></process-control-item></to></process-control>, /jiaban/result/process/result/resultProcess, businessActivity1, advanceProcessAction, mSg458o6WB6YcRi3olS, ]
下一节点
2016-06-28 09:23:36 excute stream action, params:{"accept":"application/json","action":"batchAdvanceProcessAction","actionFlag":"__action_0__","activity":"staticActivity2","contentType":"json","parameters":{"control":{"class":"com.justep.system.process.ProcessControl","object":{"@@tag":"process-control","customized-enabled":"false","dialog-enabled":"true","exts":{},"jump-enabled":"false","message":"","notice":[],"postscript":"","save-history":"true","status":"none","task-join":"false","task-join-mode":"tjmMultiple","to":[{"@activity-id":"664C964D059646F68B939578F719E6C4","@id":"664C964D059646F68B939578F719E6C4","@is-end":"true","@readonly":"true","@selected":"true","executor-kinds":"","executor-range":[],"executors":[],"exts":{},"process":"/jiaban/result/process/result/resultProcess","task-relation-value":{"@@tag":"task-relation-value","SA_Task":"B995066DB9ED424AA688A522822671C1","sActivityInTemplate":"end1","sActivityName":"","sLastModifyTime":"2016-06-28T09:22:20.229Z","sLock":"0F41584EE75841FE8A28F39A995F371B","sProcess":"/jiaban/result/process/result/resultProcess","sProcessName":"加班录入表","sProcessTemplateID2":"","sTypeName":"加班录入表"},"template":"","unit":"end1"}]}},"tasks":["93B94316C1E44BDE95A468E1AE5245DA","65B0A2CF7AD14EF493E962891C3AEFF8",""]},"process":"/jiaban/result/process/result/resultProcess"}
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: com.justep.system.util.BizSystemException: 编码: JUSTEP180208; 提示: 任务""不存在
        at com.justep.system.util.BizSystemException.create(Unknown Source)
        at com.justep.system.process.ProcessUtils.getProcessActivityByTask(Unknown Source)
        at com.justep.system.process.ProcessUtils.advanceProcessQuery(Unknown Source)
        at Result.batchAdvanceProcess(Result.java:141)
        ... 27 more我看我取的tasks都是当前正在处理的task主键
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-6-28 09:31:23 | 显示全部楼层
任务""不存在
传的task的值不对
可以在java中把task输出看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

146

主题

732

帖子

1101

积分

金牌会员

Rank: 6Rank: 6

积分
1101
QQ
 楼主| 发表于 2016-6-28 10:56:57 | 显示全部楼层
哦,task里面有一个空值,我没屏蔽,现在好了。
还有最后一个问题:关于批量分组发送,我有一组下一节点是结束,另一组下一节点是审核,这两组都需要当前节点人批量审核,怎么在后台自动批量呢?我第二组下一节点有默认的审核人。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 09:58 , Processed in 0.053056 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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