YKPN#58143 -- Parkeeraanvragen in Facilitor

svn path=/Website/branches/v2019.1/; revision=42944
This commit is contained in:
Arthur Egberink
2019-06-13 07:06:51 +00:00
parent 464900404b
commit 9b511fe384

View File

@@ -0,0 +1,141 @@
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;
}
try {
var v_timestamp = timestamp();
WScript.Echo("Start getStat2nedap.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 kw_p.bez_kenmerkwaarde_waarde pincode, b.bez_bezoekers_key bez_bezoekers_key "
+ " FROM bez_bezoekers b, bez_afspraak a, bez_kenmerkwaarde kw_p "
+ " WHERE b.bez_afspraak_key = a.bez_afspraak_key "
+ " AND b.bez_bezoekers_key = kw_p.bez_bezoekers_key "
+ " AND kw_p.bez_kenmerk_key = 1020 " // -- pincode
+ " AND bez_afspraak_datum BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 1) ";
WScript.Echo("sql:" + sql);
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
{
v_pincode = oRs("pincode").Value;
v_bez_bezoekers_key = oRs("bez_bezoekers_key").Value;
var XMLReq= '<?xml version="1.0" encoding="utf-8"?>'
+'<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
+' <soap12:Body>'
+' <getPersonData2 xmlns="https://www.nedapstadstoegang.net/AeosImportService/">'
+' <usr>adminfacilitor</usr>'
+' <pwd>fac8463#t@ned</pwd>'
+' <dbname>aeosdb21</dbname>'
+' <personnelnr>xy' + v_pincode + '</personnelnr>'
+' </getPersonData2>'
+' </soap12:Body>'
+'</soap12: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", "application/soap+xml; charset=utf-8");
objXMLHTTP.setRequestHeader ("SOAPAction", "https://www.nedapstadstoegang.net/AeosImportService/getPersonData2");
//WScript.Echo("Send XML");
objXMLHTTP.send(XMLReq);
//WScript.Echo("XML received");
if (objXMLHTTP.status==200)
{
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
xmlResp.setProperty("SelectionNamespaces", 'xmlns:soap="http://www.w3.org/2003/05/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_lasttimeseen = xmlResp.selectSingleNode("/soap:Envelope/soap:Body/nedap:getPersonData2Response/nedap:getPersonData2Result/nedap:personItem2/nedap:lasttimeseen");
if (v_lasttimeseen)
{
//WScript.Echo("LastTimeSeen:" + v_lasttimeseen.text);
v_lasttimeseen_txt = v_lasttimeseen.text;
v_lasttimeseen_arr = v_lasttimeseen_txt.split("-");
if (v_lasttimeseen_arr[0] < 2100)
{
sql = "BEGIN ykpn.set_kenmerk('BEZ', 1220, " + v_bez_bezoekers_key + ",'" + v_lasttimeseen_txt + "',0); END;";
Oracle.Execute(sql);
}
else
{
// Als de persoon zich niet uitgemeld heeft staat hier een jaar dat groter is dan 2100
//WScript.Echo("Lasttimeseen_year: = " + v_lasttimeseen_arr[0]);
}
}
else
{
WScript.Echo("Pincode levert geen resultaat: = " + v_pincode);
//WScript.Echo("Request = " + XMLReq);
//WScript.Echo("Response = " + responseText);
}
}
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 getStat2nedap.js: " + e.description)
WScript.Quit(1);
}