两个流程数据赋值问题,A流程结束后给B流程相应字段赋值
设计思路: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)
);
报什么错,详细报错说明截图看一下,定位一下是哪里报错的 本帖最后由 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呢
脚本代码:
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 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) ~
at com.x.processplatform.service.processing.processor.agent.AbstractAgentProcessor.inquireProcessing(AbstractAgentProcessor.java:70) ~
at com.x.processplatform.service.processing.processor.AbstractProcessor.inquire(AbstractProcessor.java:310)
at com.x.processplatform.service.processing.Processing.inquire(Processing.java:237)
at com.x.processplatform.service.processing.Processing.processing(Processing.java:85)
at com.x.processplatform.service.processing.Processing.processing(Processing.java:40)
at com.x.processplatform.service.processing.Processing.processing(Processing.java:95)
at com.x.processplatform.service.processing.Processing.processing(Processing.java:40)
at com.x.processplatform.service.processing.jaxrs.work.ActionProcessing$CallableExecute.call(ActionProcessing.java:99)
at com.x.processplatform.service.processing.jaxrs.work.ActionProcessing$CallableExecute.call(ActionProcessing.java:88)
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) [?:?]
您的代码里不是写死了127.0.0.1的ip了吗 论坛管理员 发表于 2022-6-30 09:43
您的代码里不是写死了127.0.0.1的ip了吗
那是因为找不到jobid,所以才写死的,写死完之后出现索引越界,请问这个该怎么解决呢?我的代码有没有问题呢? 单看报错信息,管理员这边没办法定位到问题点,您增加一些打印信息一点一点调试下,定位到是具体哪段代码,哪个请求报错的 之前索引越界的问题解决了,是因为流程没链接到结束,所以越界。但是现在后台没有报错,同时数据也没有被修改,请管理员大大给一个能成功调用的脚本样例出来呢 论坛管理员 发表于 2022-7-1 09:53
单看报错信息,管理员这边没办法定位到问题点,您增加一些打印信息一点一点调试下,定位到是具体哪段代码, ...
能不能给一个A流程成功修改B流程表单数据的脚本样例出来呢,我这边参考学习一下,谢谢 不好意思,没有现成样例提供,您没有修改成功,管理员建议您增加一些打印信息一点一点调试下,定位一下是哪里有问题
页:
[1]
2