89 lines
4.3 KiB
JavaScript
89 lines
4.3 KiB
JavaScript
// --------------------------------------------------------------------------------------
|
|
// R_GetOpdrachten.js
|
|
// Copyright 2017 Facilitor. 053-4800 700, helpdesk@mareon.nl
|
|
// Written by MB (2017-nov)
|
|
//
|
|
|
|
function R_GetOpdrachten()
|
|
{
|
|
try{
|
|
|
|
var filecount = 0;
|
|
// Eerst de backup folder van vandaag aanmaken...
|
|
l_error_msg = "Cannot read folder " + G_rems_opdracht_xmlfolder;
|
|
var f = fso.GetFolder(G_rems_opdracht_xmlfolder);
|
|
var fc = new Enumerator(f.files);
|
|
|
|
|
|
for (; !fc.atEnd(); fc.moveNext())
|
|
{
|
|
l_filename = fc.item().name;
|
|
__Log("File: " + l_filename, 1);
|
|
|
|
var l_file_incl_path = G_rems_opdracht_xmlfolder + l_filename;
|
|
l_error_msg = "Cannot GetFile " + l_file_incl_path;
|
|
var file = fso.GetFile(l_file_incl_path);
|
|
l_error_msg = "Cannot ReadDate File " + l_file_incl_path;
|
|
var dt = new Date(file.DateCreated);
|
|
__Log("File Date: " + dt, 2);
|
|
if (l_filename.indexOf(".xml") != -1) {
|
|
filecount++;
|
|
|
|
var fileStream = new ActiveXObject("ADODB.Stream");
|
|
fileStream.open();
|
|
fileStream.CharSet = "Windows-1252"; // het doel
|
|
l_error_msg = "Cannot Load File " + l_file_incl_path;
|
|
fileStream.LoadFromFile(l_file_incl_path);
|
|
__Log("Filesize " + fileStream.Size, 2);
|
|
fileStream.Position = 0;
|
|
l_error_msg = "Cannot Read Contents of File " + l_file_incl_path;
|
|
v_xml_opdrachten = fileStream.ReadText;
|
|
__Log("XML Request: " + v_xml_opdrachten, 4);
|
|
fileStream.close();
|
|
|
|
// Wegschrijven van de REMS XML-opdrachten naar Mareon....
|
|
api_F_PutXML(v_xml_opdrachten, "REMS_OPDRACHT");
|
|
|
|
|
|
var l_mld_opdr_key = -1;
|
|
|
|
// De velden REMS-id & opdracht-key ophalen a.d.h.v. de unieke opdrachtnummer i.c.m. de opdrachtgeverID...
|
|
var v_REMS_ERPid = Read_XML_File_Node(l_file_incl_path, "//ServiceOpdracht/header/ERP_id");
|
|
__Log("R_GetOpdrachten - v_REMS_ERPid: " + v_REMS_ERPid, 2);
|
|
var v_REMS_opdr_nr = Read_XML_File_Node(l_file_incl_path, "//ServiceOpdracht/_OpdrachtUitvoerder/Opdracht/Opdrachtnummer");
|
|
__Log("R_GetOpdrachten - v_REMS_opdr_nr: " + v_REMS_opdr_nr, 2);
|
|
|
|
if (v_REMS_ERPid != "" && v_REMS_opdr_nr != ""){
|
|
l_mld_opdr_key = F_GetOpdrachten_Key(v_REMS_ERPid, v_REMS_opdr_nr);
|
|
}
|
|
__Log("R_GetOpdrachten - l_mld_opdr_key: " + l_mld_opdr_key, 2);
|
|
|
|
if (l_mld_opdr_key != -1){
|
|
// Er is een mld_opdracht aangemaakt ovb REMS ERP-id en daarbinnen het unieke opdrachtnummer...
|
|
// Dan kan er een backup van de REMS-opdracht-XML worden gemaakt, d.w.z. move van het bestand naar de backup-folder van vandaag.
|
|
|
|
var l_timestamp = new Date();
|
|
var l_backdir = G_rems_opdracht_xmlfolder + "BACKUP"+ toDateString(l_timestamp) +"/";
|
|
var l_prefix_str = padout(l_timestamp.getHours()) + "-" + padout(l_timestamp.getMinutes() + 1) + "-" + padout(l_timestamp.getSeconds());
|
|
__Log("R_GetOpdrachten - Backup folder: " + l_backdir , 2);
|
|
l_error_msg = "Before Move_file_2_bck_folder :" + l_backdir;
|
|
l_new_filename = l_prefix_str + "_" + l_filename;
|
|
Move_file_2_bck_folder(l_file_incl_path, l_backdir, l_new_filename);
|
|
}
|
|
else{
|
|
// MBMB Hier gaan we een signaal naar Mareon sturen dat er wat mis is gegaan, tbv support....
|
|
var l_mbmb = "TODO, een API call die een flexprop van klant zet oid";
|
|
l_mbmb = l_mbmb + "";
|
|
}
|
|
}
|
|
}
|
|
|
|
__Log("Aantal XML-bestanden gevonden: " + filecount, 1);
|
|
|
|
}
|
|
catch (e)
|
|
{
|
|
__Log(l_error_msg + e.description, 1);
|
|
WScript.Quit();
|
|
}
|
|
} |