From 5cbbf8b9bfbf143fd2a2abef16ea8ebc1048a7be Mon Sep 17 00:00:00 2001 From: Marcel Bourseau Date: Fri, 27 Jun 2025 17:23:18 +0000 Subject: [PATCH] MARX#89177 Notitie komt in geval van onderbreken niet mee naar (ERP)systeem van opdrachtgever svn path=/Mareon/trunk/; revision=69572 --- ax/SRC/AxFacilitor.js | 4 +++- ax/SRC/F_GetOpdrachtenStatussen.js | 34 +++++++++++++++++++++++++----- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/ax/SRC/AxFacilitor.js b/ax/SRC/AxFacilitor.js index 48420cc..038554c 100644 --- a/ax/SRC/AxFacilitor.js +++ b/ax/SRC/AxFacilitor.js @@ -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(); diff --git a/ax/SRC/F_GetOpdrachtenStatussen.js b/ax/SRC/F_GetOpdrachtenStatussen.js index 278a527..0b2fb14 100644 --- a/ax/SRC/F_GetOpdrachtenStatussen.js +++ b/ax/SRC/F_GetOpdrachtenStatussen.js @@ -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 @@ -282,10 +299,17 @@ function do_exec_opdrstatus(p_order, p_min_fac_tracking_datum_ordupd){ // 1. een flexprop "onderbroken" (via api) - if (l_response.api_status_code == 1){ + 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 - 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"); + 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)