MARX#69956 Notities bij opdrachten naar de opdrachtgever

svn path=/Mareon/trunk/; revision=65225
This commit is contained in:
Marcel Bourseau
2024-06-19 14:20:37 +00:00
parent cf4fde2699
commit ae1e2793b4
2 changed files with 27 additions and 20 deletions

View File

@@ -743,8 +743,9 @@ function FACILITOR_2_Xtractor()
// 1.78 -- MARX#81877: Bij een fout in factuurkoppeling naar Viewpoint wordt de factuur toch verwerkt + MARX#81919 Veel timeouts op facturen richting Tobias 365 - NQ lijst + MARX#82680 Verwijderen van XML die door REMS wordt aangeboden,maar niet verwerkt kan worden
// 1.79 -- MARX#82415: Implementatie "Mijande Wonen" (Dynamic Empire van Zig/Cegeka) + MARX#83105 Tobias AX2012 -> T365 conversie met facturenstop + MARX#83688 Implementatie Bouwinvest / Schepvastgoed (Zig/Casix)
// 1.80 -- MARX#81606: Signaleren dat een opdracht gewijzigd is (VM000000566278), t.b.v. (alleen) AX2012 is aanpassing in SYNC nodig (AX2009 worden geen updates meer gedaan, alle andere ERPs verlopen via pushprincipe en doen het)
// 1.90 -- MARX#69956 Notities bij opdrachten naar de opdrachtgever
var G_Mareon_Adapter = "1.80";
var G_Mareon_Adapter = "1.90";
//MARX#56643: Test Haagwonen inkoopordernummer ontbreekt in Mareon ION001753
var G_new_date = new Date();

View File

@@ -224,6 +224,10 @@ function do_exec_opdrstatus(p_order, p_min_fac_tracking_datum_ordupd){
if (l_mld_opdr_opmerking == null){l_mld_opdr_opmerking = ""};
l_mld_opdr_opmerking = escapeXml(l_mld_opdr_opmerking);
var l_mld_opdr_notitie = p_order.mld_opdr_notitie; // eg "Is niet meer nodig, de vloerbedekking is weer goed.", deze kan null zijn!!
if (l_mld_opdr_notitie == null){l_mld_opdr_notitie = ""};
l_mld_opdr_notitie = escapeXml(l_mld_opdr_notitie);
//var l_fac_srtnotificatie_key = p_order.fac_srtnotificatie_key; // eg 264
var l_fac_srtnotificatie_code = p_order.fac_srtnotificatie_code; // eg "ORDRSM"
var l_mld_opdr_kosten = p_order.mld_opdr_kosten; // eg 0
@@ -245,37 +249,39 @@ function do_exec_opdrstatus(p_order, p_min_fac_tracking_datum_ordupd){
// Staat normaliter niet in de NQ, mocht die er toch in staan, dan kan die uit de queue verdwijnen...
l_response = {api_status_code: 1, api_status_message: "", api_response_message: ""};
break;
case "ORDNOB":
// Losse notitie, alleen sturen als er ook tekst is (uiteraard), er zijn ook ORDNOB's zonder tekst (notitie), omdat die tekst (notitie) is gehangen aan de status waarin de notitie is gemaakt (bv ORDACP, of ORDPLN etc).
// En ook alleen sturen als opdracht nog loopt, dwz niet afgesloten is, dus niet in status 1, 6, 7, 9
if (l_mld_opdr_notitie != "" && l_mld_statusopdr_key != 1 && l_mld_statusopdr_key != 6 && l_mld_statusopdr_key != 7 && l_mld_statusopdr_key != 9){
l_response = GEN_SetSupplierText(l_ax_company_id, l_mld_opdr_ordernr, l_mld_opdr_externnr, l_mld_opdr_notitie);
}
break;
case "ORDACP":
// Geaccepteerde opdracht
l_response = GEN_AcceptServiceTask(l_ax_company_id, l_woco_gln, l_lev_gln, l_mld_opdr_ordernr, l_mld_opdr_externnr, l_mld_opdr_opmerking);
l_response = GEN_AcceptServiceTask(l_ax_company_id, l_woco_gln, l_lev_gln, l_mld_opdr_ordernr, l_mld_opdr_externnr, l_mld_opdr_notitie);
break;
case "ORDUPD":
// Gewijzigde opdracht, kan zijn:
// 1. opmerking, of
// 2. een flexprop "onderbroken" (via api) of
// 3. bijlage(n).
// Gewijzigde opdracht, kan zijn:
// 1. een flexprop "onderbroken" (via api) of
// 2. bijlage(n).
//Default gaan we ervan uit dat de response goed gaat/is, en dus de notify uit de queue kan...
l_response = {api_status_code: 1, api_status_message: "", api_response_message: ""};
// 1. opmerking
if (l_mld_opdr_opmerking != ""){
l_response = GEN_SetSupplierText(l_ax_company_id, l_mld_opdr_ordernr, l_mld_opdr_externnr, l_mld_opdr_opmerking);
}
// 2. een flexprop "onderbroken" (via api)
if (l_response.api_status_code == 1){
// Communciatie vorige GEN_SetSupplierText is goed verlopen
// 1. een flexprop "onderbroken" (via api)
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_opmerking, "-1");
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");
}
}
// 3. bijlage(n)
// 2. bijlage(n)
if (l_response.api_status_code == 1){
// Communciatie vorige GEN_SetSupplierText en/of GEN_OnderbreekServiceTask is goed verlopen
// Communicatie vorige GEN_OnderbreekServiceTask is goed verlopen
if (G_mar_sync_bijlages_naar_opdrgvr != '0'){
if (AX_or_Tobias() == "F" || AX_or_Tobias() == "A" || AX_or_Tobias() == "A12" || AX_or_Tobias() == "A365"){
// Alleen in geval van Facilitor, AX2009 of AX2012, of AX365
@@ -300,7 +306,7 @@ function do_exec_opdrstatus(p_order, p_min_fac_tracking_datum_ordupd){
case "ORDPLD":
// Gewijzigde Start Plandatum bij opdracht
if (l_mld_opdr_plandatum != ""){
l_response = GEN_PlanServiceTask(l_ax_company_id, l_woco_gln, l_lev_gln, l_mld_opdr_ordernr, l_mld_opdr_externnr, l_mld_opdr_opmerking, l_mld_opdr_plandatum);
l_response = GEN_PlanServiceTask(l_ax_company_id, l_woco_gln, l_lev_gln, l_mld_opdr_ordernr, l_mld_opdr_externnr, l_mld_opdr_notitie, l_mld_opdr_plandatum);
}
else{
// Uit de NQ halen
@@ -311,7 +317,7 @@ function do_exec_opdrstatus(p_order, p_min_fac_tracking_datum_ordupd){
case "ORDPL2":
// Gewijzigde Eind Plandatum bij opdracht
if (l_mld_opdr_plandatum2 != ""){
l_response = GEN_VerlengServiceTask(l_ax_company_id, l_woco_gln, l_lev_gln, l_mld_opdr_ordernr, "VER", l_mld_opdr_externnr, l_mld_opdr_opmerking, l_mld_opdr_plandatum2);
l_response = GEN_VerlengServiceTask(l_ax_company_id, l_woco_gln, l_lev_gln, l_mld_opdr_ordernr, "VER", l_mld_opdr_externnr, l_mld_opdr_notitie, l_mld_opdr_plandatum2);
}
else{
// Uit de NQ halen
@@ -321,12 +327,12 @@ function do_exec_opdrstatus(p_order, p_min_fac_tracking_datum_ordupd){
case "ORDHLT":
// Opdracht is onderbroken
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_opmerking, "-1");
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");
break;
case "ORDRSM":
// Opdracht is in uitvoering gezet
l_response = GEN_UitvoeringServiceTask_ResetOnderbreek(l_mld_opdr_key, l_ax_company_id, l_woco_gln, l_lev_gln, l_mld_opdr_ordernr, "UIT", l_mld_opdr_externnr, l_mld_opdr_opmerking, "-1");
l_response = GEN_UitvoeringServiceTask_ResetOnderbreek(l_mld_opdr_key, l_ax_company_id, l_woco_gln, l_lev_gln, l_mld_opdr_ordernr, "UIT", l_mld_opdr_externnr, l_mld_opdr_notitie, "-1");
break;
case "ORDCAN":