業務需求,首先取到數據庫中進件單號列表,發送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的入參。