MARX#76415 DO-koppeling Viewpoint (Itris) - Mareon obv DICO/Ketenstandaard
svn path=/Mareon/trunk/; revision=58867
This commit is contained in:
@@ -46,6 +46,10 @@ function FCLT_Sync_END(){
|
||||
// TwinQ
|
||||
F_PutSync(2);
|
||||
break;
|
||||
case "3RD":
|
||||
// 3RD PARTY
|
||||
F_PutSync(2);
|
||||
break;
|
||||
default:
|
||||
F_PutSync(1);
|
||||
}
|
||||
@@ -246,6 +250,14 @@ function MARX_2_TWINQ_Facturen(){
|
||||
F_GetFacturen_TWINQ();
|
||||
}
|
||||
|
||||
// ----------------------------- #RD PARTY functies -----------------------------------------
|
||||
function MARX_2_3RDPARTY_OpdrachtStatus(){
|
||||
F_GetOpdrachten_Statussen();
|
||||
}
|
||||
|
||||
function MARX_2_3RDPARTY_Facturen(){
|
||||
F_GetFacturen_3RDPARTY();
|
||||
}
|
||||
|
||||
// ----------------------------- Xtractor functies -----------------------------------------
|
||||
function FCLT_2_AX_Facturen(){
|
||||
@@ -663,6 +675,29 @@ function MAREON_2_TWINQ()
|
||||
}
|
||||
}
|
||||
|
||||
function MAREON_2_3RDPARTY()
|
||||
{
|
||||
|
||||
if (G_push_notifyqueue == "1")
|
||||
{
|
||||
__Log("*** START MAREON --> 3RD PARTY ***", 2);
|
||||
|
||||
//start "push/notifyqueue"
|
||||
__Log("*** START MAREON --> 3RD PARTY : Verwerken van ALLE opdrachtstatussen uit Mareon naar 3RD PARTY obv notifyqueue ***", 2);
|
||||
MARX_2_3RDPARTY_OpdrachtStatus();
|
||||
__Log("*** END", 2);
|
||||
|
||||
|
||||
__Log("*** START MAREON --> 3RD PARTY: Facturen uit Mareon naar 3RD PARTY ***", 2);
|
||||
MARX_2_3RDPARTY_Facturen();
|
||||
__Log("*** END", 2);
|
||||
__Log("*** END MAREON --> 3RD PARTY ***", 2);
|
||||
}
|
||||
else{
|
||||
//Geen "push/notifyqueue" ingesteld
|
||||
__Log("*** NQ staat niet in gesteld, de koppeling naar 3RD PARTY staat uit ***", 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function FACILITOR_2_Xtractor()
|
||||
@@ -696,7 +731,7 @@ function FACILITOR_2_Xtractor()
|
||||
// 1.63 -- MARX#73648: Factuur wordt telkens weer (oneindig) aan REMS aangeboden
|
||||
// 1.64 -- MARX#69028: Uitvalfacturen toch naar het prefacturen register.
|
||||
// 1.65 -- MARX#74749: Mareon Sync heel traag na MARX23.
|
||||
// 1.66 -- MARX#74444: Het '&' teken in de naam van een bijlage wordt niet ondersteund in de sync.
|
||||
// 1.70 -- MARX#76415: Mareon koppeling met 3rd Party Viewpoint + MARX#74444: Het '&' teken in de naam van een bijlage wordt niet ondersteund in de sync.
|
||||
|
||||
var G_Mareon_Adapter = "1.66";
|
||||
//MARX#56643: Test Haagwonen inkoopordernummer ontbreekt in Mareon ION001753
|
||||
@@ -728,6 +763,11 @@ var G_Token_saxton = "";
|
||||
|
||||
var G_twinq_url = Read_Ini_Setting("twinq","url");
|
||||
|
||||
var G_3party_id = Read_Ini_Setting("thirdparty","id");
|
||||
var G_3party_export_folder = Read_Ini_Setting("thirdparty","exportfolder");
|
||||
var G_3party_dico_version = Read_Ini_Setting("thirdparty","dico/version");
|
||||
var G_3party_dico_ms_version = Read_Ini_Setting("thirdparty","dico/messageservice/version");
|
||||
|
||||
// In een (1) sync sessie mogen er max 3 x een poging worden gedaan (= eigen keuze) om een Token op te halen indien deze expired zou zijn (om niet in oneindige loop te raken).
|
||||
var G_AX365_Allowed_Get_Token = 3;
|
||||
|
||||
@@ -790,7 +830,11 @@ var G_mar_timeout = 0; //initieel 1e keer.
|
||||
__Log("***XML- rems/opdrachtenfolder: " + G_rems_opdracht_xmlfolder, 1);
|
||||
__Log("***XML- rems/opdrachtstatusfolder: " + G_rems_opdrachtstatus_xmlfolder, 1);
|
||||
__Log("***XML- rems/facturenfolder: " + G_rems_facturen_xmlfolder, 1);
|
||||
__Log("***XML- twinq/url: " + G_twinq_url, 1);
|
||||
__Log("***XML- twinq/url: " + G_twinq_url, 1);
|
||||
__Log("***XML- thirdparty/id: " + G_3party_id, 1);
|
||||
__Log("***XML- thirdparty/exportfolder: " + G_3party_export_folder, 1);
|
||||
__Log("***XML- thirdparty/dico/version: " + G_3party_dico_version, 1);
|
||||
__Log("***XML- thirdparty/dico/messageservice/version: " + G_3party_dico_ms_version, 1);
|
||||
__Log("***XML- identityserver/token/url: " + G_ID_saxton_url, 1);
|
||||
__Log("***XML- mareon/url: " + G_marx_url, 1);
|
||||
__Log("***XML- xtractor/xmlfolder: " + G_ax_xtractorfolder, 1);
|
||||
@@ -933,6 +977,11 @@ var G_mar_timeout = 0; //initieel 1e keer.
|
||||
__Log("TWINQ", 2);
|
||||
MAREON_2_TWINQ();
|
||||
}
|
||||
if (AX_or_Tobias() == "3P")
|
||||
{
|
||||
__Log("3RD PARTY", 2);
|
||||
MAREON_2_3RDPARTY();
|
||||
}
|
||||
if (G_ax_xtractorfolder != "")
|
||||
{
|
||||
FACILITOR_2_Xtractor();
|
||||
|
||||
@@ -91,6 +91,20 @@
|
||||
<opdrachtstatusfolder>c:\rems\opdrstatxml\</opdrachtstatusfolder>
|
||||
<facturenfolder>c:\rems\facturenxml\</facturenfolder>
|
||||
</rems>
|
||||
<thirdparty>
|
||||
<!-- Id of Naam van 3rd Party (ERP)system, b.v. ViewPoint -->
|
||||
<id></id>
|
||||
<exportfolder></exportfolder>
|
||||
<dico>
|
||||
<!-- DICO versie, bv 005 -->
|
||||
<version></version>
|
||||
<!-- Wordt er gebruikt gemaakt van MessageService in de communicatie? -->
|
||||
<messageservice>
|
||||
<!-- MessageService versie, b.v. 2.4, 3.0 of 3.1 -->
|
||||
<version></version>
|
||||
</messageservice>
|
||||
</dico>
|
||||
</thirdparty>
|
||||
<xtractor>
|
||||
<xmlfolder>c:\xtractor\xml\</xmlfolder>
|
||||
<pdffolder>c:\xtractor\pdf\</pdffolder>
|
||||
|
||||
302
ax/SRC/Common.js
302
ax/SRC/Common.js
@@ -20,7 +20,9 @@ function AX_or_Tobias(){
|
||||
else {if (G_fclt_url != "") return "F";
|
||||
else {if (G_rems_opdracht_xmlfolder != "") return "R";
|
||||
else {if (G_twinq_url != "") return "TQ";
|
||||
else return "";
|
||||
else {if (G_3party_id != "") return "3P";
|
||||
else return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -299,6 +301,11 @@ function apiAX_GENERAL (v_API, v_req, v_type, v_soapAction, v_discard_active_abo
|
||||
var v_token = G_Token_saxton;
|
||||
l_result = api2_TWINQ_inner(v_url, v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api, v_token);
|
||||
}
|
||||
if (AX_or_Tobias() == "3P")
|
||||
{
|
||||
var v_url = G_ID_saxton_url;
|
||||
l_result = api_3P_inner(v_url, v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api);
|
||||
}
|
||||
if (AX_or_Tobias() == "T")
|
||||
{
|
||||
// laatste parameter is runmethod, hier altijd 0 (= standaard runmethod van Tobias)
|
||||
@@ -903,6 +910,287 @@ function api2_TWINQ_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard_
|
||||
}
|
||||
}
|
||||
|
||||
// Levert/retourneert een rij (struct) op van de volgende waarden:
|
||||
// api_status_code: 0 of 1, 0 = fout gegaan, 1 = goed gegaan
|
||||
// api_status_message: statustekst behorende bij status_code (http.statusText)
|
||||
// api_response_message: response-berecht van webservice (api) die wordt aangeroepen.
|
||||
function api_3P_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api)
|
||||
{
|
||||
__Log("api2_3P_inner v_API: " + v_API, 3);
|
||||
__Log("api2_3P_inner v_type: " + v_type, 3);
|
||||
__Log("api2_3P_inner v_req: " + v_req, 3);
|
||||
__Log("api2_3P_inner v_discard_active_abort: " + v_discard_active_abort, 3);
|
||||
__Log("api2_3P_inner v_soort_api: " + v_soort_api, 3);
|
||||
|
||||
var v_msg = v_req;
|
||||
if (G_3party_dico_ms_version != "")
|
||||
{
|
||||
v_msg = DICO_Add_MessageService (G_3party_dico_ms_version, G_3party_dico_version, v_msg);
|
||||
}
|
||||
__Log("api2_3P_inner v_msg: " + v_msg, 4);
|
||||
|
||||
if (v_Url != "")
|
||||
{
|
||||
var lResolve = 0;
|
||||
var lConnect = 60 * 1000;
|
||||
var lSend = 30 * 1000;
|
||||
|
||||
|
||||
var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
|
||||
SXH_PROXY_SET_PROXY = 2;
|
||||
if (typeof proxy != "undefined" && proxy)
|
||||
xmlhttp.setProxy(SXH_PROXY_SET_PROXY, proxy);
|
||||
|
||||
xmlhttp.open("POST", v_Url, false);
|
||||
xmlhttp.setRequestHeader("Content-Type", "text/plain");
|
||||
|
||||
|
||||
if (G_mar_timeout != 0){
|
||||
//MARX#57502: AX Adapter robuuster maken, instelbare timeout
|
||||
xmlhttp.setTimeouts(lResolve, lConnect, lSend, G_mar_timeout * 1000);
|
||||
}
|
||||
try {
|
||||
xmlhttp.send(v_msg);
|
||||
var txt = xmlhttp.responseText;
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
//MARX#57502: AX Adapter robuuster maken: Waarschijnlijk timeout-error
|
||||
var txt = "api2_3P_inner failed/timeout: " + e.description;
|
||||
__Log(txt,1);
|
||||
if (G_abort_http_error == 1)
|
||||
{
|
||||
MARXQUIT(v_discard_active_abort);
|
||||
}
|
||||
return {api_status_code: 0, api_status_message: "", api_response_message: txt};
|
||||
//return "";
|
||||
}
|
||||
var l_statusText = xmlhttp.status + " " + xmlhttp.statusText;
|
||||
|
||||
if (xmlhttp.status >= 200 && xmlhttp.status <= 299)
|
||||
{
|
||||
try
|
||||
{
|
||||
__Log("api2_3P_inner XML Response = TRUE :", 3);
|
||||
__Log("api2_3P_inner XML Response :" + txt, 3);
|
||||
return {api_status_code: 1, api_status_message: l_statusText, api_response_message: txt};
|
||||
//return txt;
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// Waarschijnlijk http-error terug gekregen
|
||||
return {api_status_code: 1, api_status_message: l_statusText, api_response_message: txt};
|
||||
//return "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{ __Log("api2_3P_inner XML Response = FALSE :",1);
|
||||
__Log("api2_3P_inner - HTTP <> 2xx",1);
|
||||
__Log("api2_3P_inner URL: " + v_Url,1);
|
||||
__Log("api2_3P_inner Message: " + v_msg.substr(0,4*1024),1);
|
||||
__Log("api2_3P_inner Status: "+ l_statusText,1);
|
||||
l_resp = xmlhttp.responseText;
|
||||
__Log("api2_3P_inner ResponseText:" + l_resp,1);
|
||||
}
|
||||
}
|
||||
if (G_3party_export_folder != "")
|
||||
{ // er is een export-folder, waarin we de XML wegschrijven
|
||||
var l_random = Math.floor(Math.random() * 1000000); // 6 cijfers
|
||||
WriteText2File(G_3party_export_folder, G_3party_id + l_random , "xml" , v_msg, 1, 1);
|
||||
return {api_status_code: 1, api_status_message: l_statusText, api_response_message: txt};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// v_woco_gln is GLN van opdrachtgever
|
||||
// v_lev_gln is GLN van leverancier
|
||||
// v_purchId is het opdracht/ION nr van opdrachtgever
|
||||
// v_statuscode is een van de vaste/afgesproken (ketenstandaard) statuscode, bv ACC, GER, etc
|
||||
// v_extraInfo is optionele tekst
|
||||
// v_dateTime is datum/tijd veld die bij sommige statuscodes verplicht is, bv bij die van GER (gereeddatum/tijd)
|
||||
|
||||
function DICO_StatusBericht (v_woco_gln, v_lev_gln, v_purchId, v_statuscode, v_extraInfo, v_dateTime)
|
||||
{
|
||||
|
||||
//Berichtvoorbeeld
|
||||
//Voorbeeld Body: dit is een SALES005 ketenstandaard MaintenanceStatus XML-bericht:
|
||||
//
|
||||
|
||||
//<?xml version="1.0" encoding="utf-8"?>
|
||||
//<MaintenanceStatus xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.ketenstandaard.nl/onderhoudsstatus/SALES/005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ketenstandaard.nl/onderhoudsstatus/SALES/005 Onderhoudsstatus_SALES005.xsd">
|
||||
//<MessageNumber>1234</MessageNumber>
|
||||
//<MessageDate>2021-12-16</MessageDate>
|
||||
//<MessageTime>10:27:30</MessageTime>
|
||||
//<Buyer>
|
||||
// <GLN>8712345000011</GLN>
|
||||
//</Buyer>
|
||||
//<Contractor>
|
||||
// <GLN>8712345000004</GLN>
|
||||
//</Contractor>
|
||||
//<InstructionData>
|
||||
// <InstructionNumber>ION000001</InstructionNumber>
|
||||
// <Status>GER</Status>
|
||||
// <DateReady>2021-12-15</DateReady>
|
||||
// <FreeText>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</FreeText>
|
||||
// <AppointmentDateTimeInformation>
|
||||
// <RequiredDeliveryDate>2018-07-17</RequiredDeliveryDate> Afspraakdatum
|
||||
// <RequiredDeliveryTime>00:00:00</RequiredDeliveryTime> Afspraaktijd
|
||||
// <DeliveryTimeFrame>
|
||||
// <DeliveryDateEarliest>2018-07-16</DeliveryDateEarliest>
|
||||
// <DeliveryTimeEarliest>00:00:00</DeliveryTimeEarliest>
|
||||
// <DeliveryDateLatest>2018-07-18</DeliveryDateLatest> Verlengingsdatum
|
||||
// <DeliveryTimeLatest>00:00:00</DeliveryTimeLatest> Verlengingstijd
|
||||
// </DeliveryTimeFrame>
|
||||
// </AppointmentDateTimeInformation>
|
||||
//</InstructionData>
|
||||
//</MaintenanceStatus>
|
||||
|
||||
__Log("DICO_StatusBericht: " + "Start", 2);
|
||||
__Log("v_woco_gln: " + v_woco_gln, 2);
|
||||
__Log("v_lev_gln: " + v_lev_gln, 2);
|
||||
__Log("v_purchId: " + v_purchId, 2);
|
||||
__Log("v_statuscode: " + v_statuscode, 2);
|
||||
__Log("v_dateTime: " + v_dateTime, 2);
|
||||
|
||||
if (v_dateTime == "-1")
|
||||
{
|
||||
// met v_dateTime gelijk aan -1 willen we de datumtime xml niet opnemen in de request!
|
||||
v_dateTime = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
v_dateTime = v_dateTime; // e.g.: 2021-12-17T12:00:00
|
||||
}
|
||||
|
||||
var l_msg_id = MARX_Get_Msg_ID();
|
||||
var l_timestamp = displayTimeStamp() //yyyy-mm-ddThh_mi_ss_iii (jaar-maand-dagTuur_min_sec_millisec): 23 tekens
|
||||
var l_msg_date = l_timestamp.substr(0,10); //yyyy-mm-dd
|
||||
var l_msg_time = l_timestamp.substr(11,8)
|
||||
l_msg_time = MARX_replaceAll(l_msg_time, "_", ":"); //hh:mi:ss
|
||||
|
||||
var v_req = "<MaintenanceStatus xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://www.ketenstandaard.nl/onderhoudsstatus/SALES/005\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.ketenstandaard.nl/onderhoudsstatus/SALES/005 Onderhoudsstatus_SALES005.xsd\">"
|
||||
+ "<MessageNumber>" + l_msg_id + "</MessageNumber>"
|
||||
+ "<MessageDate>" + l_msg_date + "</MessageDate>"
|
||||
+ "<MessageTime>" + l_msg_time + "</MessageTime>"
|
||||
+ "<Buyer>"
|
||||
+ "<GLN>" + v_woco_gln + "</GLN>"
|
||||
+ "</Buyer>"
|
||||
+ "<Contractor>"
|
||||
+ "<GLN>" + v_lev_gln + "</GLN>"
|
||||
+ "</Contractor>"
|
||||
+ "<InstructionData>"
|
||||
+ "<InstructionNumber>" + v_purchId + "</InstructionNumber>"
|
||||
+ "<Status>" + v_statuscode + "</Status>";
|
||||
|
||||
var l_dateTime_datum = v_dateTime.substr(0,10);
|
||||
var l_dateTime_tijd = v_dateTime.substr(11,8);
|
||||
|
||||
if (v_statuscode == "GER" && l_dateTime_datum != "")
|
||||
{ // Alleen bij gereedmelden opdrachten (technisch afmelden) komt in SALES005 de DateReady in de vorm van YYYY-MM-DD mee...
|
||||
v_req = v_req + "<DateReady>" + l_dateTime_datum + "</DateReady>";
|
||||
}
|
||||
if (v_extraInfo != "")
|
||||
{
|
||||
v_req = v_req + "<FreeText>" + v_extraInfo + "</FreeText>";
|
||||
}
|
||||
if ((v_statuscode == "AFH" || v_statuscode == "VER") && l_dateTime_datum != "")
|
||||
{
|
||||
v_req = v_req + "<AppointmentDateTimeInformation>";
|
||||
if (v_statuscode == "AFH")
|
||||
{
|
||||
v_req = v_req + "<RequiredDeliveryDate>" + l_dateTime_datum + "</RequiredDeliveryDate>"; // Afspraakdatum
|
||||
v_req = v_req + "<RequiredDeliveryTime>" + l_dateTime_tijd + "</RequiredDeliveryTime>";// Afspraakdatum
|
||||
}
|
||||
if (v_statuscode == "VER")
|
||||
{
|
||||
v_req = v_req + "<DeliveryTimeFrame>";
|
||||
v_req = v_req + "<DeliveryDateLatest>" + l_dateTime_datum + "</DeliveryDateLatest>"; // Verlengingsdatum
|
||||
v_req = v_req + "<DeliveryTimeLatest>" + l_dateTime_tijd + "</DeliveryTimeLatest>"; // Verlengingstijd
|
||||
v_req = v_req + "</DeliveryTimeFrame>";
|
||||
}
|
||||
v_req = v_req + "</AppointmentDateTimeInformation>";
|
||||
}
|
||||
v_req = v_req + "</InstructionData>";
|
||||
v_req = v_req + "</MaintenanceStatus>";
|
||||
|
||||
__Log("v_req: " + v_req, 2);
|
||||
__Log("DICO_StatusBericht: " + "End", 2);
|
||||
return v_req;
|
||||
}
|
||||
|
||||
|
||||
function DICO_Add_MessageService(p_ms_version, p_dico_version, p_req_xml){
|
||||
var l_msg_id = MARX_Get_Msg_ID();
|
||||
var l_timestamp = displayTimeStamp() //yyyy-mm-ddThh_mi_ss_iii (jaar-maand-dagTuur_min_sec_millisec): 23 tekens
|
||||
var l_msg_date = l_timestamp.substr(0,10); //yyyy-mm-dd
|
||||
var l_msg_time = l_timestamp.substr(11,8)
|
||||
l_msg_time = MARX_replaceAll(l_msg_time, "_", ":"); //hh:mi:ss
|
||||
|
||||
var l_MsgType="";
|
||||
p_req_xml_str = "" + p_req_xml;
|
||||
if (p_req_xml_str.search("MaintenanceInstruction") != -1)
|
||||
{
|
||||
l_MsgType = "MTNINS"
|
||||
}
|
||||
if (p_req_xml_str.search("MaintenanceStatus") != -1)
|
||||
{
|
||||
l_MsgType = "MTNSTA"
|
||||
}
|
||||
if (p_req_xml_str.search("Invoice") != -1)
|
||||
{
|
||||
l_MsgType = "INVOIC"
|
||||
}
|
||||
|
||||
switch (p_ms_version)
|
||||
{
|
||||
case "2.4":
|
||||
break;
|
||||
case "3.0":
|
||||
break;
|
||||
case "3.1":
|
||||
var v_msg =
|
||||
'<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="https://www.ketenstandaard.nl/WS/MessageService/3.1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">'
|
||||
+ '<soap:Header>'
|
||||
+ ' <ns:CustomInfo>'
|
||||
+ ' <ns:IsTestMessage>false</ns:IsTestMessage>'
|
||||
+ ' <!-- Optional: -->'
|
||||
+ ' <ns:LanguageCode>NL</ns:LanguageCode>'
|
||||
+ ' <ns:IsContentCompressed>false</ns:IsContentCompressed>'
|
||||
+ ' <ns:ApplicationId>Mareon</ns:ApplicationId>'
|
||||
+ ' <ns:VersionId>SYNC' + G_Mareon_Adapter + '</ns:VersionId>'
|
||||
+ ' <ns:RelationId>Mareon</ns:RelationId>'
|
||||
+ ' </ns:CustomInfo>'
|
||||
+ ' <wsse:Security>'
|
||||
+ ' <wsse:UsernameToken>'
|
||||
+ ' <wsse:Username>' + v_ID_client_id + '</wsse:Username>'
|
||||
+ ' <wsse:Password>' + v_ID_client_secret + '</wsse:Password>'
|
||||
+ ' </wsse:UsernameToken>'
|
||||
+ ' </wsse:Security>'
|
||||
+ '</soap:Header>'
|
||||
+ '<soap:Body>'
|
||||
+ ' <ns:Message>'
|
||||
+ ' <ns:MsgProperties>'
|
||||
+ ' <ns:MsgId>' + l_msg_id + '</ns:MsgId>'
|
||||
+ ' <ns:MsgDateTime>' + l_msg_date + 'T' + l_msg_time + '</ns:MsgDateTime>'
|
||||
+ ' <ns:MsgFormat>SALES</ns:MsgFormat>'
|
||||
+ ' <ns:MsgVersion>'+ p_dico_version + '</ns:MsgVersion>'
|
||||
+ ' <ns:MsgType>' + l_MsgType + '</ns:MsgType>'
|
||||
+ ' </ns:MsgProperties>'
|
||||
+ ' <ns:MsgContent><![CDATA[' + p_req_xml + ']]></ns:MsgContent>'
|
||||
+ ' </ns:Message>'
|
||||
+ '</soap:Body>'
|
||||
+ '</soap:Envelope>';
|
||||
break;
|
||||
default:
|
||||
// Geen bekende MessageService
|
||||
__Log("Onbekende versie MessageService !!", 1);
|
||||
var v_msg = p_req_xml;
|
||||
}
|
||||
return v_msg;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function apiIDentity (v_url, v_req, v_type, v_contenttype, v_discard_active_abort, v_basic_authentication, v_secret)
|
||||
@@ -1487,6 +1775,18 @@ function MARX_replaceAll(str, find, replace) {
|
||||
return str.replace(new RegExp(find, 'g'), replace);
|
||||
}
|
||||
|
||||
function MARX_Get_Msg_ID() {
|
||||
var l_timestamp = displayTimeStamp() //yyyy-mm-ddThh_mi_ss_iii (jaar-maand-dagTuur_min_sec_millisec): 23 tekens
|
||||
var l_msg_id = l_timestamp.substr(2); // 21 tekens
|
||||
l_msg_id = MARX_replaceAll(l_msg_id, "-", "");//19 tekens
|
||||
l_msg_id = MARX_replaceAll(l_msg_id, "_", "");//16 tekens
|
||||
l_msg_id = MARX_replaceAll(l_msg_id, "T", "");//15 tekens
|
||||
|
||||
// Returns a random integer from 0 to 99 // 2 tekens
|
||||
var l_random = Math.floor(Math.random() * 100);
|
||||
return (l_msg_id + l_random); // max. 17 tekens
|
||||
}
|
||||
|
||||
function STR_2_XML (v_str){
|
||||
var xmldoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
|
||||
xmldoc.async = false;
|
||||
|
||||
@@ -748,3 +748,137 @@ function F_GetFacturen_TWINQ()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function F_GetFacturen_3RDPARTY()
|
||||
{
|
||||
var v_API = "FACT4_SALES005";
|
||||
var v_APIKEY = G_marx_apikey;
|
||||
var v_req = "<GetFACT4_SALES005_NQ><adapterversion>" + G_Mareon_Adapter + "</adapterversion></GetFACT4_SALES005_NQ>"
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
var v_resp = apiFCLT(G_marx_url, v_API, v_APIKEY, v_req, v_type, v_soap_envelop, 0);
|
||||
|
||||
__Log("F_GetFacturen_3RDPARTY: " + v_resp.text, 4);
|
||||
|
||||
|
||||
var l_tmp_namespace = "sales"; // Deze tijdelijke en dummy namespace (truuk) met letters mb had van alles kunnen zijn, en is nodig om een goede query op Invoice te doen,
|
||||
// want in de XML staat de default namespace (zonder prefix dus). Als we dit NIET doen, wordt er niets gequeryd uit XML!! En gaat het dus fout!
|
||||
// namespace=http://www.ketenstandaard.nl/factuur/SALES/005
|
||||
v_resp.setProperty ("SelectionNamespaces", "xmlns:" + l_tmp_namespace + "='http://www.ketenstandaard.nl/factuur/SALES/005'");
|
||||
|
||||
// SPlitsen van XML's...
|
||||
var i = 1;
|
||||
var strQuery = "//batch/fin_factuur[" + i + "]";
|
||||
l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
while (l_deelxml)
|
||||
{
|
||||
|
||||
var l_strQuery_fin_factuur_key = strQuery + "/fin_factuur_key";
|
||||
var l_fin_factuur_key = v_resp.selectSingleNode(l_strQuery_fin_factuur_key).text;
|
||||
__Log("l_fin_factuur_key: " + l_fin_factuur_key, 3);
|
||||
|
||||
var l_strQuery_fac_notificatie_key = strQuery + "/fac_notificatie_key";
|
||||
var l_fac_notificatie_key = v_resp.selectSingleNode(l_strQuery_fac_notificatie_key).text;
|
||||
__Log("l_fac_notificatie_key: " + l_fac_notificatie_key, 3);
|
||||
|
||||
var l_strQuery_prs_send_invoice_2_woco = strQuery + "/prs_send_invoice_2_woco";
|
||||
var l_prs_send_invoice_2_woco = v_resp.selectSingleNode(l_strQuery_prs_send_invoice_2_woco).text;
|
||||
__Log("l_prs_send_invoice_2_woco: " + l_prs_send_invoice_2_woco, 3);
|
||||
|
||||
if (l_prs_send_invoice_2_woco == "0")
|
||||
{ // Factuur niet naar opdrachtgever sturen, is niet gewenst aldaar! De factuur wordt dus niet verwerkt (door opdrachtgever).
|
||||
// We moeten de factuur alleen uit de NQ halen, zowel in geval van NQ als classic SYNC (niet NQ), zodat die de volgende keer niet weer hier langs komt.
|
||||
// En verder niets doen, dus status (waarschijnlijk incompleet) gewoon zo laten, de factuur is immers niet verwerkt door en/of verstuurd naar opdrachtgever!!
|
||||
// Behalve nog nav "MARX#74749 Mareon Sync heel traag na MARX23" het veld fin_factuur_externsyncdate vullen...
|
||||
MARX_Send_Succes_Or_Failure(l_fin_factuur_key, "FIN_FACTUUR_SET_EXTERNSYNCDATE", "");
|
||||
var v_result = {api_status_code: 1, api_status_message: "", api_response_message: ""};
|
||||
post_do_exec_notification(l_fac_notificatie_key, v_result);
|
||||
}
|
||||
else
|
||||
{ // Factuur WEL naar opdrachtgever sturen, is erg gewenst aldaar! De factuur wordt dus WEL verwerkt (door opdrachtgever).
|
||||
|
||||
// Eerst nog de Facilitor/Mareon headers van de XML eraf halen om de SALES005 over te houden.
|
||||
var strUBLQuery = "//" + l_tmp_namespace + ":Invoice";
|
||||
var tmp_xml = STR_2_XML(l_deelxml.xml);
|
||||
__Log("F_GetFacturen_3RDPARTY: tmp_xml " + tmp_xml.xml, 4);
|
||||
tmp_xml.setProperty ("SelectionNamespaces", "xmlns:" + l_tmp_namespace + "='http://www.ketenstandaard.nl/factuur/SALES/005'");
|
||||
var l_sales005_xml = tmp_xml.selectSingleNode(strUBLQuery);
|
||||
__Log("F_GetFacturen_3RDPARTY: l_sales005_xml " + l_sales005_xml, 3);
|
||||
|
||||
l_pdf_base64 = F_Get_Base64_FactuurFile(l_fin_factuur_key);
|
||||
if (l_pdf_base64 != ""){
|
||||
|
||||
// De node Attachment in de XML.
|
||||
var strUBLQuery = "//" + l_tmp_namespace + ":Invoice" + "/" + l_tmp_namespace + ":Attachment";
|
||||
var node_attachment = l_sales005_xml.selectSingleNode(strUBLQuery);
|
||||
|
||||
if (node_attachment.length != 0){
|
||||
// De node Attachment in de XML bestaat dus.
|
||||
__Log("XML node Attachment exists", 3);
|
||||
|
||||
// De node AttachedData in XMLResult gaat inhoud krijgen met de base64 tekenreeks.
|
||||
var strUBLQuery = "//" + l_tmp_namespace + ":Invoice" + "/" + l_tmp_namespace + ":Attachment" + "/" + l_tmp_namespace + ":AttachedData";
|
||||
var node_attached_data = l_sales005_xml.selectSingleNode(strUBLQuery);
|
||||
|
||||
if (node_attached_data.length != 0){
|
||||
__Log("XML node AttachedData exists", 3);
|
||||
node_attached_data.text=l_pdf_base64;
|
||||
}
|
||||
else {
|
||||
__Log("XML node AttachedData does NOT exist",2);
|
||||
|
||||
newEle = v_resp.createElement(l_tmp_namespace + ":AttachedData");
|
||||
__Log("XML element AttachedData created",3);
|
||||
newTxt = v_resp.createTextNode(l_pdf_base64);
|
||||
__Log("XML textnode with base64 data created",3);
|
||||
newEle.appendChild(newTxt);
|
||||
__Log("XML element AttachedData with textnode",3);
|
||||
node_attachment.appendChild(newEle);
|
||||
__Log("XML element added to XML",3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var XMLResult = "<?xml version=\"1.0\"?>" + l_sales005_xml.xml;
|
||||
if (G_log_level >= 4 && G_fclt_factuur_xmlfolder != ''){
|
||||
WriteText2File(G_fclt_factuur_xmlfolder, "3rdparty[" + i + "]" , "xml" , XMLResult, 1, 1);
|
||||
}
|
||||
|
||||
// Send factuur-XML to 3RDPARTY
|
||||
|
||||
|
||||
var v_API = "";
|
||||
var v_type = 0;
|
||||
var v_soapAction = "";
|
||||
var v_discard_active_abort = 1; //In geval van 500-error, geen active abort...
|
||||
var v_soort_api = 2;
|
||||
var v_result = apiAX_GENERAL (v_API, XMLResult, v_type, v_soapAction, v_discard_active_abort, v_soort_api);
|
||||
|
||||
|
||||
var l_statuscode = v_result.api_status_code;
|
||||
var l_statustekst = v_result.api_status_message;
|
||||
var l_reponsetekst = v_result.api_response_message;
|
||||
|
||||
if (l_statuscode == 1){
|
||||
// Factuur is goed verwerkt door 3RDPARTY
|
||||
// Dan de factuur op verwerkt zetten en evt de auto-close van bijbehorende opdracht, dus call van MARX_Send_Succes_Or_Failure
|
||||
MARX_Send_Succes_Or_Failure(l_fin_factuur_key, "FIN_FACTUUR_POST_SUCCESS", "");
|
||||
//en natuurlijk de factuur uit de notifyqueue verwijderen...
|
||||
post_do_exec_notification(l_fac_notificatie_key, v_result);
|
||||
__Log("3RDPARTY factuurverwerking succesvol",3);
|
||||
}
|
||||
else{
|
||||
var l_extra_omschr = l_statustekst + " - " + l_reponsetekst;
|
||||
l_extra_omschr = l_extra_omschr.substr(0, 4000);
|
||||
// de factuur voorzien van een failure in notifyqueue + ORDTRK met de response-fout
|
||||
post_do_exec_notification(l_fac_notificatie_key, v_result);
|
||||
__Log("3RDPARTY factuurverwerking NIET succesvol",1);
|
||||
}
|
||||
}
|
||||
i = i + 1;
|
||||
var strQuery = "//batch/fin_factuur[" + i + "]";
|
||||
l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,9 @@ function GEN_AcceptServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
v_resp = TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, "ACC", v_mld_opdr_extrainfo, "-1");
|
||||
}
|
||||
if (AX_or_Tobias() == "3P") {
|
||||
v_resp = THIRDP_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, "ACC", v_mld_opdr_extrainfo, "-1");
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
|
||||
@@ -135,6 +138,9 @@ function GEN_RefuseServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
v_resp = TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, "WEI", v_mld_opdr_extrainfo, "-1");
|
||||
}
|
||||
if (AX_or_Tobias() == "3P") {
|
||||
v_resp = THIRDP_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, "WEI", v_mld_opdr_extrainfo, "-1");
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
|
||||
@@ -161,8 +167,11 @@ function GEN_AnnuleerServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId,
|
||||
if (AX_or_Tobias() == "R") {
|
||||
v_resp = R_SetOpdrachtStatus (v_company_id, v_taskId, v_externnr, v_statuscode, "", v_mld_opdr_extrainfo);
|
||||
}
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
v_resp = TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_statuscode, v_mld_opdr_extrainfo, "-1");
|
||||
}
|
||||
if (AX_or_Tobias() == "3P") {
|
||||
v_resp = THIRDP_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_statuscode, v_mld_opdr_extrainfo, "-1");
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
@@ -84,5 +84,8 @@ function GEN_CompleteServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId,
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
v_resp = TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, "GER", v_extraInfo, v_dateComplete);
|
||||
}
|
||||
if (AX_or_Tobias() == "3P") {
|
||||
v_resp = THIRDP_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, "GER", v_extraInfo, v_dateComplete);
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
|
||||
@@ -84,5 +84,8 @@ function GEN_PlanServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_ex
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
v_resp = TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, "AFH", v_extraInfo, v_date);
|
||||
}
|
||||
if (AX_or_Tobias() == "3P") {
|
||||
v_resp = THIRDP_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, "AFH", v_extraInfo, v_date);
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
@@ -84,6 +84,9 @@ function GEN_OnderbreekServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
v_resp = TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_statuscode, v_extraInfo, v_date);
|
||||
}
|
||||
if (AX_or_Tobias() == "3P") {
|
||||
v_resp = THIRDP_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_statuscode, v_extraInfo, v_date);
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,9 +78,11 @@ function GEN_SetSupplierText(v_company_id, v_taskId, v_externnr, v_extraInfo)
|
||||
if (AX_or_Tobias() == "R") {
|
||||
v_resp = R_SetOpdrachtStatus (v_company_id, v_taskId, v_externnr, "", "", v_extraInfo);
|
||||
}
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
v_resp = {api_status_code: 1, api_status_message: "", api_response_message: ""};
|
||||
}
|
||||
if (AX_or_Tobias() == "3P") {
|
||||
v_resp = {api_status_code: 1, api_status_message: "", api_response_message: ""};
|
||||
}
|
||||
|
||||
return v_resp;
|
||||
}
|
||||
|
||||
@@ -79,6 +79,9 @@ function GEN_UitvoeringServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
v_resp = TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_statuscode, v_extraInfo, v_date);
|
||||
}
|
||||
if (AX_or_Tobias() == "3P") {
|
||||
v_resp = THIRDP_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_statuscode, v_extraInfo, v_date);
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
|
||||
|
||||
@@ -82,5 +82,8 @@ function GEN_VerlengServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId, v
|
||||
if (AX_or_Tobias() == "TQ") {
|
||||
v_resp = TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_statuscode, v_extraInfo, v_date);
|
||||
}
|
||||
if (AX_or_Tobias() == "3P") {
|
||||
v_resp = THIRDP_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_statuscode, v_extraInfo, v_date);
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
|
||||
@@ -51,86 +51,7 @@ function TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_
|
||||
//default gaan we ervan uit dat de communcatie goed verloopt (lekker positief ingesteld ;-)
|
||||
var v_resp = {api_status_code: 1, api_status_message: "", api_response_message: ""};
|
||||
__Log("TQ_SetOpdrachtStatus: " + "Start", 2);
|
||||
__Log("v_company_id: " + v_company_id, 2);
|
||||
__Log("v_woco_gln: " + v_woco_gln, 2);
|
||||
__Log("v_lev_gln: " + v_lev_gln, 2);
|
||||
__Log("v_taskId: " + v_taskId, 2);
|
||||
__Log("v_purchId: " + v_purchId, 2);
|
||||
__Log("v_statuscode: " + v_statuscode, 2);
|
||||
__Log("v_dateTime: " + v_dateTime, 2);
|
||||
|
||||
if (v_dateTime == "-1")
|
||||
{
|
||||
// met v_dateTime gelijk aan -1 willen we de datumtime xml niet opnemen in de request!
|
||||
v_dateTime = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
v_dateTime = v_dateTime; // e.g.: 2021-12-17T12:00:00
|
||||
}
|
||||
|
||||
|
||||
var l_timestamp = displayTimeStamp() //yyyy-mm-ddThh_mi_ss_iii (jaar-maand-dagTuur_min_sec_millisec): 23 tekens
|
||||
|
||||
l_msg_id = l_timestamp.substr(2); // 21 tekens
|
||||
l_msg_id = MARX_replaceAll(l_msg_id, "-", "");//19 tekens
|
||||
l_msg_id = MARX_replaceAll(l_msg_id, "_", "");//17 tekens
|
||||
l_msg_id = MARX_replaceAll(l_msg_id, "T", "");//15 tekens
|
||||
|
||||
// Returns a random integer from 0 to 99 // 2 tekens
|
||||
var l_random = Math.floor(Math.random() * 100);
|
||||
var l_msg_id = l_msg_id + l_random; // max. 17 tekens
|
||||
|
||||
var l_msg_date = l_timestamp.substr(0,10); //yyyy-mm-dd
|
||||
var l_msg_time = l_timestamp.substr(11,8)
|
||||
l_msg_time = MARX_replaceAll(l_msg_time, "_", ":"); //hh:mi:ss
|
||||
|
||||
var v_req = "<MaintenanceStatus xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://www.ketenstandaard.nl/onderhoudsstatus/SALES/005\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.ketenstandaard.nl/onderhoudsstatus/SALES/005 Onderhoudsstatus_SALES005.xsd\">"
|
||||
+ "<MessageNumber>" + l_msg_id + "</MessageNumber>"
|
||||
+ "<MessageDate>" + l_msg_date + "</MessageDate>"
|
||||
+ "<MessageTime>" + l_msg_time + "</MessageTime>"
|
||||
+ "<Buyer>"
|
||||
+ "<GLN>" + v_woco_gln + "</GLN>"
|
||||
+ "</Buyer>"
|
||||
+ "<Contractor>"
|
||||
+ "<GLN>" + v_lev_gln + "</GLN>"
|
||||
+ "</Contractor>"
|
||||
+ "<InstructionData>"
|
||||
+ "<InstructionNumber>" + v_purchId + "</InstructionNumber>"
|
||||
+ "<Status>" + v_statuscode + "</Status>";
|
||||
|
||||
var l_dateTime_datum = v_dateTime.substr(0,10);
|
||||
var l_dateTime_tijd = v_dateTime.substr(11,8);
|
||||
|
||||
if (v_statuscode == "GER" && l_dateTime_datum != "")
|
||||
{ // Alleen bij gereedmelden opdrachten (technisch afmelden) komt in SALES005 de DateReady in de vorm van YYYY-MM-DD mee...
|
||||
v_req = v_req + "<DateReady>" + l_dateTime_datum + "</DateReady>";
|
||||
}
|
||||
if (v_extraInfo != "")
|
||||
{
|
||||
v_req = v_req + "<FreeText>" + v_extraInfo + "</FreeText>";
|
||||
}
|
||||
if ((v_statuscode == "AFH" || v_statuscode == "VER") && l_dateTime_datum != "")
|
||||
{
|
||||
v_req = v_req + "<AppointmentDateTimeInformation>";
|
||||
if (v_statuscode == "AFH")
|
||||
{
|
||||
v_req = v_req + "<RequiredDeliveryDate>" + l_dateTime_datum + "</RequiredDeliveryDate>"; // Afspraakdatum
|
||||
v_req = v_req + "<RequiredDeliveryTime>" + l_dateTime_tijd + "</RequiredDeliveryTime>";// Afspraakdatum
|
||||
}
|
||||
if (v_statuscode == "VER")
|
||||
{
|
||||
v_req = v_req + "<DeliveryTimeFrame>";
|
||||
v_req = v_req + "<DeliveryDateLatest>" + l_dateTime_datum + "</DeliveryDateLatest>"; // Verlengingsdatum
|
||||
v_req = v_req + "<DeliveryTimeLatest>" + l_dateTime_tijd + "</DeliveryTimeLatest>"; // Verlengingstijd
|
||||
v_req = v_req + "</DeliveryTimeFrame>";
|
||||
}
|
||||
v_req = v_req + "</AppointmentDateTimeInformation>";
|
||||
}
|
||||
v_req = v_req + "</InstructionData>";
|
||||
v_req = v_req + "</MaintenanceStatus>";
|
||||
|
||||
__Log("v_req: " + v_req, 2);
|
||||
var v_req = DICO_StatusBericht (v_woco_gln, v_lev_gln, v_purchId, v_statuscode, v_extraInfo, v_dateTime);
|
||||
|
||||
var v_API = "";
|
||||
var v_type = 0;
|
||||
@@ -141,4 +62,30 @@ function TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_
|
||||
|
||||
__Log("TQ_SetOpdrachtStatus: " + "End", 2);
|
||||
return v_resp;
|
||||
}
|
||||
|
||||
function THIRDP_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_purchId, v_statuscode, v_extraInfo, v_dateTime)
|
||||
{
|
||||
//default gaan we ervan uit dat de communcatie goed verloopt (lekker positief ingesteld ;-)
|
||||
var v_resp = {api_status_code: 1, api_status_message: "", api_response_message: ""};
|
||||
__Log("THIRDP_SetOpdrachtStatus: " + "Start", 2);
|
||||
|
||||
switch (G_3party_id)
|
||||
{
|
||||
case "ViewPoint":
|
||||
var v_req = DICO_StatusBericht (v_woco_gln, v_lev_gln, v_purchId, v_statuscode, v_extraInfo, v_dateTime);
|
||||
var v_API = "";
|
||||
var v_type = 0;
|
||||
var v_soapAction = "";
|
||||
var v_discard_active_abort = 1; //In geval van 500-error, geen active abort...
|
||||
var v_soort_api = 2;
|
||||
var v_resp = apiAX_GENERAL(v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api);
|
||||
break;
|
||||
default:
|
||||
// Geen bekend Applicatie
|
||||
__Log("THIRDP_SetOpdrachtStatus: " + "UNKNOWN 3D PARTY!!", 1);
|
||||
var v_resp = {api_status_code: 0, api_status_message: "", api_response_message: "UNKNOWN 3D PARTY"};
|
||||
}
|
||||
__Log("THIRDP_SetOpdrachtStatus: " + "End", 2);
|
||||
return v_resp;
|
||||
}
|
||||
Reference in New Issue
Block a user