业务需求,首先取到数据库中进件单号列表,发送Rest client请求,获取java执行的结果,根据结果更新数据库中进件信息。每次发送的进件单号过多的话,返回的信息量太大,代码报错。所以采用循环,将进件单号分批 执行。整体如下:
javaScript代码如下:
var currPage = parent_job.getVariable("CURR_PAGE");// 从job获取当前页数值(当前第几页)var total_count = parseInt(parent_job.getVariable("count(no)")); // 从job中获取本次导入的总条数
var page_size = parseInt(parent_job.getVariable("PAGE_SIZE")); // 分页条数
var total_page = parent_job.getVariable("TOTAL_PAGE"); // 本次导入的总分页数if(total_page==null||total_page==undefined||total_page==""){
total_page = total_count / page_size;
if(total_count % page_size > 0){
++total_page
}
parent_job.setVariable("TOTAL_PAGE",total_page);
}else{
total_page = parseInt(total_page);
}if(currPage==null||currPage==undefined||currPage==""){
currPage = 1;
}else{
currPage = parseInt(currPage);
}if(currPage>total_page){
false;
}else{
var start = (currPage -1 ) * page_size;
parent_job.setVariable("START_ROW",start);
parent_job.setVariable("CURR_PAGE",currPage+1);
true;
}
提交java模块:
表输入中,每次分批:
SELECT
no
FROM afc_order_info
where
is_work_flow_done='0'
limit
${START_ROW},${PAGE_SIZE}
通过JSON Output模块,将结果封装为Rest Client的入参。