Files
Mareon/ax/SRC/F_GetOpdrachtenAcceptedRefused.js
Marcel Bourseau f161ffb7d2 MARX#69220 Koppeling Mareon -> Twinq: statusupdates van opdracht naar Twinq
svn path=/Mareon/trunk/; revision=54249
2021-12-21 15:28:25 +00:00

168 lines
6.7 KiB
JavaScript

// --------------------------------------------------------------------------------------
// F_GetOpdrachtenAcceptedRefused.js
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
// Written by MB (2014)
//
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
// --------------------------------------------------------------------------------------
function F_GetOpdrachten_AcceptRefuse()
{
var v_API = "ACCEPT_REFUSED_OPDR_4AX";
var v_APIKEY = G_marx_apikey;
var v_req = "<GetACCEPT_REFUSED_OPDR_4AX><adapterversion>" + G_Mareon_Adapter + "</adapterversion><APIkey>" + v_APIKEY + "</APIkey></GetACCEPT_REFUSED_OPDR_4AX>"
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);
var l_node;
__Log("F_GetOpdrachten_AcceptRefuse: " + v_resp.text, 3);
// Uitlezen van XML's...
var i = 1;
var strQuery = "//xml/mld_ordr[" + i + "]";
var l_deelxml = v_resp.selectSingleNode(strQuery);
while (l_deelxml)
{
l_node = strQuery + "/ax_company_id";
var v_company_id = v_resp.selectSingleNode(l_node).text;
l_node = strQuery + "/mld_opdr_ordernr";
var v_taskId = v_resp.selectSingleNode(l_node).text;
l_node = strQuery + "/mld_opdr_externnr";
var v_externnr = v_resp.selectSingleNode(l_node).text;
var l_node = strQuery + "/mld_opdr_opmerking";
var v_extraInfo = v_resp.selectSingleNode(l_node).text;
var l_node = strQuery + "/fac_tracking_datum";
var v_date = v_resp.selectSingleNode(l_node).text;
var l_node = strQuery + "/fac_srtnotificatie_code";
var v_srtnotificatie_code = v_resp.selectSingleNode(l_node).text;
var l_node = strQuery + "/ann_of_wei";
var v_ann_of_wei = v_resp.selectSingleNode(l_node).text;
var l_node = strQuery + "/mld_opdr_extrainfo";
var v_mld_opdr_extrainfo = v_resp.selectSingleNode(l_node).text;
__Log("v_company_id: " + v_company_id,2);
__Log("v_taskId: " + v_taskId,2);
__Log("v_externnr: " + v_externnr,2);
__Log("v_extraInfo: " + v_extraInfo, 3);
__Log("v_date: " + v_date,2);
__Log("v_srtnotificatie_code: " + v_srtnotificatie_code,2);
__Log("v_ann_of_wei: " + v_ann_of_wei,2);
__Log("v_mld_opdr_extrainfo: " + v_mld_opdr_extrainfo,2);
//MARX#56792: XML equivalent van & < > etc toepassen...
v_extraInfo = escapeXml(v_extraInfo);
v_mld_opdr_extrainfo = escapeXml(v_mld_opdr_extrainfo);
if (v_srtnotificatie_code == 'ORDACP') {
GEN_AcceptServiceTask(v_company_id, "", "", v_taskId, v_externnr, v_mld_opdr_extrainfo);
}
if (v_srtnotificatie_code == 'ORDCAN') {
GEN_RefuseServiceTask(v_company_id, "", "", v_taskId, v_externnr, "GEWEIGERD", v_mld_opdr_extrainfo);
}
if (v_srtnotificatie_code == 'ORDANN') {
GEN_AnnuleerServiceTask(v_company_id, "", "", v_taskId, "ANN", v_externnr, v_mld_opdr_extrainfo, "-1");
}
i = i + 1;
var strQuery = "//xml/mld_ordr[" + i + "]";
l_deelxml = v_resp.selectSingleNode(strQuery);
}
}
function GEN_AcceptServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_mld_opdr_extrainfo)
{
var v_resp;
if (AX_or_Tobias() == "A") {
v_resp = A_AcceptServiceTask (v_company_id, v_taskId, v_mld_opdr_extrainfo);
}
if (AX_or_Tobias() == "A12") {
v_resp = A2012_AcceptServiceTask (v_company_id, v_taskId, v_mld_opdr_extrainfo);
}
if (AX_or_Tobias() == "A365") {
v_resp = A365_StatusLog(v_company_id, "ACC", v_externnr, v_mld_opdr_extrainfo, "-1", 0);
}
if (AX_or_Tobias() == "T") {
v_resp = T_AcceptServiceTask (v_company_id, v_taskId, "Ja");
}
if (AX_or_Tobias() == "F") {
v_resp = FCLT_SetOpdrachtStatus (v_company_id, v_taskId, v_externnr, "ORDACP", "");
}
if (AX_or_Tobias() == "R") {
v_resp = R_SetOpdrachtStatus (v_company_id, v_taskId, v_externnr, "ACC", "", v_mld_opdr_extrainfo);
}
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");
}
return v_resp;
}
function GEN_RefuseServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_code_geweigerd, v_mld_opdr_extrainfo)
{
var v_resp;
if (AX_or_Tobias() == "A") {
v_resp = A_RefuseServiceTask (v_company_id, v_taskId, v_code_geweigerd, v_mld_opdr_extrainfo);
}
if (AX_or_Tobias() == "A12") {
v_resp = A2012_RefuseServiceTask (v_company_id, v_taskId, v_code_geweigerd, v_mld_opdr_extrainfo);
}
if (AX_or_Tobias() == "A365") {
v_resp = A365_StatusLog(v_company_id, "WEI", v_externnr, v_mld_opdr_extrainfo, "-1", 0);
}
if (AX_or_Tobias() == "T") {
v_resp = T_AcceptServiceTask (v_company_id, v_taskId, "Nee");
}
if (AX_or_Tobias() == "F") {
v_resp = FCLT_SetOpdrachtStatus (v_company_id, v_taskId, v_externnr, "ORDCAN", "");
}
if (AX_or_Tobias() == "R") {
v_resp = R_SetOpdrachtStatus (v_company_id, v_taskId, v_externnr, "WEI", "", v_mld_opdr_extrainfo);
}
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");
}
return v_resp;
}
function GEN_AnnuleerServiceTask(v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_statuscode, v_externnr, v_mld_opdr_extrainfo, v_date)
{
var v_resp;
if (AX_or_Tobias() == "A") {
v_resp = A_UpdatePurchStatus(v_company_id, v_statuscode, v_externnr, v_mld_opdr_extrainfo, v_date);
}
if (AX_or_Tobias() == "A12") {
v_resp = A2012_UpdatePurchStatus(v_company_id, v_statuscode, v_externnr, v_mld_opdr_extrainfo, v_date);
}
if (AX_or_Tobias() == "A365") {
v_resp = A365_StatusLog(v_company_id, v_statuscode, v_externnr, v_mld_opdr_extrainfo, "-1", 1);
}
if (AX_or_Tobias() == "T") {
v_resp = {api_status_code: 1, api_status_message: "", api_response_message: ""};
}
if (AX_or_Tobias() == "F") {
v_resp = {api_status_code: 1, api_status_message: "", api_response_message: ""};
}
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") {
v_resp = TQ_SetOpdrachtStatus (v_company_id, v_woco_gln, v_lev_gln, v_taskId, v_externnr, v_statuscode, v_mld_opdr_extrainfo, "-1");
}
return v_resp;
}