Files
Facilitor/CUST/YKPN/export/pincode2nedap.js
Arthur Egberink 200e012453 YKPN#40277 -- Parkeerplaatsen in Zoetermeer worden niet in Nedap systeem geboekt
svn path=/Website/branches/v2016.3/; revision=33566
2017-04-21 12:12:35 +00:00

182 lines
7.3 KiB
JavaScript

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;
}
try {
var v_timestamp = timestamp();
WScript.Echo("Start pincode2nedap.js om " + v_timestamp);
var udlstr = 'File Name=../oracle.udl';
var Oracle = new ActiveXObject("ADODB.Connection");
WScript.Echo("Oracle.Open");
Oracle.Open(udlstr);
WScript.Echo("Initsession");
var sql = "BEGIN fac.initsession('NL'); END;";
Oracle.Execute(sql);
sql = "SELECT naam, "
+ " pincode, "
+ " v_van, "
+ " v_tot, "
+ " template, "
+ " countergroup, "
+ " bez_bezoekers_key "
+ " FROM ykpn_v_parkeerplaats_nedap "
WScript.Echo("sql:" + sql);
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
{
v_naam = oRs("naam").Value;
v_pincode = oRs("pincode").Value;
v_van = oRs("v_van").Value;
v_tot = oRs("v_tot").Value;
v_template = oRs("template").Value;
if (oRs("countergroup").Value == null )
{
v_countergroup = "";
}
else
{
v_countergroup = oRs("countergroup").Value;
}
v_bez_bezoekers_key = oRs("bez_bezoekers_key").Value;
var XMLReq= '<?xml version="1.0" encoding="utf-8"?>'
+'<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'
+' <soap:Body>'
+' <import xmlns="https://www.nedapstadstoegang.net/AeosImportService/">'
+' <usr>adminfacilitor</usr>'
+' <pwd>fac8463#t@ned</pwd>'
+' <dbname>aeosdb21</dbname>'
+' <items>'
+' <importItem>'
+' <key>import_function</key>'
+' <value>5</value>'
+' </importItem>'
+' <importItem>'
+' <key>carriertype</key>'
+' <value>2</value>'
+' </importItem>'
+' <importItem>'
+' <key>lastname</key>'
+' <value>'+v_naam+'</value>'
+' </importItem>'
+' <importItem>'
+' <key>personnelnr</key>'
+' <value>xy'+v_pincode+'</value>'
+' </importItem>'
+' <importItem>'
+' <key>arrivaldatetime</key>'
+' <value>'+v_van+'</value>'
+' </importItem>'
+' <importItem>'
+' <key>leavedatetime</key>'
+' <value>'+v_tot+'</value>'
+' </importItem>'
+' <importItem>'
+' <key>badgetype</key>'
+' <value>PIN</value>'
+' </importItem>'
+' <importItem>'
+' <key>badgenumber</key>'
+' <value>'+v_pincode+'</value>'
+' </importItem>'
+' <importItem>'
+' <key>template</key>'
+' <value>'+v_template+'</value>'
+' </importItem>'
+' <importItem>'
+' <key>countgroup</key>'
+' <value>'+v_countergroup+'</value>'
+' </importItem>'
+' </items>'
+' </import>'
+' </soap:Body>'
+'</soap:Envelope>';
//WScript.Echo("Bericht = " + XMLReq);
var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0")
var SXH_OPTION_SELECT_CLIENT_SSL_CERT = 3;
var SXH_PROXY_SET_PROXY = 2;
debugFiddler = 0;
if (debugFiddler)
{
var SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056
objXMLHTTP.setProxy(SXH_PROXY_SET_PROXY, "127.0.0.1:8888")
objXMLHTTP.setOption(2) = SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS
}
//WScript.Echo("Open connection");
objXMLHTTP.open("POST",
"https://www.nedapstadstoegang.net/AeosImportService/service.asmx"
);
//WScript.Echo("Set header");
objXMLHTTP.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
objXMLHTTP.setRequestHeader ("SOAPAction", "https://www.nedapstadstoegang.net/AeosImportService/import");
//WScript.Echo("Send XML");
objXMLHTTP.send(XMLReq);
//WScript.Echo("XML received");
if (objXMLHTTP.status==200)
{
//WScript.Echo("Gelukt, status = " + objXMLHTTP.status);
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
xmlResp.setProperty("SelectionNamespaces", 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:nedap="https://www.nedapstadstoegang.net/AeosImportService/"');
xmlResp.resolveExternals = false; // van mij hoef je geen DTD's te controleren
xmlResp.validateOnParse = false; // van mij hoef je geen DTD's te controleren
xmlResp.loadXML(objXMLHTTP.responseText); // for parsing
var responseText = objXMLHTTP.responseText; // for debugging
v_nedap_id = xmlResp.selectSingleNode("/soap:Envelope/soap:Body/nedap:importResponse/nedap:importResult");
if (v_nedap_id)
{
WScript.Echo("v_nedap_id:" + v_nedap_id.text);
if (v_nedap_id.text >= 0)
{
sql = "BEGIN ykpn.set_nedap_status("+v_bez_bezoekers_key+",'" + v_nedap_id.text +"'); END;";
Oracle.Execute(sql);
}
else
{
WScript.Echo("Request = " + XMLReq);
}
}
else
{
WScript.Echo("Request = " + XMLReq);
WScript.Echo("Response = " + responseText);
WScript.Echo("v_nedap_id: NULL");
}
}
else
{
WScript.Echo("Request = " + XMLReq);
WScript.Echo("Mislukt, status = " + objXMLHTTP.status);
WScript.Echo(objXMLHTTP.statusText);
}
oRs.MoveNext();
}
}
catch (e)
{
// WScript.Echo("Response.text" + responseText);
WScript.Echo("Serieuze fout in pincode2nedap.js: " + e.description)
WScript.Quit(1);
}