Files
Facilitor/CUST/RABO/import/api_attachment_axxerion.js
Arthur Egberink 5796c49778 RABO#57947 -- Aanpassing bijlagen import proces
svn path=/Website/branches/v2019.1/; revision=43257
2019-07-08 11:24:13 +00:00

124 lines
4.3 KiB
JavaScript

// api_attachment_axxerion.js
// Voegt bijlagen toe aan Facilitor.
//
// $Revision$
// $Id$
//
safe = { // extracted from shared.inc
quoted_sql: function (tekst, maxlen) // maxlen is optioneel
{
if (tekst == null)
return "NULL";
if (!maxlen)
maxlen = 4000;
tekst = tekst.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]+/g, "?");
tekst = tekst.substr(0, maxlen);
return "'" + tekst.replace(/\'/g,"''") + "'"; // " syntax highlight correctie
}
}
function timestamp () {
var date = new Date();
var hours = date.getHours();
var days = date.getDay();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = date + ' ' + hours + ':' + minutes + ' ' + ampm;
return strTime;
}
function strip_filename(naam) // geen 'lage' karakters en geen (back)slashes, *,%,<,>, '"', ':', ';' '?' and '|' of '+'
{
return naam.replace(/[\x00-\x1F|\/|\\|\*|\%\<\>\"\:\;\?\|\+]+/g, "_"); // " syntax highlight correctie
}
try {
var folder = WScript.Arguments(0); // folder
var url = WScript.Arguments(1); // url
folder = folder.replace(/\//g,"\\");
var v_timestamp = timestamp();
WScript.Echo("Start api_attachment_axxerion.js om " + v_timestamp);
var udlstr = 'File Name=../oracle.udl';
var Oracle = new ActiveXObject("ADODB.Connection");
Oracle.Open(udlstr);
// WScript.Echo("Initsession");
var sql = "BEGIN fac.initsession('NL'); END;";
Oracle.Execute(sql);
sql = "SELECT melding_key, "
+ " kenmerk_key, "
+ " impfile_id, "
+ " filenaam, "
+ " filenaam_org "
+ " FROM rabo_imp_bijlagen "
+ " WHERE verwerkt IS NULL "
+ " AND melding_key IS NOT NULL "
+ " AND kenmerk_key IS NOT NULL "
+ " AND aanmaak > SYSDATE -1 ";
//WScript.Echo("sql:" + sql);
var oRs = Oracle.Execute(sql);
var fso = new ActiveXObject("Scripting.FileSystemObject");
while (!oRs.eof)
{
try
{
v_melding_key = oRs("melding_key").Value;
v_kenmerk_key = oRs("kenmerk_key").Value;
v_impfile_id = oRs("impfile_id").Value;
v_filename = folder + oRs("filenaam").Value;
v_filename_org = oRs("filenaam_org").Value;
v_filename_fclt = strip_filename(v_filename_org);
//var uploadURL = "http://rabo.facws001.sg.nl/branch20191/api2/issues/" + v_melding_key + "/attachments/" + v_kenmerk_key + "/";
var uploadURL = url + "/api2/issues/" + v_melding_key + "/attachments/" + v_kenmerk_key + "/";
var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP");
var SXH_PROXY_SET_PROXY = 2;
var objADOStream = new ActiveXObject("ADODB.Stream");
objADOStream.Open;
objADOStream.Type = 1;
WScript.Echo("File:" + v_filename);
WScript.Echo("Filename_org:" + v_filename_org);
WScript.Echo("URL:"+ uploadURL);
objADOStream.LoadFromFile(v_filename)
var arrbuffer = objADOStream.Read();
objXMLHTTP.open("POST", uploadURL + v_filename_org + "?format=json&pretty=1", false);
objXMLHTTP.setRequestHeader ("X-FACILITOR-API-Key", "SDzcgqY2KyFClxYVf3JCtOgVG3QUosbh");
objXMLHTTP.setRequestHeader ("Accept", "application/json");
objXMLHTTP.send(arrbuffer);
if (objXMLHTTP.status >= 200 && objXMLHTTP.status <= 299) // 201: successfully created
{
WScript.Echo("Ok " + objXMLHTTP.status);
obj = eval('(' + objXMLHTTP.responseText+ ')');
WScript.Echo("obj " + obj.message);
fso.DeleteFile(v_filename);
sql = "UPDATE rabo_imp_bijlagen SET verwerkt = SYSDATE WHERE impfile_id = " + safe.quoted_sql(v_impfile_id)
Oracle.Execute(sql);
}
else
{
WScript.Echo(objXMLHTTP.status);
}
WScript.Echo(objXMLHTTP.responseText);
}
catch (d)
{
WScript.Echo("Serieuze fout in loop api_attachment_axxerion.js: " + d.description)
}
oRs.MoveNext();
}
}
catch (e)
{
WScript.Echo("Serieuze fout in api_attachment_axxerion.js: " + e.description)
WScript.Quit(1);
}