MARX#89177 Notitie komt in geval van onderbreken niet mee naar (ERP)systeem van opdrachtgever

svn path=/Mareon/trunk/; revision=69572
This commit is contained in:
Marcel Bourseau
2025-06-27 17:23:18 +00:00
parent f0194ad2b3
commit 5cbbf8b9bf
2 changed files with 32 additions and 6 deletions

View File

@@ -791,8 +791,10 @@ function MARX_LOG_XML_SETTINGS()
// 1.92 -- MARX#84162: Mareon SYNC sequentieel per klant
// 1.93 -- MARX#85115: Multi-thread check aanscherpen: onterechte uitvalmails Heyday en Vogellanden
// 1.94 -- MARX#86119 Integratie Viadata CI365 en Mareon voor inspectieproces + MARX#87722 Mareon mist statustekst bij opdrachtafmelding naar Facilitor
// 1.95 -- MARX#89177 Notitie komt in geval van onderbreken niet mee naar (ERP)systeem van opdrachtgever
var G_Mareon_Adapter = "1.94";
var G_Mareon_Adapter = "1.95";
//MARX#56643: Test Haagwonen inkoopordernummer ontbreekt in Mareon ION001753
var G_new_date = new Date();

View File

@@ -45,6 +45,20 @@ function F_GetOpdrachten_Statussen ()
__Log("l_fac_notificatie_key: " + l_fac_notificatie_key, 4);
__Log("l_fac_tracking_datum: " + l_fac_tracking_datum, 4);
var l_skip_ORDUPD = 0;
//MARX#89177: Notitie komt in geval van onderbreken niet mee
if (i < l_aant_orders - 1)
{
// Er is nog een volgende element in de array
var l_next_mld_opdr_key = l_orders[i+1].mld_opdr_key;
var l_next_fac_srtnotificatie_code = l_orders[i+1].fac_srtnotificatie_code;
if (l_mld_opdr_key == l_next_mld_opdr_key && l_fac_srtnotificatie_code == "ORDUPD" && l_next_fac_srtnotificatie_code == "ORDHLT")
{
l_skip_ORDUPD = 1;
}
}
if (l_mld_opdr_key == l_prev_mld_opdr_key){
//dezelfde opdracht als vorige keer
@@ -69,7 +83,7 @@ function F_GetOpdrachten_Statussen ()
// We gaan de soort notificaties van dezelfde opdracht registeren in LIJST (Array), doen daar echter (nu nog) niets mee...
//l_fac_srtnotificatie_code_LIST[l_fac_srtnotificatie_code]=1;
// En communicatie van notify naar extern systeem...
l_error = do_exec_opdrstatus (l_orders[i], l_min_fac_tracking_datum_ordupd);
l_error = do_exec_opdrstatus (l_orders[i], l_min_fac_tracking_datum_ordupd, l_skip_ORDUPD);
}
}
else{
@@ -89,6 +103,9 @@ function F_GetOpdrachten_Statussen ()
// reset van l_min_fac_tracking_datum_ordupd, overgang naar andere opdracht...
l_min_fac_tracking_datum_ordupd = null;
// reset van var l_skip_ORDUPD ivm overgang naar andere opdracht...
var l_skip_ORDUPD = 0;
if (find_srtnotcode_bij_opdr(l_mld_opdr_key, l_fac_srtnotificatie_code, l_orders, i+1, 0, 1) != -1){
// De notificatiecode bij opdracht komt straks nog een keertje voorbij, deze SKIPPEN we, want we willen de laatste...
// Wel willen we deze uit de NQ halen, dus we gaan geen communicatie naar extern systeem doen,
@@ -104,7 +121,7 @@ function F_GetOpdrachten_Statussen ()
}
else{
// en anders de status natuurlijk gaan verwerken in externe systeem...
l_error = do_exec_opdrstatus (l_orders[i], l_min_fac_tracking_datum_ordupd);
l_error = do_exec_opdrstatus (l_orders[i], l_min_fac_tracking_datum_ordupd, l_skip_ORDUPD);
}
}
l_prev_mld_opdr_key = l_mld_opdr_key;
@@ -132,7 +149,7 @@ function find_srtnotcode_bij_opdr(v_opdr_key, v_srtnot_code, v_array, v_index_st
}
function do_exec_opdrstatus(p_order, p_min_fac_tracking_datum_ordupd){
function do_exec_opdrstatus(p_order, p_min_fac_tracking_datum_ordupd, p_skip_ordupd){
var l_error = 0;
var l_mld_opdr_key = p_order.mld_opdr_key; // eg 897125
@@ -285,8 +302,15 @@ function do_exec_opdrstatus(p_order, p_min_fac_tracking_datum_ordupd){
if (l_response.api_status_code == 1){
if (l_mld_statusopdr_key == 8 && l_mld_opdr_halted == 1 && l_mld_opdr_onderbreek_code != ""){
// status is 8 (=geaccepteerd), halted is 1 (=onderbroken), en flexprop "onderbeekcode" is gevuld
if (!p_skip_ordupd)
{
l_response = GEN_Conditioneel_OnderbreekServiceTask(l_mld_opdr_key, l_ax_company_id, l_woco_gln, l_lev_gln, l_mld_opdr_ordernr, l_mld_opdr_onderbreek_code, l_mld_opdr_externnr, l_mld_opdr_notitie, "-1");
}
else
{
__Log("GEN_Conditioneel_OnderbreekServiceTask is skipped because of p_skip_ordupd", 2);
}
}
}
// 2. bijlage(n)
if (l_response.api_status_code == 1){