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

QQ登录

只需一步,快速开始

查看: 7271|回复: 12

[结贴] 怎么一键提交多个任务?

[复制链接]

14

主题

40

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
发表于 2017-6-30 11:40:07 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
在流程之外怎么一键提交多个任务?  就是在不使用process组建的情况下怎么提交任务

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-6-30 13:32:55 | 显示全部楼层
可以定义action,action中调用API启动流程
批量启动流程可以参考
http://docs.wex5.com/bex5-process-question-list-10028/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

14

主题

40

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
 楼主| 发表于 2017-6-30 14:05:08 | 显示全部楼层
jishuang 发表于 2017-6-30 13:32
可以定义action,action中调用API启动流程
批量启动流程可以参考
http://docs.wex5.com/bex5-process-questi ...

我在流程之外  没有办法使用process组件
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-6-30 14:38:54 | 显示全部楼层
2楼发的两个方案,看下面的java啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

14

主题

40

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
 楼主| 发表于 2017-6-30 17:21:43 | 显示全部楼层
jishuang 发表于 2017-6-30 14:38
2楼发的两个方案,看下面的java啊

假如我批量提交两个任务 这两个任务的节点数不一样会有什么影响嘛
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-6-30 17:45:50 | 显示全部楼层
那就不是批量的,是需要自己调用多次startProcess,传不同的process路径
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

14

主题

40

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
 楼主| 发表于 2017-7-4 10:43:27 | 显示全部楼层
jishuang 发表于 2017-6-30 17:45
那就不是批量的,是需要自己调用多次startProcess,传不同的process路径

保存结束后事件 调用多个action 如果不加"directExecute":true, action就不会调用 加了以后只会掉用一个action这个怎么解决?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-7-4 11:49:18 | 显示全部楼层
具体的代码发一下看看
批量调用action可以参考/UI2/demo/actions/process/invokeAction/mainActivity.w
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

14

主题

40

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
 楼主| 发表于 2017-7-4 13:34:29 | 显示全部楼层
jishuang 发表于 2017-7-4 11:49
具体的代码发一下看看
批量调用action可以参考/UI2/demo/actions/process/invokeAction/mainActivity.w ...

// 组合流程任务提交事件(功能完毕)
        Model.prototype.processBeforeAdvance = function(event){
                event.cancel = true; // 取消后续操作
                var thisObj = this;
                debugger
                // 获取该任务业务号
                var mainData = this.comp('mainData');
                var YWH = mainData.val("YWH");
                // 调用方法获取所有任务的sid
                var allSID = new Array();
                // 根据该业务号 获取所有任务的业务号
                var param= new biz.Request.ActionParam();
                param.setString("YWH",YWH);
                biz.Request.sendBizRequest({
                        "context" : this.getContext(),
                        "parameters" : param,
                        "action" : "queryZHRWAction",
                        "directExecute":true,
                        contentType : biz.Request.JSON_TYPE,
                        dataType : biz.Request.JSON_TYPE,
                        "callback" : function(callbackData) {
                        debugger
                                var taskList = callbackData.response;
                                // 循环判断任务是否已经保存完毕
                                for(var i = 0;i<taskList.length;i++){
                                        // 根据业务号调用action 判断任务是否保存 如果有没有保存的任务 直接retuen
                                        var queryParam= new biz.Request.ActionParam();
                                        var thisYWH = taskList.YWH;
                                        queryParam.setString("YWH",thisYWH);
                                        biz.Request.sendBizRequest({
                                                "context" : thisObj.getContext(),
                                                "parameters" : queryParam,
                                                "action" : "querySA_TaskAction",
                                                contentType : biz.Request.JSON_TYPE,
                                                dataType : biz.Request.JSON_TYPE,
                                                "callback" : function(callbackData){
                                                debugger
                                                        var sid = callbackData.response[0].SID;
                                                        var saveStatus = callbackData.response[0].saveStatus;
                                                        // 保存状态参数 1表示保存成功
                                                        if(saveStatus !== "1"){
                                                                alert("请查看是否已经保存全部页面");
                                                                // 结束当前方法
                                                                event.cancel = true;
                                                        }else{
                                                                allSID.push(sid);
                                                        }
                                                }
                                        });
                                }
                        }
                });
                // 所有的待办按得到的control中的执行人进行流转
                var params = new biz.Request.ActionParam();
                var tasksParam = new biz.Request.ListParam();

                // 依次获取需要流转任务的sid
                for (var i = 0; i < allSID.length; i++) {
                        tasksParam.add(allSID);
                }
                params.setList("tasks", tasksParam);
                var controlData = event.processControl.getData();
                var controlParam = new biz.Request.ObjectParam(controlData, "com.justep.system.process.ProcessControl");
                params.setObject("control", controlParam);
                biz.Request.sendBizRequest({
                        "context" : this.getContext(),
                        "action" : "batchAdvanceProcessAction",
                        "directExecute" : true,
                        "parameters" : params           
                });
                // 流程成功后关闭页面
//                setTimeout(function() {
//                        thisObj.comp('window').close()
//                }, 1);
        };

不加"directExecute":true,的action就不调用
回复 支持 反对

使用道具 举报

14

主题

40

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
 楼主| 发表于 2017-7-4 14:24:12 | 显示全部楼层
李建新 发表于 2017-7-4 13:34
// 组合流程任务提交事件(功能完毕)
        Model.prototype.processBeforeAdvance = function(event){
                eve ...

在代码中段是 怎么中断代码 使用return没有作用
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 03:39 , Processed in 0.076510 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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