WZUV#41726 Fase 2: Exact koppeling

svn path=/Website/branches/v2017.2/; revision=36187
This commit is contained in:
Suzan Wiegerinck
2017-12-01 16:13:28 +00:00
parent aa1eda7667
commit 7e3fee6ebc
3 changed files with 183 additions and 0 deletions

View File

@@ -0,0 +1,125 @@
// Aanroep van deze jscript-file vereist 3 parameters
// rem 1e parameter: conversie-bestand (xsl).
// rem 2e parameter: bron-xml staat in deze folder.
// rem 3e parameter: doel-xml komt in deze folder te staan.
// 1) // XSL-bestand inclusief pad
var p_xsl = WScript.Arguments(0);
// 2) Folder waar het bronbestand (xml) staat
var p_folder_bronxml = WScript.Arguments(1);
// 3) Folder waar het doelbestand (xml) terecht moet komen
var p_folder_doelxml = WScript.Arguments(2);
fclt_2_anderformaat(p_xsl, p_folder_bronxml,p_folder_doelxml);
function fclt_2_anderformaat (p_xsl, p_folder_bronxml,p_folder_doelxml)
{
// Naam van XML file
l_factuur_file = GetFactuurFile(p_folder_bronxml);
// Nu incl foldernaam
l_xml_file = p_folder_bronxml + l_factuur_file;
WScript.Echo("Before xml");
var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
xmlDoc.load(l_xml_file);
WScript.Echo(l_xml_file);
WScript.Echo("After xml");
if (1 == 0 && p_xsl)
{
WScript.Echo("Before xslDoc");
var xslDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
xslDoc.load(p_xsl);
WScript.Echo("After xslDoc");
var fso = new ActiveXObject("Scripting.FileSystemObject");
// output = fso.CreateTextFile(p_folder_doelxml + l_factuur_file);
output = fso.CreateTextFile(p_folder_doelxml + l_factuur_file, true,true);
output.Write(xmlDoc.transformNode(xslDoc));
output.close();
}
if (p_xsl){
var xslDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
xslDoc.load(p_xsl);
WScript.Echo("After xslDoc");
var oStream = new ActiveXObject("ADODB.Stream");
oStream.Open();
oStream.Type = 2; //
oStream.Charset = "UTF-8"; //
// oStream.Write(xmlDoc.transformNodeToObject(xslDoc, xmlDoc));
oStream.WriteText(xmlDoc.transformNode(xslDoc));
WScript.Echo("After transform");
oStream.SaveToFile (p_folder_doelxml + l_factuur_file, 2); // adSaveCreateOverWrite
oStream.Close();
}
}
// Bepaalt de naam van de gegenereerde XML-bestand in folder 'p_folder'.
// Resultaat: Indien geen XML bestand gevonden, dan wordt lege string "" geretourneerd.
// Indien 1 XML bestand, de naam van dit bestand incl extensie XML
// Indien meerdere XML-bestanden gevonden, een willekeurige naam van een der bestanden (incl ext)
function GetFactuurFile(p_folder)
{
var fso1, f, fc, s, l_result;
fso1 = new ActiveXObject("Scripting.FileSystemObject");
f = fso1.GetFolder(p_folder);
fc = new Enumerator(f.files);
s = "";
l_result="";
for (fc.moveFirst(); !fc.atEnd(); fc.moveNext())
{ l_filenaam = fc.item().name;
if (get_extensieOfFileName(l_filenaam) == "xml"){
l_result = l_filenaam;
}
}
return(l_result);
}
function get_extensieOfFileName(p_filenaam){
l_result="";
l_pos = p_filenaam.indexOf(".");
if (l_pos != -1){
l_result = p_filenaam.substring(l_pos+1);
}
return (l_result);
}
function get_NameOfFileName(p_filenaam){
l_result=p_filenaam;
l_pos = p_filenaam.indexOf(".");
if (l_pos != -1){
l_result = p_filenaam.substring(0,l_pos);
}
return (l_result);
}
function copyfile(p_file1, p_file2){
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(p_file1);
f.Copy(p_file2);
}

View File

@@ -0,0 +1,39 @@
REM GEN_EXPORT_EXACT.BAT
REM
REM WZUV
REM
REM
REM Context : roep deze file aan indien nodig, of schedule deze
REM Verseist: de randvoorwaarde voor het gebruik van gen_export
REM
REM $Revision$
REM $Id$
REM
REM ================================ create exportfile
rem - stap 1: eerst maar eens de xml's die er eventueel nog zijn, verwijderen uit de folder fclt_factuur
del FCLT_FACTUUR\*.xml
rem - stap 2: dan de factuur-xml genereren/exporteren in de folder fclt_factuur
CALL ..\..\..\utils\gen_export\gen_export.bat FCLT_FACTUUR
rem - stap 3a: de factuur-xml (facilitor-formaat) converteren tot een tussen-formaat.
rem (met exact-achtige termen, lijkend op origineel csv-bestand met die terminologie)
rem 1e parameter: conversie-bestand (xls).
rem 2e parameter: bron-xml staat in deze folder.
rem 3e parameter: doel-xml komt in deze folder te staan.
rem - wel eerst maar eens de xml's die er eventueel nog zijn, verwijderen uit de folder FCLT_EXACT_FACTUUR
del FCLT_EXACT_FACTUUR\*.xml
cscript fclt_conv_factuur_xml.js ..\xsl\fclt_2_tussen_exact_factuur_xml.xsl ./FCLT_FACTUUR/ ./FCLT_EXACT_FACTUUR/
rem - stap 3b: de factuur-xml (tussen-formaat (met exact-achtige termen) converteren tot het exact-formaat
rem 1e parameter: conversie-bestand (xls).
rem 2e parameter: bron-xml staat in deze folder.
rem 3e parameter: doel-xml komt in deze folder te staan.
cscript fclt_conv_factuur_xml.js ..\xsl\fclt_2_exact_xml.xsl ./FCLT_EXACT_FACTUUR/ d:/Apps/Facilitor/Webdav/WZUV/Exact/
REM ================================================== cleanup

View File

@@ -0,0 +1,19 @@
REM GEN_UNDO_EXACT.BAT
REM
REM EZUV
REM
REM
REM Context : roep deze file aan indien nodig, of schedule deze elke 5 minuten
REM Verseist: de randvoorwaarde voor het gebruik van gen_export
REM
REM $Revision$
REM $Id$
REM
REM ================================ create exportfile
rem - stap 1: de factuur-records van de laatste export worden van status "admin. verwerkt" teruggezet naar "akkoord"
call ..\..\..\utils\gen_export\gen_export.bat UNDO_EXACT
REM ================================================== cleanup