12下一页
发帖
查看: 20151|回复: 10

两个流程数据赋值问题,A流程结束后给B流程相应字段赋值

升级   0.18%

12

主题

9

回帖

18

积分

注册会员

Rank: 2

积分
18
发表于 2022-6-29 00:57:36 | 显示全部楼层 |阅读模式
设计思路:A流程结束后,通过脚本调用,给B流程某字段赋值。通过A流程引用B流程的流程单号,查询B流程的job ID,通过B流程的job ID修改更新相应字段值,以下为我的脚本代码,但是运行失败,请管理员指导一下


var lcdh = this.data.zpxqlcdh; //获取流程表单zpxqlcdh数据值,即流程编号

//通过流程编号,查询Job ID
var action = this.Actions.load("x_processplatform_assemble_surface");
       action.JobAction.latestWorkWorkCompletedWithSerial(//平台封装好的方法
      lcdh,//uri的参数
      function( json ){ //服务调用成功的回调函数, json为服务传回的数据
         abc = json.data; //为变量data赋值
         edrf =abc.value;
      }.bind(this),
     function( json ){ //服务调用失败的回调函数, json为服务传回的数据
        abc = json.data; //为变量data赋值
        //this.data.cs='123';
     }.bind(this)
    );
//通过Job ID 修改相应流程字段'cs'的值
data = {"cs":"已完成"};
var action = this.Actions.load("x_processplatform_assemble_surface");
       action.DataAction.updateWithJob(//平台封装好的方法
      edrf,//uri的参数
      data,//body请求参数
      function( json ){ //服务调用成功的回调函数, json为服务传回的数据
         data = json.data; //为变量data赋值

      }.bind(this),
     function( json ){ //服务调用失败的回调函数, json为服务传回的数据
        data = json.data; //为变量data赋值
     }.bind(this)
    );


回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-6-29 09:57:15 | 显示全部楼层
报什么错,详细报错说明截图看一下,定位一下是哪里报错的
回复

使用道具 举报

升级   0.18%

12

主题

9

回帖

18

积分

注册会员

Rank: 2

积分
18
发表于 2022-6-29 19:56:31 | 显示全部楼层
本帖最后由 gonnawin 于 2022-6-29 19:57 编辑
论坛管理员 发表于 2022-6-29 09:57
报什么错,详细报错说明截图看一下,定位一下是哪里报错的

C:\Users\Administrator\Desktop\微信截图_20220629195314.png
C:\Users\Administrator\Desktop\微信截图_20220629195420.png
我在后端API内能查到这个job的信息啊,而且数据库也换成了自己的,怎么请求的还是127.0.0.1呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   0.18%

12

主题

9

回帖

18

积分

注册会员

Rank: 2

积分
18
发表于 2022-6-30 00:16:41 | 显示全部楼层


脚本代码:

var lcdh = this.data.zpxqlcdh; //获取流程表单zpxqlcdh数据值,即流程编号

//通过流程编号,查询Job ID
var action = this.Actions.load("x_processplatform_assemble_surface");
       action.JobAction.latestWorkWorkCompletedWithSerial(//平台封装好的方法
      lcdh,//uri的参数
      function( json ){ //服务调用成功的回调函数, json为服务传回的数据
         abc = json.data; //为变量data赋值
         edrf =abc.value;
         this.data.cs = abc.value;
      }.bind(this),
     function( json ){ //服务调用失败的回调函数, json为服务传回的数据
        abc = json.data; //为变量data赋值
        //this.data.cs='123';
     }.bind(this)
    );

var action = this.Actions.load("x_processplatform_assemble_surface");
       action.DataAction.getWithJob(//平台封装好的方法
      edrf,//uri的参数
      function( json ){ //服务调用成功的回调函数, json为服务传回的数据
         qaz = json.data; //为变量data赋值

         this.data.cs1 = qaz.$work.workId;
      }.bind(this),
     function( json ){ //服务调用失败的回调函数, json为服务传回的数据
        qaz = json.data; //为变量data赋值
     }.bind(this)
    );

//通过Job ID 修改相应流程字段'cs'的值

var data = {"qtyy":"21314124","textarea":"21314124"};
var action = this.Actions.load("x_processplatform_service_processing");
       action.DataAction.updateWithJob(//平台封装好的方法
      'http://127.0.0.1:20020/x_processplatform_service_processing/jaxrs/data/job/'+edrf,//uri的参数
      data,//body请求参数
      function( json ){ //服务调用成功的回调函数, json为服务传回的数据
         data = json.data; //为变量data赋值
      }.bind(this),
     function( json ){ //服务调用失败的回调函数, json为服务传回的数据
        data = json.data; //为变量data赋值
     }.bind(this)
    );

日志报以下错误,请问代码哪里有问题呢?




072 [ProcessPlatformExecutor-29] ERROR com.x.processplatform.service.processing.processor.AbstractProcessor - id:019668cf-4d94-4625-ba19-2ffc823ba336, name:com.x.processplatform.service.processing.processor.AbstractProcessor, message:Index 0 out of bounds for length 0, exception:java.lang.IndexOutOfBoundsException.
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
    at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) ~[?:?]
    at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) ~[?:?]
    at jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248) ~[?:?]
    at java.util.Objects.checkIndex(Objects.java:372) ~[?:?]
    at java.util.ArrayList.get(ArrayList.java:459) ~[?:?]
    at com.x.processplatform.service.processing.processor.agent.AgentProcessor.inquiring(AgentProcessor.java:64) ~[classes/:?]
    at com.x.processplatform.service.processing.processor.agent.AbstractAgentProcessor.inquireProcessing(AbstractAgentProcessor.java:70) ~[classes/:?]
    at com.x.processplatform.service.processing.processor.AbstractProcessor.inquire(AbstractProcessor.java:310) [classes/:?]
    at com.x.processplatform.service.processing.Processing.inquire(Processing.java:237) [classes/:?]
    at com.x.processplatform.service.processing.Processing.processing(Processing.java:85) [classes/:?]
    at com.x.processplatform.service.processing.Processing.processing(Processing.java:40) [classes/:?]
    at com.x.processplatform.service.processing.Processing.processing(Processing.java:95) [classes/:?]
    at com.x.processplatform.service.processing.Processing.processing(Processing.java:40) [classes/:?]
    at com.x.processplatform.service.processing.jaxrs.work.ActionProcessing$CallableExecute.call(ActionProcessing.java:99) [classes/:?]
    at com.x.processplatform.service.processing.jaxrs.work.ActionProcessing$CallableExecute.call(ActionProcessing.java:88) [classes/:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
    at java.lang.Thread.run(Thread.java:834) [?:?]




回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-6-30 09:43:25 | 显示全部楼层
您的代码里不是写死了127.0.0.1的ip了吗
回复

使用道具 举报

升级   0.18%

12

主题

9

回帖

18

积分

注册会员

Rank: 2

积分
18
发表于 2022-6-30 11:50:12 | 显示全部楼层
论坛管理员 发表于 2022-6-30 09:43
您的代码里不是写死了127.0.0.1的ip了吗

那是因为找不到jobid,所以才写死的,写死完之后出现索引越界,请问这个该怎么解决呢?我的代码有没有问题呢?
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-7-1 09:53:02 | 显示全部楼层
单看报错信息,管理员这边没办法定位到问题点,您增加一些打印信息一点一点调试下,定位到是具体哪段代码,哪个请求报错的
回复

使用道具 举报

升级   0.18%

12

主题

9

回帖

18

积分

注册会员

Rank: 2

积分
18
发表于 2022-7-3 20:26:23 | 显示全部楼层
之前索引越界的问题解决了,是因为流程没链接到结束,所以越界。但是现在后台没有报错,同时数据也没有被修改,请管理员大大给一个能成功调用的脚本样例出来呢
回复

使用道具 举报

升级   0.18%

12

主题

9

回帖

18

积分

注册会员

Rank: 2

积分
18
发表于 2022-7-3 20:27:33 | 显示全部楼层
论坛管理员 发表于 2022-7-1 09:53
单看报错信息,管理员这边没办法定位到问题点,您增加一些打印信息一点一点调试下,定位到是具体哪段代码, ...

能不能给一个A流程成功修改B流程表单数据的脚本样例出来呢,我这边参考学习一下,谢谢
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-7-4 09:58:51 | 显示全部楼层
不好意思,没有现成样例提供,您没有修改成功,管理员建议您增加一些打印信息一点一点调试下,定位一下是哪里有问题
回复

使用道具 举报

12下一页
发帖

发表回复

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

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread