UWVA#54444 update aro koppeling. Ook aro.config buiten custfunctions.wsc gehaald.
svn path=/Website/branches/v2019.1/; revision=42806
This commit is contained in:
18
CUST/UWVA/aro.config
Normal file
18
CUST/UWVA/aro.config
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
// ARO
|
||||
ARO_TokenUrl: "https://identity-acc.aroservices.nl/connect/token",
|
||||
ARO_RevokeUrl: "https://identity-acc.aroservices.nl/connect/revocation",
|
||||
|
||||
ARO_RootUrl: "https://acceptatie.agressieregistratieoverheid.nl/api/",
|
||||
|
||||
ARO_User: "ARO-facilitor@uwv.nl",
|
||||
ARO_Pass: "Hx6m$pTuGpR%",
|
||||
ARO_Basic: "Basic dXd2LmZhY2lsaXRvci5jbGllbnQ6MDc0OGZkYmYtZjdmMy00YjdhLThlZTAtNzBkMTQyNmU3MjMw", // uwv.facilitor.client:0748fdbf-f7f3-4b7a-8ee0-70d1426e7230
|
||||
|
||||
ARO_bez_bsn_key: 1, // bez flex to perform ARO-BSN-Check against
|
||||
ARO_bsnsrt_key: 3, // res srtflex to perform ARO-BSN-Check against
|
||||
ARO_warnsrt_key: 41, // res srtflex to register ARO-BSN-Check-result (if true)
|
||||
ARO_mld_bsn_key: 109, // mld flex to perform ARO-BSN-Check against (SpoBiLo)
|
||||
ARO_mld_warn_key: 115, // mld flex to register ARO-BSN-Check-result (if true)
|
||||
loglevel: 0 // unused
|
||||
}
|
||||
@@ -24,6 +24,9 @@
|
||||
<property name="safe">
|
||||
<put/>
|
||||
</property>
|
||||
<property name="hookfile">
|
||||
<put/>
|
||||
</property>
|
||||
|
||||
<!-- methods -->
|
||||
<method name="bez_postsave">
|
||||
@@ -54,6 +57,7 @@ function put_Oracle(newValue) {Oracle = newValue};
|
||||
function put___Log(newValue) {__Log = newValue};
|
||||
function put___DoLog(newValue) {__DoLog = newValue};
|
||||
function put_safe(newValue) {safe = newValue};
|
||||
function put_hookfile(newValue) {hookfile = newValue};
|
||||
|
||||
/* methods */
|
||||
/*
|
||||
@@ -64,30 +68,34 @@ function put_safe(newValue) {safe = newValue};
|
||||
|
||||
*/
|
||||
|
||||
/* Dit zijn de enige drie functies die je mag gebruiken */
|
||||
/* Dit zijn de enige functies/vars die je mag gebruiken */
|
||||
var Oracle;
|
||||
var __Log;
|
||||
var __DoLog;
|
||||
var safe;
|
||||
var hookfile;
|
||||
|
||||
// ARO
|
||||
var ARO_RootUrl = "https://www.agressieregistratieoverheid.nl/services/";
|
||||
// var ARO_RootUrl = "https://acceptatie.agressieregistratieoverheid.nl/services/";
|
||||
|
||||
var ARO_User = "ARO-facilitor@uwv.nl";
|
||||
var ARO_Pass = "G<9k3k)1";
|
||||
var ARO_bez_bsn_key = 1; // bez flex to perform ARO-BSN-Check against
|
||||
//var ARO_bez_warn_key = 2; // bez flex to register ARO-BSN-Check-result (if true)
|
||||
var ARO_bsnsrt_key = 3; // res srtflex to perform ARO-BSN-Check against
|
||||
var ARO_warnsrt_key = 41; // res srtflex to register ARO-BSN-Check-result (if true)
|
||||
//var ARO_mld_bsnsrt_key = 105; // mld srtflex to perform ARO-BSN-Check against
|
||||
var ARO_mld_bsn_key = 109; // mld flex to perform ARO-BSN-Check against (SpoBiLo)
|
||||
//var ARO_mld_warnsrt_key = 11; // mld srtflex to register ARO-BSN-Check-result (if true)
|
||||
var ARO_mld_warn_key = 115; // mld flex to register ARO-BSN-Check-result (if true)
|
||||
// Configuratie in ./aro.config
|
||||
|
||||
UWVA_ARO =
|
||||
{
|
||||
http: function _http(method, url, data)
|
||||
config: null,
|
||||
readconfig: function()
|
||||
{
|
||||
if (!UWVA_ARO.config)
|
||||
{
|
||||
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
var curDir = hookfile; // ...../cust/uwva/custfunctions.wsc
|
||||
var inifile = fso.GetParentFolderName(curDir) + "\\aro.config";
|
||||
|
||||
var f = fso.OpenTextFile(inifile, 1); // ForReading
|
||||
UWVA_ARO.config = eval('(' + f.ReadAll() + ')')
|
||||
f.Close();
|
||||
UWVA_ARO.config.loglevel = UWVA_ARO.config.loglevel || 0;
|
||||
}
|
||||
},
|
||||
http: function _http(method, url, data, Authorization)
|
||||
{
|
||||
var http_request = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
|
||||
// Het mag niet te lang duren!
|
||||
@@ -97,12 +105,18 @@ var ARO_mld_warn_key = 115; // mld flex to register ARO-BSN-Check-result (if t
|
||||
var lReceive = 2 * 1000; // 1 seconde wordt in de praktijk te vaak overschreden
|
||||
http_request.setTimeouts(lResolve, lConnect, lSend, lReceive);
|
||||
http_request.open(method, url, false); // Synchroon nog even
|
||||
http_request.setRequestHeader("Content-Type", "application/json");
|
||||
http_request.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
|
||||
if (Authorization)
|
||||
{
|
||||
__Log ("Adding header Authorization: " + Authorization);
|
||||
http_request.setRequestHeader ("Authorization", Authorization);
|
||||
}
|
||||
|
||||
__Log(method + " ARO: " + url);
|
||||
if (data)
|
||||
__Log("Data: " + data);
|
||||
http_request.send(data);
|
||||
if (http_request.status != 200)
|
||||
if (http_request.status < 200 || http_request.status > 299)
|
||||
{
|
||||
__DoLog("ARO: " + http_request.status + "<br>" + http_request.statusText, "#FF0000");
|
||||
return null;
|
||||
@@ -112,26 +126,31 @@ var ARO_mld_warn_key = 115; // mld flex to register ARO-BSN-Check-result (if t
|
||||
return http_request.responseText;
|
||||
},
|
||||
|
||||
Check: function _Check(bsn, RootUrl, User, Pass)
|
||||
Check: function _Check(bsn)
|
||||
{
|
||||
try
|
||||
{
|
||||
var data = '{"username": "' + User + '", "password": "' + Pass + '"}';
|
||||
var tokentxt = UWVA_ARO.http("POST", RootUrl + "AuthenticationService.svc/RequestToken", data);
|
||||
var data = "grant_type=password"
|
||||
+ "&username=" + UWVA_ARO.config.ARO_User
|
||||
+ "&password=" + UWVA_ARO.config.ARO_Pass
|
||||
+ "&scope=aro.api";
|
||||
|
||||
var tokentxt = UWVA_ARO.http("POST", UWVA_ARO.config.ARO_TokenUrl, data, UWVA_ARO.config.ARO_Basic);
|
||||
if (!tokentxt)
|
||||
return false;
|
||||
var token = eval('(' + tokentxt + ')').d;
|
||||
var bearerToken = eval('(' + tokentxt + ')').access_token;
|
||||
|
||||
var tmstart = (new Date).getTime();
|
||||
var lookuptxt = UWVA_ARO.http("GET", RootUrl + "IncidentService.svc/TokenizedRegistratieLookupByBsn?bsn="+bsn+"&guid="+token, "");
|
||||
var lookuptxt = UWVA_ARO.http("GET", UWVA_ARO.config.ARO_RootUrl + "incidents/lookup-by-bsn?bsn=" + safe.url(bsn), "", "Bearer " + bearerToken);
|
||||
var tmend = (new Date).getTime();
|
||||
if (tmend - tmstart > 1000)
|
||||
__DoLog("Slow ARO check took " + (tmend - tmstart) + "ms", "#FFFF00");
|
||||
if (!lookuptxt)
|
||||
return false;
|
||||
var lookup = eval('(' + lookuptxt + ')').d;
|
||||
var data = '{"guid\": "' + token + '"}';
|
||||
UWVA_ARO.http("POST", RootUrl + "AuthenticationService.svc/ExpireToken", data);
|
||||
var lookup = eval('(' + lookuptxt + ')').Result;
|
||||
|
||||
var data = "token=" + bearerToken;
|
||||
UWVA_ARO.http("POST", UWVA_ARO.config.ARO_RevokeUrl, data, UWVA_ARO.config.ARO_Basic);
|
||||
return { success: true, lookup: lookup };
|
||||
}
|
||||
catch (e)
|
||||
@@ -144,12 +163,13 @@ var ARO_mld_warn_key = 115; // mld flex to register ARO-BSN-Check-result (if t
|
||||
|
||||
bez_postsave = function (bezkeyArr, pResult)
|
||||
{
|
||||
UWVA_ARO.readconfig();
|
||||
for (var i = 0; i < bezkeyArr.length; i++)
|
||||
{
|
||||
var sql = "SELECT bkw.bez_kenmerkwaarde_waarde"
|
||||
+ " , bkw.bez_kenmerkwaarde_aanmaak"
|
||||
+ " FROM bez_kenmerkwaarde bkw"
|
||||
+ " WHERE bkw.bez_kenmerk_key = " + ARO_bez_bsn_key // BSN-nummer
|
||||
+ " WHERE bkw.bez_kenmerk_key = " + UWVA_ARO.config.ARO_bez_bsn_key // BSN-nummer
|
||||
+ " AND bkw.bez_bezoekers_key = " + bezkeyArr[i];
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
@@ -163,7 +183,7 @@ bez_postsave = function (bezkeyArr, pResult)
|
||||
__Log("BSN " + bsn + " niet opnieuw controleren, is al gebeurd om: " + aanmaak);
|
||||
continue; // Volgende bezoeker
|
||||
}
|
||||
var chk = UWVA_ARO.Check(bsn, ARO_RootUrl, ARO_User, ARO_Pass);
|
||||
var chk = UWVA_ARO.Check(bsn);
|
||||
var sql = "UPDATE bez_bezoekers SET bez_bezoekers_opmerking = NULL WHERE bez_bezoekers_key = " + bezkeyArr[i];
|
||||
Oracle.Execute(sql);
|
||||
if (!chk.success)
|
||||
@@ -173,7 +193,9 @@ bez_postsave = function (bezkeyArr, pResult)
|
||||
}
|
||||
// break; // De (eerste) bezoeker geeft een timeout. Dan de rest niet meer doen.
|
||||
// UWVA#56130: aro/bsn check aanpassen dat check wel gebeurt, maar bsn niet opslaat
|
||||
var sql = "DELETE bez_kenmerkwaarde WHERE bez_kenmerk_key = 1 AND bez_bezoekers_key = " + bezkeyArr[i];
|
||||
var sql = "DELETE bez_kenmerkwaarde"
|
||||
+ " WHERE bez_kenmerk_key = " + UWVA_ARO.config.ARO_bez_bsn_key
|
||||
+ " AND bez_bezoekers_key = " + bezkeyArr[i];
|
||||
Oracle.Execute(sql);
|
||||
if (chk.success && chk.lookup)
|
||||
{
|
||||
@@ -197,11 +219,12 @@ bez_postsave = function (bezkeyArr, pResult)
|
||||
|
||||
res_postsave = function (rsv_ruimte_key, pResult)
|
||||
{
|
||||
if (ARO_warnsrt_key < 0)
|
||||
UWVA_ARO.readconfig();
|
||||
if (UWVA_ARO.config.ARO_warnsrt_key < 0)
|
||||
return true;
|
||||
var sql = "SELECT rk.res_kenmerk_key"
|
||||
+ " FROM res_kenmerk rk, res_rsv_ruimte rrr"
|
||||
+ " WHERE rk.res_srtkenmerk_key = " + ARO_warnsrt_key // Waarschuwing flex kenmerk
|
||||
+ " WHERE rk.res_srtkenmerk_key = " + UWVA_ARO.config.ARO_warnsrt_key // Waarschuwing flex kenmerk
|
||||
+ " AND rrr.res_rsv_ruimte_key = " + rsv_ruimte_key
|
||||
+ " AND rrr.res_activiteit_key = rk.res_activiteit_key";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
@@ -213,14 +236,14 @@ res_postsave = function (rsv_ruimte_key, pResult)
|
||||
var warn_key = oRs("res_kenmerk_key").Value;
|
||||
var sql = "SELECT LPAD(rkw.res_kenmerkreservering_waarde,9,'0') res_kenmerkreservering_waarde"
|
||||
+ " FROM res_kenmerk rk, res_kenmerkwaarde rkw"
|
||||
+ " WHERE rk.res_srtkenmerk_key = " + ARO_bsnsrt_key // BSN-nummer
|
||||
+ " WHERE rk.res_srtkenmerk_key = " + UWVA_ARO.config.ARO_bsnsrt_key // BSN-nummer
|
||||
+ " AND rk.res_kenmerk_key = rkw.res_kenmerk_key"
|
||||
+ " AND rkw.res_rsv_ruimte_key = " + rsv_ruimte_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
var bsn = oRs("res_kenmerkreservering_waarde").Value;
|
||||
var chk = UWVA_ARO.Check(bsn, ARO_RootUrl, ARO_User, ARO_Pass);
|
||||
var chk = UWVA_ARO.Check(bsn);
|
||||
var sql = "DELETE FROM res_kenmerkwaarde rkw"
|
||||
+ " WHERE rkw.res_rsv_ruimte_key = " + rsv_ruimte_key
|
||||
+ " AND rkw.res_kenmerk_key = " + warn_key;
|
||||
@@ -237,7 +260,7 @@ res_postsave = function (rsv_ruimte_key, pResult)
|
||||
+ " (SELECT rk.res_kenmerk_key"
|
||||
+ " FROM res_kenmerk rk"
|
||||
+ " WHERE rkw.res_kenmerk_key = rk.res_kenmerk_key"
|
||||
+ " AND rk.res_srtkenmerk_key = 3)" // Kenmerksoort BSN
|
||||
+ " AND rk.res_srtkenmerk_key = " + UWVA_ARO.config.ARO_bsnsrt_key + ")"
|
||||
+ "AND rkw.res_rsv_ruimte_key = " + rsv_ruimte_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
@@ -253,11 +276,12 @@ res_postsave = function (rsv_ruimte_key, pResult)
|
||||
|
||||
mld_postsave = function (melding_key, pResult)
|
||||
{
|
||||
if (ARO_mld_warn_key < 0)
|
||||
UWVA_ARO.readconfig();
|
||||
if (UWVA_ARO.config.ARO_mld_warn_key < 0)
|
||||
return true;
|
||||
var sql = "SELECT mk.mld_kenmerk_key"
|
||||
+ " FROM mld_kenmerk mk, mld_melding m"
|
||||
+ " WHERE mk.mld_kenmerk_key = " + ARO_mld_warn_key // Waarschuwing flex kenmerk
|
||||
+ " WHERE mk.mld_kenmerk_key = " + UWVA_ARO.config.ARO_mld_warn_key // Waarschuwing flex kenmerk
|
||||
+ " AND m.mld_melding_key = " + melding_key
|
||||
+ " AND m.mld_stdmelding_key = mk.mld_stdmelding_key"
|
||||
+ " AND mk.mld_kenmerk_niveau = 'S'";
|
||||
@@ -269,22 +293,22 @@ mld_postsave = function (melding_key, pResult)
|
||||
}
|
||||
var sql = "SELECT km.mld_kenmerkmelding_waarde"
|
||||
+ " FROM mld_kenmerk mk, mld_kenmerkmelding km"
|
||||
+ " WHERE mk.mld_kenmerk_key = " + ARO_mld_bsn_key // BSN-nummer
|
||||
+ " WHERE mk.mld_kenmerk_key = " + UWVA_ARO.config.ARO_mld_bsn_key // BSN-nummer
|
||||
+ " AND mk.mld_kenmerk_key = km.mld_kenmerk_key"
|
||||
+ " AND km.mld_melding_key = " + melding_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
var bsn = oRs("mld_kenmerkmelding_waarde").Value;
|
||||
var chk = UWVA_ARO.Check(bsn, ARO_RootUrl, ARO_User, ARO_Pass);
|
||||
var chk = UWVA_ARO.Check(bsn);
|
||||
var sql = "DELETE FROM mld_kenmerkmelding km"
|
||||
+ " WHERE km.mld_melding_key = " + melding_key
|
||||
+ " AND km.mld_kenmerk_key = " + ARO_mld_warn_key;
|
||||
+ " AND km.mld_kenmerk_key = " + UWVA_ARO.config.ARO_mld_warn_key;
|
||||
Oracle.Execute(sql);
|
||||
if (chk.success && chk.lookup)
|
||||
{
|
||||
var sql = "INSERT INTO mld_kenmerkmelding(mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde) "
|
||||
+ " VALUES (" + melding_key + ", " + ARO_mld_warn_key + ", TO_CHAR(SYSDATE, 'DD-MM-YYYY'))";
|
||||
+ " VALUES (" + melding_key + ", " + UWVA_ARO.config.ARO_mld_warn_key + ", TO_CHAR(SYSDATE, 'DD-MM-YYYY'))";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user