RABO#37178 -- Koppeling FACILITOR met Axxerion

svn path=/Website/branches/v2016.1/; revision=30972
This commit is contained in:
Arthur Egberink
2016-10-05 07:53:27 +00:00
parent ebd2326293
commit 2fa0212ab6
3 changed files with 192 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" 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/">
<xsl:output method="xml" indent="yes" encoding="utf-8" />
<xsl:decimal-format name="european" decimal-separator="," grouping-separator="." />
<xsl:param name="mode" />
<xsl:variable name="Rev">
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)" />
</xsl:variable>
<xsl:template match="facilitor">
<facilitor>
<xsl:for-each select="Meldingen">
<xsl:for-each select="melding">
<xsl:choose>
<xsl:when test="@type='response'">
<xsl:copy-of select="."/>
</xsl:when>
<xsl:otherwise>
<xsl:element name="melding">
<xsl:attribute name="key">
<xsl:value-of select="@key"/></xsl:attribute>
<xsl:attribute name="type">insert</xsl:attribute>
<datum><xsl:value-of select="concat(substring(datum,7,4), '-', substring(datum,4,2), '-', substring(datum,1,2), 'T', substring(datum,12,5))"/></datum>
<melder>
<xsl:value-of select="melder"/>
</melder>
<locatiecode>
<xsl:value-of select="substring-after(substring-before(locatie, ' '), 'PR')"/>
</locatiecode>
<stdmelding>501</stdmelding>
<omschrijving>
Melder: <xsl:value-of select="melder"/>
Telefoonnummer: <xsl:value-of select="telefoonnummer"/>
Emailadres: <xsl:value-of select="emaildadres"/>
Kwis: <xsl:value-of select="kwis"/>
Vakgroep: <xsl:value-of select="vakgroep"/>
Melding: <xsl:value-of select="stdmelding1"/>
Melding2: <xsl:value-of select="stdmelding2"/>
Onderwerp: <xsl:value-of select="onderwerp"/>
Omschrijving: <xsl:value-of select="omschrijving"/>
Locatie: <xsl:value-of select="locatie"/>
Ruimte: <xsl:value-of select="ruimte"/>
Prioriteit: <xsl:value-of select="prioriteit"/>
SLA datum: <xsl:value-of select="sla_datum"/>
Inventaris: <xsl:value-of select="inventaris"/>
</omschrijving>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>
</facilitor>
</xsl:template>
</xsl:stylesheet>
<!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. -->

View File

@@ -0,0 +1,115 @@
// GetStatus.js
// Haalt statuswijzigingen op van de FTP server.
//
// $Revision$
// $Id$
//
// Opzet in kader van PNBR#
function padout(number) { return (number < 10) ? "0" + number : number; }
function date2string(mydate) {
return padout(mydate.getFullYear()) + "-" + padout(mydate.getMonth() + 1) + "-" + padout(mydate.getDate())
+ " " + padout(mydate.getHours()) + "-" + padout(mydate.getMinutes() + 1) + "-" + padout(mydate.getSeconds());
}
var api = WScript.Arguments(0); // api
var folder = WScript.Arguments(1); // folder
var url = WScript.Arguments(2); // url
try {
var fh, lenght;
fso = new ActiveXObject("Scripting.FileSystemObject");
objRS = new ActiveXObject("ADODB.Recordset");
objRS.CursorLocation = 3 // useClient
objRS.Fields.Append ("Name", 200, 100) // adVarChar
objRS.Fields.Append ("created", 7 ) // adDate
objRS.Open();
try
{
var backdir_api = ".\\BACKUP"+(new Date).getFullYear()+"\\";
if (!fso.FolderExists(backdir_api))
fso.CreateFolder(backdir_api);
backdir_api += api + "\\";
if (!fso.FolderExists(backdir_api))
fso.CreateFolder(backdir_api);
}
catch (e)
{
WScript.Echo("Cannot create backup folder " + backDir + "\n" + e.description);
WScript.Quit();
}
// plaats de bestandsnamen en creatiedata in een resultset om deze vervolgens te kunnen filteren.
folder = folder.replace(/\//g,"\\");
//WScript.Echo("Folder: " + folder);
var f = fso.GetFolder(folder);
var fc = new Enumerator(f.files);
var filecount = 0;
for (; !fc.atEnd(); fc.moveNext())
{
filename = fc.item().name;
//WScript.Echo("File: " + filename);
var file = fso.GetFile(folder + filename);
var dt = new Date(file.DateCreated);
//WScript.Echo("File: " + filename + " timestamp:" + date2string(dt));
if (fc.item().name.toUpperCase().indexOf(".XML") != -1 && fc.item().name.toUpperCase().indexOf("MELDING") != -1) {
filecount++;
objRS.AddNew();
objRS("Name") = filename;
objRS("created") = file.DateCreated;
}
}
if (filecount > 0) {
objRS.Sort = "created ASC";
objRS.MoveFirst();
while (!objRS.EOF)
{
filename = objRS("Name").Value;
WScript.Echo("File (sorted): " + filename);
objRS.MoveNext();
var fileStream = new ActiveXObject("ADODB.Stream");
fileStream.open();
fileStream.CharSet = "Windows-1252"; // het doel
fileStream.LoadFromFile(folder + filename);
//WScript.Echo("Filesize " + fileStream.Size);
fileStream.Position = 0;
//WScript.Echo("Request1: " + fileStream.ReadText);
XMLReq = fileStream.ReadText;
WScript.Echo("Request: " + XMLReq);
var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
objXMLHTTP.open("POST",
url
);
objXMLHTTP.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
objXMLHTTP.send(XMLReq);
//WScript.Echo("Status: " + objXMLHTTP.status);
//WScript.Echo("StatusText: " + objXMLHTTP.statusText);
WScript.Echo("Result: " + objXMLHTTP.responseText);
if (objXMLHTTP.status == 200) {
jsDate = new Date;
dateString = padout(jsDate.getFullYear()) + "-" + padout(jsDate.getMonth() + 1) + "-" + padout(jsDate.getDate());
timeString = padout(jsDate.getHours()) + "-" + padout(jsDate.getMinutes() + 1) + "-" + padout(jsDate.getSeconds());
backDir = backdir_api + dateString + "_" + api + "\\";
if (!fso.FolderExists(backDir))
fso.CreateFolder(backDir)
// deze file backuppen
//WScript.Echo("from:" + filename);
//WScript.Echo("to:" + backDir + timeString + "_" + filename);
fso.MoveFile(folder + filename, backDir + timeString + "_" + filename);
}
}
}
}
catch (e)
{
WScript.Echo("Serieuze fout in api_opdrsoap_com4.js: " + e.description)
WScript.Quit(1);
}

View File

@@ -0,0 +1,23 @@
REM GEN_IMPORT_MLD_AXXERION.BAT
REM
REM AAIT
REM
REM Importeert statusberichten vanuit een extern systeem
REM
REM Context : roep deze file aan indien nodig, of schedule deze
REM Verseist: de randvoorwaarde voor het gebruik van gen_import
REM
REM $Revision$
REM $Id$
REM
REM (c) 2010, SG|facilitor bv, +31 (53) 4800700, support@sgfacilitor.nl
REM
cscript .\api_mldsoap_axxerion.js MLD_AXXERION d:\Apps\Facilitor\ftp_sites\RABO\ "https://rabo.facilitor.nl/default.asp?fac_id=RABO&API=MLD_AXXERION&APIKEY=EH-XITJvuCMmmQ6O9EqOr8Ed1mXHYooo" >>genimport.log 2>>&1
REM @Work
REM cscript .\api_mldsoap_axxerion.js MLD_AXXERION w:\Branch20161\CUST\RABO\import\ "http://facws001/branch20161/default.asp?fac_id=RABO&API=MLD_AXXERION&APIKEY=EH-XITJvuCMmmQ6O9EqOr8Ed1mXHYooo" >>genimport.log 2>>&1
:einde