addChannelTask.min.js 5.3 KB

1
  1. print("运行渠道任务工单任务同步实时接口");var File=Java.type("java.io.File");var Root_Dir_Record="D:"+File.separator+"FTPFile"+File.separator+"ChannelTaskRecorder"+File.separator;var recordFile=null;var workcompletedid="";var pw=null;function createRecordFile(){var e=Java.type("java.util.Date");var r=new e;var t=Root_Dir_Record+new java.text.SimpleDateFormat("yyyy").format(r)+File.separator+new java.text.SimpleDateFormat("MM").format(r)+File.separator+new java.text.SimpleDateFormat("dd").format(r)+File.separator+"Add";var a=new File(t);if(!a.exists()){if(!a.mkdirs()){print("创建记录文件夹失败:"+t);a=null}}if(a!==null){var n=t+File.separator+workcompletedid+".txt";recordFile=new File(n);if(recordFile.exists()){recordFile.delete()}if(!recordFile.createNewFile()){print("不能记录文件:"+n);recordFile=null}else{print("创建记录文件:"+n)}}}function printRecorder(e){print(e);if(recordFile==null)createRecordFile();if(recordFile==null)return;if(pw==null)pw=new java.io.PrintWriter(recordFile,"GBK");pw.print(e);pw.write(13);pw.write(10)}function getPureText(e){if(e===null)return e;if(e.substr(0,1)==='"'){e=e.substr(1,e.length-1)}if(e.substr(e.length-1,1)==='"'){e=e.substr(0,e.length-1)}return e}function getWorkCompleteIds(){var e=Java.type("java.util.ArrayList");var r=new e;var t={filterList:[{logic:"and",path:"interfaceStatus",title:"接口状态",comparison:"equals",comparisonTitle:"等于",value:"detailDone",formatType:"textValue"}]};var a=resources.getWebservicesClient().jaxrsPut("x_query_assemble_surface","view/flag/workCompletedByBranch/query/channelTask/execute",JSON.stringify(t));var n=a.getAsJsonObject();var o=n.get("grid");if(o){var i=o.getAsJsonArray();var s=i.iterator();while(s.hasNext()){var l=s.next();if(l&&l!=null){var c=l.get("data");if(c&&c!=null){var d=c.get("workCompletedId");if(d&&d!=null){d=getPureText(d.toString());r.add(d)}}}}}return r}function getIdo(){var e=Java.type("java.util.Random");var r=new e;var t="";for(var a=0;a<14;a++){t+=r.nextInt(10)}return t}function getXml(e){var r=Java.type("java.util.Date");var t=new r;var a=new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(t);var n='<?xml version="1.0" encoding="UTF-8"?>';n+="<xml>";n+="<head>";n+="<sign>";n+="<service_name>addChannelTask</service_name>";n+="<Trans_ido>"+getIdo()+"</Trans_ido>";n+="</sign>";n+="</head>";n+="<body>";n+="<msg>";n+="<Task_id>"+(e.provinceWorkId||e.cityWorkId||e.countyWorkId||e.branchWorkId)+"</Task_id>";n+="<Sub_task_id>"+e.branchWorkId+"</Sub_task_id>";n+="<Task_name>"+e.subject+"</Task_name>";n+="<Region_code>"+e.cityBSSId+"</Region_code>";n+="<Group_id>"+e.branchBSSId+"</Group_id>";n+="<Task_type>"+e.taskType+"</Task_type>";n+="<Task_target></Task_target>";n+="<Task_dev_num>"+e.numberCount+"</Task_dev_num>";n+="<prize>"+(e.reward_branch||e.reward_county||e.reward_city||e.reward)+"</prize>";n+="<File_Name>"+e.File_Name+"</File_Name>";n+="<Eff_date>"+e.taskStartDate.replace(/-/g,"")+"000000</Eff_date>";n+="<Exp_date>"+e.taskEndDate.replace(/-/g,"")+"235959</Exp_date>";n+="<Send_time>"+a+"</Send_time>";n+="</msg>";n+="</body>";n+="</xml>";printRecorder("请求xml="+n);return n}function sendData(e){var r="http://130.30.6.38:12007/adapter";var t=Java.type("java.util.ArrayList");var a=new t;var n=Java.type("com.x.base.core.project.bean.NameValuePair");var o=new n("Content-Type","text/xml; charset=utf-8");a.add(o);var i=Java.type("com.x.base.core.project.connection.HttpConnection");var s=i.postAsString(r,a,e);return s}function getText(e,r){var t=e.getElementsByTagName(r);if(t==null)return null;var a=t.item(0);if(a==null)return null;return a.getTextContent()}function setWorkFlag(e,r){if(r.Response_code==="0000"){resources.getWebservicesClient().jaxrsPut("x_processplatform_assemble_surface","data/workcompleted/"+e+"/interfaceStatus","syncDone")}else{resources.getWebservicesClient().jaxrsPut("x_processplatform_assemble_surface","data/workcompleted/"+e+"/interfaceStatus2","syncError")}if(r.Response_desc){resources.getWebservicesClient().jaxrsPut("x_processplatform_assemble_surface","data/workcompleted/"+e+"/interfaceResponseDesc",r.Response_desc)}printRecorder("workCompletedId为"+e+"的工单设置标志位成功")}function parseResp(e){var r=Java.type("javax.xml.parsers.DocumentBuilderFactory");var t=Java.type("java.io.StringReader");var a=Java.type("org.xml.sax.InputSource");var n=r.newInstance();var o=n.newDocumentBuilder();var i=new t(e);var s=new a(i);var l=o.parse(s);var c=l.getDocumentElement();var d=getText(c,"Response_code");var p=getText(c,"Response_desc");printRecorder("Response_code="+d);printRecorder("Response_desc="+p);return{Response_code:d,Response_desc:p}}function init(){var e=getWorkCompleteIds();print("idList="+e);if(e.size()===0){print("未找到需要同步的工单")}for(var r=0;r<e.size();r++){try{var t=e.get(r);workcompletedid=t;printRecorder("处理工单,workCompletedId="+t);var a=resources.getWebservicesClient().jaxrsGet("x_processplatform_assemble_surface","data/workcompleted/"+t);var n=JSON.parse(a.toString());var o=getXml(n);var i=sendData(o);printRecorder("BSS端返回 "+i);var s=parseResp(i);setWorkFlag(t,s);printRecorder("workCompletedId为"+t+"的工单同步结束");printRecorder("文件URL:/x_desktop/work.html?workcompletedid="+t);if(pw!==null){pw.close();pw=null}if(recordFile!=null){recordFile=null}}catch(e){e.printStackTrace()}}}init();