Files
Mareon/ax/SRC/R_GetOpdrachten.js
Marcel Bourseau 24be41f913 MARX#76900 Mareon Universele Opdracht API - unused variabele verwijderd.
svn path=/Mareon/trunk/; revision=59958
2023-04-11 19:08:16 +00:00

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();
}
}