From dcbd037b22ea70c5f031b4eece5e3d42490285f9 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 23 Dec 2025 16:07:44 +0100 Subject: [PATCH 01/18] RDV --- RPtoRFX_CarrierAppointmentDefaultData.ftl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/RPtoRFX_CarrierAppointmentDefaultData.ftl b/RPtoRFX_CarrierAppointmentDefaultData.ftl index b773333..93b4aa7 100644 --- a/RPtoRFX_CarrierAppointmentDefaultData.ftl +++ b/RPtoRFX_CarrierAppointmentDefaultData.ftl @@ -2,8 +2,15 @@ <#-- Note : you can use Order Line Segmentation keys, using the define map : SegmentationKeys_Map --> <#-- How to use MD or SK map - Example : - <#assign owner_code = SegmentationKeys_Map["Owner"].String!""/> + <#if appointment.CarrierInformation??> + <#assign CarrierInformation_Map = JsonUtil.sequenceToMap(appointment.CarrierInformation, "Key", "Value") /> + <#if CarrierInformation_Map["Immatriculation"]??> + <#assign registration_number1 = CarrierInformation_Map["Immatriculation"].String!""/> + "registration_number":"${registration_number1}", + <#else> + "registration_number":"no plate number", + + If your SK is : Boolean : .Bool From 9c22f7786faf64b523bae32c76bdaf514e1d79ee Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Fri, 2 Jan 2026 09:30:45 +0100 Subject: [PATCH 02/18] RDV --- RFXtoRP_HsaLstCarSta_CarrierArrived.ftl | 2 +- RFXtoRP_HsaLstCarSta_CarrierDeparted.ftl | 2 +- RFXtoRP_HsaLstCarSta_CarrierExpected.ftl | 2 +- RFXtoRP_HsaLstCarSta_LoadingCompleted.ftl | 2 +- RFXtoRP_HsaLstCarSta_LoadingStarted.ftl | 2 +- RFXtoRP_HsaLstCarSta_UnloadingCompleted.ftl | 2 +- RFXtoRP_HsaLstCarSta_UnloadingStarted.ftl | 2 +- RFXtoRP_HsrCarrierApt.ftl | 7 +++++- ...rierApt_AppointmentCustomFieldsUpdated.ftl | 20 ++++++++++------- ..._AppointmentMetadataUpdatedToConfigure.ftl | 22 +++++++++++-------- RFXtoRP_HsrCarrierApt_CarrierArrived.ftl | 16 ++++++++++---- RFXtoRP_HsrCarrierApt_CarrierDeparted.ftl | 16 ++++++++++---- RFXtoRP_HsrCarrierApt_LoadingCompleted.ftl | 16 ++++++++++---- RFXtoRP_HsrCarrierApt_LoadingStarted.ftl | 16 ++++++++++---- ...HsrCarrierApt_SiteForceBookAppointment.ftl | 20 ++++++++++------- RFXtoRP_HsrCarrierApt_UnloadingCompleted.ftl | 16 ++++++++++---- RFXtoRP_HsrCarrierApt_UnloadingStarted.ftl | 16 ++++++++++---- RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl | 16 +++++++++----- ...RP_HsrCarrierApt_UpdateSlotAppointment.ftl | 16 +++++++++----- ...RestResponseAppointmentAllocationError.ftl | 22 +++++++++++++++++++ ...RFX_CarrierAppointmentCancellationCode.ftl | 2 +- RPtoRFX_CarrierAppointmentCreated.ftl | 4 ---- 22 files changed, 165 insertions(+), 74 deletions(-) create mode 100644 RFXtoRP_RestResponseAppointmentAllocationError.ftl diff --git a/RFXtoRP_HsaLstCarSta_CarrierArrived.ftl b/RFXtoRP_HsaLstCarSta_CarrierArrived.ftl index 256ab68..bf31116 100644 --- a/RFXtoRP_HsaLstCarSta_CarrierArrived.ftl +++ b/RFXtoRP_HsaLstCarSta_CarrierArrived.ftl @@ -8,7 +8,7 @@ <#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !=""> "RefID": "${carrier_apt_status.appointment_reference?json_string}", <#else> - "RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}", + "RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}", "RefDate": { "DateTime": "${ref_datetime}", diff --git a/RFXtoRP_HsaLstCarSta_CarrierDeparted.ftl b/RFXtoRP_HsaLstCarSta_CarrierDeparted.ftl index c39c0c3..dc4ed53 100644 --- a/RFXtoRP_HsaLstCarSta_CarrierDeparted.ftl +++ b/RFXtoRP_HsaLstCarSta_CarrierDeparted.ftl @@ -8,7 +8,7 @@ <#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !=""> "RefID": "${carrier_apt_status.appointment_reference?json_string}", <#else> - "RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}", + "RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}", "RefDate": { "DateTime": "${ref_datetime}", diff --git a/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl b/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl index c39c0c3..dc4ed53 100644 --- a/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl +++ b/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl @@ -8,7 +8,7 @@ <#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !=""> "RefID": "${carrier_apt_status.appointment_reference?json_string}", <#else> - "RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}", + "RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}", "RefDate": { "DateTime": "${ref_datetime}", diff --git a/RFXtoRP_HsaLstCarSta_LoadingCompleted.ftl b/RFXtoRP_HsaLstCarSta_LoadingCompleted.ftl index c39c0c3..dc4ed53 100644 --- a/RFXtoRP_HsaLstCarSta_LoadingCompleted.ftl +++ b/RFXtoRP_HsaLstCarSta_LoadingCompleted.ftl @@ -8,7 +8,7 @@ <#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !=""> "RefID": "${carrier_apt_status.appointment_reference?json_string}", <#else> - "RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}", + "RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}", "RefDate": { "DateTime": "${ref_datetime}", diff --git a/RFXtoRP_HsaLstCarSta_LoadingStarted.ftl b/RFXtoRP_HsaLstCarSta_LoadingStarted.ftl index c39c0c3..dc4ed53 100644 --- a/RFXtoRP_HsaLstCarSta_LoadingStarted.ftl +++ b/RFXtoRP_HsaLstCarSta_LoadingStarted.ftl @@ -8,7 +8,7 @@ <#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !=""> "RefID": "${carrier_apt_status.appointment_reference?json_string}", <#else> - "RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}", + "RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}", "RefDate": { "DateTime": "${ref_datetime}", diff --git a/RFXtoRP_HsaLstCarSta_UnloadingCompleted.ftl b/RFXtoRP_HsaLstCarSta_UnloadingCompleted.ftl index c39c0c3..dc4ed53 100644 --- a/RFXtoRP_HsaLstCarSta_UnloadingCompleted.ftl +++ b/RFXtoRP_HsaLstCarSta_UnloadingCompleted.ftl @@ -8,7 +8,7 @@ <#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !=""> "RefID": "${carrier_apt_status.appointment_reference?json_string}", <#else> - "RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}", + "RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}", "RefDate": { "DateTime": "${ref_datetime}", diff --git a/RFXtoRP_HsaLstCarSta_UnloadingStarted.ftl b/RFXtoRP_HsaLstCarSta_UnloadingStarted.ftl index c39c0c3..3b8b98e 100644 --- a/RFXtoRP_HsaLstCarSta_UnloadingStarted.ftl +++ b/RFXtoRP_HsaLstCarSta_UnloadingStarted.ftl @@ -8,7 +8,7 @@ <#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !=""> "RefID": "${carrier_apt_status.appointment_reference?json_string}", <#else> - "RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}", + "RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}", "RefDate": { "DateTime": "${ref_datetime}", diff --git a/RFXtoRP_HsrCarrierApt.ftl b/RFXtoRP_HsrCarrierApt.ftl index 0a7bf34..f3066d3 100644 --- a/RFXtoRP_HsrCarrierApt.ftl +++ b/RFXtoRP_HsrCarrierApt.ftl @@ -23,13 +23,18 @@ "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl"> - }, + } + <#if carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-") || carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-") || carrier_apt.planned_load_start_datetime?starts_with("00") || carrier_apt.planned_load_start_datetime?contains("-00-") || carrier_apt.planned_unloading_end_datetime?starts_with("00") || carrier_apt.planned_unloading_end_datetime?contains("-00-") > + <#stop "planned date time fields of appointmend are not initialized" > + <#else> + , { <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCustomFieldsUpdated> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl"> } + ] <#break> <#case "U"> diff --git a/RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl b/RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl index 4cd5972..21f408b 100644 --- a/RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl +++ b/RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl @@ -5,14 +5,18 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "RefID": "${carrier_apt.appointment_reference?json_string}", - <#else> - <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> - "RefID": "${carrier_apt.appointment_reference?json_string}${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", - <#else> - "RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", - + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + + <#else> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + "RefDate": { "DateTime": "${ref_datetime}", diff --git a/RFXtoRP_HsrCarrierApt_AppointmentMetadataUpdatedToConfigure.ftl b/RFXtoRP_HsrCarrierApt_AppointmentMetadataUpdatedToConfigure.ftl index 81fefce..f746294 100644 --- a/RFXtoRP_HsrCarrierApt_AppointmentMetadataUpdatedToConfigure.ftl +++ b/RFXtoRP_HsrCarrierApt_AppointmentMetadataUpdatedToConfigure.ftl @@ -5,15 +5,19 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "RefID": "${carrier_apt.appointment_reference?json_string}", - <#else> - <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> - "RefID": "${carrier_apt.appointment_reference?json_string}${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", - <#else> - "RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", - - + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + + <#else> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + + } "Payload": { "ActorID": "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", diff --git a/RFXtoRP_HsrCarrierApt_CarrierArrived.ftl b/RFXtoRP_HsrCarrierApt_CarrierArrived.ftl index afdefe6..1cd5974 100644 --- a/RFXtoRP_HsrCarrierApt_CarrierArrived.ftl +++ b/RFXtoRP_HsrCarrierApt_CarrierArrived.ftl @@ -5,11 +5,19 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !=""> - "RefID": "${carrier_apt.appointment_reference?json_string}", + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> - "RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}", - + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + + "RefDate": { "DateTime": "${ref_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsrCarrierApt_CarrierDeparted.ftl b/RFXtoRP_HsrCarrierApt_CarrierDeparted.ftl index afdefe6..6c93825 100644 --- a/RFXtoRP_HsrCarrierApt_CarrierDeparted.ftl +++ b/RFXtoRP_HsrCarrierApt_CarrierDeparted.ftl @@ -5,11 +5,19 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !=""> - "RefID": "${carrier_apt.appointment_reference?json_string}", + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> - "RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}", - + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + + "RefDate": { "DateTime": "${ref_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsrCarrierApt_LoadingCompleted.ftl b/RFXtoRP_HsrCarrierApt_LoadingCompleted.ftl index afdefe6..6c93825 100644 --- a/RFXtoRP_HsrCarrierApt_LoadingCompleted.ftl +++ b/RFXtoRP_HsrCarrierApt_LoadingCompleted.ftl @@ -5,11 +5,19 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !=""> - "RefID": "${carrier_apt.appointment_reference?json_string}", + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> - "RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}", - + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + + "RefDate": { "DateTime": "${ref_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsrCarrierApt_LoadingStarted.ftl b/RFXtoRP_HsrCarrierApt_LoadingStarted.ftl index afdefe6..1cd5974 100644 --- a/RFXtoRP_HsrCarrierApt_LoadingStarted.ftl +++ b/RFXtoRP_HsrCarrierApt_LoadingStarted.ftl @@ -5,11 +5,19 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !=""> - "RefID": "${carrier_apt.appointment_reference?json_string}", + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> - "RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}", - + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + + "RefDate": { "DateTime": "${ref_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl b/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl index 34d6cf6..e160a77 100644 --- a/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl @@ -4,13 +4,17 @@ "ProjectID": "${projectRP}" }, "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "AppointmentID": "${carrier_apt.appointment_reference?json_string}", - <#else> - <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> - "AppointmentID": "${carrier_apt.physical_depot?json_string}${carrier_apt.appointment_reference?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> <#else> - "AppointmentID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + + <#else> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", "TimeZone":"${time_zone_rfx}", @@ -101,12 +105,12 @@ } ], <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> - "Reason": "LOAD AND UNLOADING / ${carrier_apt.appointment_designation?json_string}", + "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", <#else> <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> "Reason": "${carrier_apt.appointment_designation?json_string}", <#else> - "Reason": "No commission", + "Reason": "${carrier_apt.appointment_reference?json_string}", diff --git a/RFXtoRP_HsrCarrierApt_UnloadingCompleted.ftl b/RFXtoRP_HsrCarrierApt_UnloadingCompleted.ftl index afdefe6..1cd5974 100644 --- a/RFXtoRP_HsrCarrierApt_UnloadingCompleted.ftl +++ b/RFXtoRP_HsrCarrierApt_UnloadingCompleted.ftl @@ -5,11 +5,19 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !=""> - "RefID": "${carrier_apt.appointment_reference?json_string}", + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> - "RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}", - + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + + "RefDate": { "DateTime": "${ref_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsrCarrierApt_UnloadingStarted.ftl b/RFXtoRP_HsrCarrierApt_UnloadingStarted.ftl index afdefe6..1cd5974 100644 --- a/RFXtoRP_HsrCarrierApt_UnloadingStarted.ftl +++ b/RFXtoRP_HsrCarrierApt_UnloadingStarted.ftl @@ -5,11 +5,19 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !=""> - "RefID": "${carrier_apt.appointment_reference?json_string}", + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + <#else> - "RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}", - + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + + "RefDate": { "DateTime": "${ref_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl index 8e424ff..28fac14 100644 --- a/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl @@ -5,13 +5,17 @@ "Header":{ "ProjectID": "${projectRP}" }, - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "AppointmentID": "${carrier_apt.appointment_reference?json_string}", - <#else> - <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> - "AppointmentID": "${carrier_apt.appointment_reference?json_string}${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> <#else> - "AppointmentID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + + <#else> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false"> diff --git a/RFXtoRP_HsrCarrierApt_UpdateSlotAppointment.ftl b/RFXtoRP_HsrCarrierApt_UpdateSlotAppointment.ftl index 4c5b120..b8a1d02 100644 --- a/RFXtoRP_HsrCarrierApt_UpdateSlotAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_UpdateSlotAppointment.ftl @@ -4,13 +4,17 @@ "Header":{ "ProjectID": "${projectRP}" }, - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "AppointmentID": "${carrier_apt.appointment_reference?json_string}", - <#else> - <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> - "AppointmentID": "${carrier_apt.appointment_reference?json_string}${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", + <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> <#else> - "AppointmentID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + + <#else> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + <#else> + "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", diff --git a/RFXtoRP_RestResponseAppointmentAllocationError.ftl b/RFXtoRP_RestResponseAppointmentAllocationError.ftl new file mode 100644 index 0000000..adb7b86 --- /dev/null +++ b/RFXtoRP_RestResponseAppointmentAllocationError.ftl @@ -0,0 +1,22 @@ +<#include "HfRpConfig.ftl"> +<#include "ReflexUtils.ftl"> + +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + "RefID": "${id.refid!"no RefID"?trim?json_string}", + "RefDate": { + "DateTime": "${aDateTime?iso_utc}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + + "Payload": { + "ActorID": + } + + } +] diff --git a/RPtoRFX_CarrierAppointmentCancellationCode.ftl b/RPtoRFX_CarrierAppointmentCancellationCode.ftl index 79d6747..c9262b8 100644 --- a/RPtoRFX_CarrierAppointmentCancellationCode.ftl +++ b/RPtoRFX_CarrierAppointmentCancellationCode.ftl @@ -1,2 +1,2 @@ -<#-- To custom with cancellation reason code--> +<#-- To custom with cancellation reason code, the reason code must be cancellation type--> "cancellation_reason_code": "" \ No newline at end of file diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index 01ab606..7911b33 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -56,11 +56,7 @@ <#else> <#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING"> - <#if appointment.Commissions[0].OrderID ?? && appointment.Commissions[0].OrderID!=""> - "appointment_designation":"LOADING", - <#else> "appointment_designation":"${(appointment.Reason!"")?json_string}", - From 808b2072ce2e638103f14430a20f12e3c48ce18f Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 5 Jan 2026 14:55:37 +0100 Subject: [PATCH 03/18] RDV --- RFXtoRP_RestResponse.ftl | 48 ++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/RFXtoRP_RestResponse.ftl b/RFXtoRP_RestResponse.ftl index 9407ca8..a37314d 100644 --- a/RFXtoRP_RestResponse.ftl +++ b/RFXtoRP_RestResponse.ftl @@ -212,10 +212,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] <#break> @@ -239,10 +239,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] @@ -261,10 +261,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] @@ -287,10 +287,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] <#break> @@ -314,10 +314,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] @@ -336,10 +336,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] @@ -362,10 +362,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] <#break> @@ -389,10 +389,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] @@ -411,10 +411,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] @@ -437,10 +437,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] <#break> @@ -464,10 +464,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] @@ -486,10 +486,10 @@ <#include "RFXtoRP_PlatformLogCreate.ftl"> }, { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError> + <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_RestResponseAllocationError.ftl"> + <#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl"> } ] From 3a14a46b18ba28b686933dc1888a999775d2b8cd Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 5 Jan 2026 15:41:23 +0100 Subject: [PATCH 04/18] RDV --- RFXtoRP_RestResponseAppointmentAllocationError.ftl | 2 +- ...RFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl | 2 +- RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/RFXtoRP_RestResponseAppointmentAllocationError.ftl b/RFXtoRP_RestResponseAppointmentAllocationError.ftl index adb7b86..6ea19a0 100644 --- a/RFXtoRP_RestResponseAppointmentAllocationError.ftl +++ b/RFXtoRP_RestResponseAppointmentAllocationError.ftl @@ -15,7 +15,7 @@ }, "Payload": { - "ActorID": + "ActorID":"${RFXtoRPprefixDepot(id.actorID)?trim?json_string}" } } diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl index fd9e237..7fa69f7 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl @@ -1,5 +1,5 @@ { - "id" : {"refid" : "${eventRP.refid?json_string}"}, + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, "route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}/physical_receipt_associations", "method" : "POST", "uri_substitutions": { diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl index 223b1cb..924f854 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl @@ -1,5 +1,5 @@ { - "id" : {"refid" : "${eventRP.refid?json_string}"}, + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, "route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}/physical_receipt_associations", "method" : "POST", "uri_substitutions": { From d4a389737e98a958ca8e953105cc5ab10b63db4e Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 5 Jan 2026 15:44:34 +0100 Subject: [PATCH 05/18] RDV --- RFXtoRP_RestResponse.ftl | 1 + 1 file changed, 1 insertion(+) diff --git a/RFXtoRP_RestResponse.ftl b/RFXtoRP_RestResponse.ftl index a37314d..9440174 100644 --- a/RFXtoRP_RestResponse.ftl +++ b/RFXtoRP_RestResponse.ftl @@ -7,6 +7,7 @@ <#assign id = JsonUtil.jsonToMap(restResponsetMsg.id!"{}")> <#assign projectRP = project> <#assign organisationRP = organisation> +<#include "ActorPrefix.ftl"> <#assign aDateTime = .now> From 2987a4fb38c7f6edc49d89386ac90abb93ad0669 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 5 Jan 2026 15:58:24 +0100 Subject: [PATCH 06/18] RDV --- RFXtoRP_RestResponse.ftl | 1 - RFXtoRP_RestResponseAppointmentAllocationError.ftl | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/RFXtoRP_RestResponse.ftl b/RFXtoRP_RestResponse.ftl index 9440174..a37314d 100644 --- a/RFXtoRP_RestResponse.ftl +++ b/RFXtoRP_RestResponse.ftl @@ -7,7 +7,6 @@ <#assign id = JsonUtil.jsonToMap(restResponsetMsg.id!"{}")> <#assign projectRP = project> <#assign organisationRP = organisation> -<#include "ActorPrefix.ftl"> <#assign aDateTime = .now> diff --git a/RFXtoRP_RestResponseAppointmentAllocationError.ftl b/RFXtoRP_RestResponseAppointmentAllocationError.ftl index 6ea19a0..c21fc3f 100644 --- a/RFXtoRP_RestResponseAppointmentAllocationError.ftl +++ b/RFXtoRP_RestResponseAppointmentAllocationError.ftl @@ -1,6 +1,6 @@ <#include "HfRpConfig.ftl"> <#include "ReflexUtils.ftl"> - +<#include "ActorPrefix.ftl"> [ { "Header": { From 2e3cd66843b242d90e94d0c4a8c027dad5471ebb Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 5 Jan 2026 16:05:59 +0100 Subject: [PATCH 07/18] RDV --- RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl b/RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl index 21f408b..a9aa061 100644 --- a/RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl +++ b/RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl @@ -7,15 +7,15 @@ "ID": { <#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true"> <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + "RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> <#else> - "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> + "RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo --> <#else> <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "AppointmentID": "${carrier_apt.appointment_reference?json_string}", + "RefID": "${carrier_apt.appointment_reference?json_string}", <#else> - "AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + "RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", "RefDate": { From e6cd04b6bf6e59722a52aaed9fe20a11ef1c7627 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 5 Jan 2026 16:37:45 +0100 Subject: [PATCH 08/18] RDV --- RFXtoRP_HsrCarrierApt.ftl | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt.ftl b/RFXtoRP_HsrCarrierApt.ftl index f3066d3..812bbdd 100644 --- a/RFXtoRP_HsrCarrierApt.ftl +++ b/RFXtoRP_HsrCarrierApt.ftl @@ -23,11 +23,7 @@ "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl"> - } - <#if carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-") || carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-") || carrier_apt.planned_load_start_datetime?starts_with("00") || carrier_apt.planned_load_start_datetime?contains("-00-") || carrier_apt.planned_unloading_end_datetime?starts_with("00") || carrier_apt.planned_unloading_end_datetime?contains("-00-") > - <#stop "planned date time fields of appointmend are not initialized" > - <#else> - , + }, { <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCustomFieldsUpdated> "apiReflexPlatformID" : "${apiReflexPlatformID}", From ec76673e95049e04ba484d5726c61bdbbb9b20fd Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 5 Jan 2026 16:40:32 +0100 Subject: [PATCH 09/18] RDV --- RFXtoRP_HsrCarrierApt.ftl | 1 - 1 file changed, 1 deletion(-) diff --git a/RFXtoRP_HsrCarrierApt.ftl b/RFXtoRP_HsrCarrierApt.ftl index 812bbdd..0a7bf34 100644 --- a/RFXtoRP_HsrCarrierApt.ftl +++ b/RFXtoRP_HsrCarrierApt.ftl @@ -30,7 +30,6 @@ "datas" : <#include "RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl"> } - ] <#break> <#case "U"> From 955928a754b7e5901b43135c111ba940242e2286 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 5 Jan 2026 17:23:25 +0100 Subject: [PATCH 10/18] RDV --- RFXtoRP_HsrCarrierApt.ftl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/RFXtoRP_HsrCarrierApt.ftl b/RFXtoRP_HsrCarrierApt.ftl index 0a7bf34..df68af9 100644 --- a/RFXtoRP_HsrCarrierApt.ftl +++ b/RFXtoRP_HsrCarrierApt.ftl @@ -23,13 +23,18 @@ "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl"> - }, + } + <#if (carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false" && (carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-") || carrier_apt.planned_unloading_end_datetime?starts_with("00") || carrier_apt.planned_unloading_end_datetime?contains("-00-"))) || (carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true" && (carrier_apt.planned_load_start_datetime?starts_with("00") || carrier_apt.planned_load_start_datetime?contains("-00-") || carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-"))) || (carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true" && (carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-") || carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-")))> + <#stop "One of the datetime fields of appointment is not initialized" > + <#else> + , { <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCustomFieldsUpdated> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl"> } + ] <#break> <#case "U"> From 706c73a530275795e151b6f99154231aecccf694 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 6 Jan 2026 14:37:00 +0100 Subject: [PATCH 11/18] RDV --- RPtoRFX_AppointmentEvent.ftl | 54 +++++++++++++------ ...mentPhysicalReceiptAssociationByNumber.ftl | 20 +++---- ...intmentPhysicalReceiptAssociationByRef.ftl | 10 +--- ...entPhysicalReceiptDissociationByNumber.ftl | 30 +++++++++++ ...ntmentPhysicalReceiptDissociationByRef.ftl | 29 ++++++++++ 5 files changed, 106 insertions(+), 37 deletions(-) create mode 100644 RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl create mode 100644 RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl diff --git a/RPtoRFX_AppointmentEvent.ftl b/RPtoRFX_AppointmentEvent.ftl index 0ee48cc..76603fa 100644 --- a/RPtoRFX_AppointmentEvent.ftl +++ b/RPtoRFX_AppointmentEvent.ftl @@ -26,25 +26,45 @@ <#-- *********************************************** Action = CommissionsUpdated ******************** --> <#case "CommissionsUpdated"> <#assign appointment = eventRP.data /> - [ - <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.value?? && l.value?has_content) as commission> - <#if eventRP.appointmentCustomFields?has_content> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_number> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl"> - } + [ <#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING"> + <#if eventRP.addedCommissions?? && eventRP.addedCommissions!=""> + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl"> + } + <#else> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_ref> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl"> + } + <#else> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_ref> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl"> - } + <#if eventRP.removedCommissions?? && eventRP.removedCommissions!=""> + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl"> + } + <#else> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_ref> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl"> + } + + + + <#else> + <#stop "Unsupported Appointment Type for Commissions Update"> - <#sep>, - ] <#break> <#-- *********************************************** Action = SlotUpdated ******************** --> diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl index 7fa69f7..54e740b 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl @@ -9,22 +9,18 @@ }, "payload" : { - <#if appointment.Commissions??> - <#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING"> + <#list eventRP.addedCommissions as addedCommission> + <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.value?? && l.value?has_content) as CustomFields> + "physical_receipt_list": [ { - "receipt_activity": "${commission.value.activity_code?json_string}", - "originator_code": "${commission.value.originator_code?json_string}", - "physical_receipt_reference": "${commission.value.reference?json_string}", - "receipt_year": "${commission.value.order_year?json_string}", - "receipt_number": "${commission.value.order_number?json_string}" + "receipt_activity": "${CustomFields.value.activity_code?json_string}", + "originator_code": "${CustomFields.value.originator_code?json_string}", + "physical_receipt_reference": "${CustomFields.value.reference?json_string}", + "receipt_year": "${CustomFields.value.order_year?json_string}", + "receipt_number": "${CustomFields.value.order_number?json_string}" } ] - <#else> - <#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING"> - "appointment_designation":"${appointment.Reason!""?json_string}" - - } } diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl index 924f854..42ffb38 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl @@ -8,8 +8,8 @@ }, "payload" : { - <#if appointment.Commissions??> - <#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING"> + <#list eventRP.addedCommissions as addedCommission> + <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.value?? && l.value?has_content) as CustomFields> "physical_receipt_list": [ { "receipt_activity": "${commission.value.activity_code?json_string}", @@ -19,11 +19,5 @@ "receipt_number": "${commission.value.order_number?json_string}" } ] - <#else> - <#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING"> - "appointment_designation":"${appointment.Reason!""?json_string}" - - - } } diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl new file mode 100644 index 0000000..bc57059 --- /dev/null +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl @@ -0,0 +1,30 @@ +{ + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, + "route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}/physical_receipt_dissociations", + "method" : "POST", + "uri_substitutions": { + "physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}", + "appointment_year":"${eventRP.appointmentCustomFields.year?json_string}", + "appointment_number":"${eventRP.appointmentCustomFields.number?json_string}" + }, + "payload" : + { + <#if appointment.Commissions??> + <#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING"> + "physical_receipt_list": [ + { + "receipt_activity": "${commission.value.activity_code?json_string}", + "originator_code": "${commission.value.originator_code?json_string}", + "physical_receipt_reference": "${commission.value.reference?json_string}", + "receipt_year": "${commission.value.order_year?json_string}", + "receipt_number": "${commission.value.order_number?json_string}" + } + ] + <#else> + <#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING"> + "appointment_designation":"${appointment.Reason!""?json_string}" + + + + } + } diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl new file mode 100644 index 0000000..34b7ed5 --- /dev/null +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl @@ -0,0 +1,29 @@ +{ + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, + "route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}/physical_receipt_dissociations", + "method" : "POST", + "uri_substitutions": { + "physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}", + "appointment_reference":"${eventRP.refid?json_string}" + }, + "payload" : + { + <#if appointment.Commissions??> + <#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING"> + "physical_receipt_list": [ + { + "receipt_activity": "${commission.value.activity_code?json_string}", + "originator_code": "${commission.value.originator_code?json_string}", + "physical_receipt_reference": "${commission.value.reference?json_string}", + "receipt_year": "${commission.value.order_year?json_string}", + "receipt_number": "${commission.value.order_number?json_string}" + } + ] + <#else> + <#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING"> + "appointment_designation":"${appointment.Reason!""?json_string}" + + + + } + } From e7c3154c56ce198f2b0ac32f8af52d22873af596 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Tue, 6 Jan 2026 14:53:53 +0100 Subject: [PATCH 12/18] SCPN1-9905 --- ...tmentPhysicalReceiptAssociationByNumber.ftl | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl index 54e740b..ab13261 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl @@ -9,17 +9,19 @@ }, "payload" : { - <#list eventRP.addedCommissions as addedCommission> - <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.value?? && l.value?has_content) as CustomFields> - + <#assign executionflowCustomFields = eventRP.executionflowCustomFields > "physical_receipt_list": [ + <#list addedCommissions as addedCommission> + { - "receipt_activity": "${CustomFields.value.activity_code?json_string}", - "originator_code": "${CustomFields.value.originator_code?json_string}", - "physical_receipt_reference": "${CustomFields.value.reference?json_string}", - "receipt_year": "${CustomFields.value.order_year?json_string}", - "receipt_number": "${CustomFields.value.order_number?json_string}" + "receipt_activity": "${executionflowCustomFields[addedCommission.ExecutionflowID].activity_code?json_string}", + "originator_code": "${executionflowCustomFields[addedCommission.ExecutionflowID].originator_code?json_string}", + "physical_receipt_reference": "${executionflowCustomFields[addedCommission.ExecutionflowID].reference?json_string}", + "receipt_year": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_year?json_string}", + "receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}" } + <#sep>, + ] } From b1c46cd0f1ba1f7c3abc0584ea24841aa6c3c237 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 6 Jan 2026 16:29:08 +0100 Subject: [PATCH 13/18] RDV --- RPtoRFX_AppointmentEvent.ftl | 33 +++++++++---------- ...mentPhysicalReceiptAssociationByNumber.ftl | 28 ++++++++-------- ...intmentPhysicalReceiptAssociationByRef.ftl | 22 +++++++------ ...entPhysicalReceiptDissociationByNumber.ftl | 30 ++++++++--------- ...ntmentPhysicalReceiptDissociationByRef.ftl | 30 ++++++++--------- 5 files changed, 67 insertions(+), 76 deletions(-) diff --git a/RPtoRFX_AppointmentEvent.ftl b/RPtoRFX_AppointmentEvent.ftl index 76603fa..2c88da1 100644 --- a/RPtoRFX_AppointmentEvent.ftl +++ b/RPtoRFX_AppointmentEvent.ftl @@ -43,23 +43,22 @@ <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl"> } - <#else> - <#if eventRP.removedCommissions?? && eventRP.removedCommissions!=""> - <#if eventRP.appointmentCustomFields?has_content> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_number> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl"> - } - <#else> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_ref> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl"> - } - + + <#if eventRP.removedCommissions?? && eventRP.removedCommissions!=""> + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl"> + } + <#else> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_ref> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl"> + } <#else> diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl index ab13261..39f9177 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl @@ -9,20 +9,18 @@ }, "payload" : { - <#assign executionflowCustomFields = eventRP.executionflowCustomFields > - "physical_receipt_list": [ - <#list addedCommissions as addedCommission> - - { - "receipt_activity": "${executionflowCustomFields[addedCommission.ExecutionflowID].activity_code?json_string}", - "originator_code": "${executionflowCustomFields[addedCommission.ExecutionflowID].originator_code?json_string}", - "physical_receipt_reference": "${executionflowCustomFields[addedCommission.ExecutionflowID].reference?json_string}", - "receipt_year": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_year?json_string}", - "receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}" - } - <#sep>, - - ] - + <#assign executionflowCustomFields = eventRP.executionflowCustomFields > + "physical_receipt_list": [ + <#list eventRP.addedCommissions as addedCommission> + { + "receipt_activity": "${executionflowCustomFields[addedCommission.ExecutionflowID].activity_code?json_string}", + "originator_code": "${executionflowCustomFields[addedCommission.ExecutionflowID].originator_code?json_string}", + "physical_receipt_reference": "${executionflowCustomFields[addedCommission.ExecutionflowID].reference?json_string}", + "receipt_year": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_year?json_string}", + "receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}" + } + <#sep>, + + ] } } diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl index 42ffb38..333c8a0 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl @@ -8,16 +8,18 @@ }, "payload" : { + <#assign executionflowCustomFields = eventRP.executionflowCustomFields > + "physical_receipt_list": [ <#list eventRP.addedCommissions as addedCommission> - <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.value?? && l.value?has_content) as CustomFields> - "physical_receipt_list": [ - { - "receipt_activity": "${commission.value.activity_code?json_string}", - "originator_code": "${commission.value.originator_code?json_string}", - "physical_receipt_reference": "${commission.value.reference?json_string}", - "receipt_year": "${commission.value.order_year?json_string}", - "receipt_number": "${commission.value.order_number?json_string}" - } - ] + { + "receipt_activity": "${executionflowCustomFields[addedCommission.ExecutionflowID].activity_code?json_string}", + "originator_code": "${executionflowCustomFields[addedCommission.ExecutionflowID].originator_code?json_string}", + "physical_receipt_reference": "${executionflowCustomFields[addedCommission.ExecutionflowID].reference?json_string}", + "receipt_year": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_year?json_string}", + "receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}" + } + <#sep>, + + ] } } diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl index bc57059..98a1e34 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl @@ -9,22 +9,18 @@ }, "payload" : { - <#if appointment.Commissions??> - <#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING"> - "physical_receipt_list": [ - { - "receipt_activity": "${commission.value.activity_code?json_string}", - "originator_code": "${commission.value.originator_code?json_string}", - "physical_receipt_reference": "${commission.value.reference?json_string}", - "receipt_year": "${commission.value.order_year?json_string}", - "receipt_number": "${commission.value.order_number?json_string}" - } - ] - <#else> - <#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING"> - "appointment_designation":"${appointment.Reason!""?json_string}" - - - + <#assign executionflowCustomFields = eventRP.executionflowCustomFields > + "physical_receipt_list": [ + <#list eventRP.removedCommissions as removedCommission> + { + "receipt_activity": "${executionflowCustomFields[removedCommission.ExecutionflowID].activity_code?json_string}", + "originator_code": "${executionflowCustomFields[removedCommission.ExecutionflowID].originator_code?json_string}", + "physical_receipt_reference": "${executionflowCustomFields[removedCommission.ExecutionflowID].reference?json_string}", + "receipt_year": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_year?json_string}", + "receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}" + } + <#sep>, + + ] } } diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl index 34b7ed5..ed11aad 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl @@ -8,22 +8,18 @@ }, "payload" : { - <#if appointment.Commissions??> - <#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING"> - "physical_receipt_list": [ - { - "receipt_activity": "${commission.value.activity_code?json_string}", - "originator_code": "${commission.value.originator_code?json_string}", - "physical_receipt_reference": "${commission.value.reference?json_string}", - "receipt_year": "${commission.value.order_year?json_string}", - "receipt_number": "${commission.value.order_number?json_string}" - } - ] - <#else> - <#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING"> - "appointment_designation":"${appointment.Reason!""?json_string}" - - - + <#assign executionflowCustomFields = eventRP.executionflowCustomFields > + "physical_receipt_list": [ + <#list eventRP.removedCommissions as removedCommission> + { + "receipt_activity": "${executionflowCustomFields[removedCommission.ExecutionflowID].activity_code?json_string}", + "originator_code": "${executionflowCustomFields[removedCommission.ExecutionflowID].originator_code?json_string}", + "physical_receipt_reference": "${executionflowCustomFields[removedCommission.ExecutionflowID].reference?json_string}", + "receipt_year": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_year?json_string}", + "receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}" + } + <#sep>, + + ] } } From 6b86a61015fd6e22533e9634a20ace02038b1082 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 6 Jan 2026 16:42:13 +0100 Subject: [PATCH 14/18] RDV --- ...FX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl | 2 +- RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl index 98a1e34..2a3e93c 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl @@ -17,7 +17,7 @@ "originator_code": "${executionflowCustomFields[removedCommission.ExecutionflowID].originator_code?json_string}", "physical_receipt_reference": "${executionflowCustomFields[removedCommission.ExecutionflowID].reference?json_string}", "receipt_year": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_year?json_string}", - "receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}" + "receipt_number": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_number?json_string}" } <#sep>, diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl index ed11aad..2cc8e4c 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl @@ -16,7 +16,7 @@ "originator_code": "${executionflowCustomFields[removedCommission.ExecutionflowID].originator_code?json_string}", "physical_receipt_reference": "${executionflowCustomFields[removedCommission.ExecutionflowID].reference?json_string}", "receipt_year": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_year?json_string}", - "receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}" + "receipt_number": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_number?json_string}" } <#sep>, From e2eb764e2ee76d6d68e68bbb362cb7712ec0771b Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Wed, 7 Jan 2026 09:08:13 +0100 Subject: [PATCH 15/18] RDV --- RFXtoRP_RestResponse.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/RFXtoRP_RestResponse.ftl b/RFXtoRP_RestResponse.ftl index a37314d..d374992 100644 --- a/RFXtoRP_RestResponse.ftl +++ b/RFXtoRP_RestResponse.ftl @@ -422,6 +422,8 @@ <#-- *********************************************** ApiRestID = appointment_post_physical_receipt_associations ******************** --> <#case "appointment_post_physical_receipt_associations_by_ref"> <#case "appointment_post_physical_receipt_associations_by_number"> + <#case "appointment_post_physical_receipt_dissociations_by_ref"> + <#case "appointment_post_physical_receipt_dissociations_by_number"> <#switch restResponsetMsg.status!no_status> <#case no_status> [ From 5006beed8c74215555c06f920aa78b0d112c1873 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Wed, 7 Jan 2026 11:50:10 +0100 Subject: [PATCH 16/18] RDV --- RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl | 1 + 1 file changed, 1 insertion(+) diff --git a/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl index 28fac14..c6d33b8 100644 --- a/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl @@ -56,6 +56,7 @@ "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + "TimeZone":"${time_zone_rfx}", "CustomFields": [ { "Key": "depot", From 9e8e20f6ce37315c79108ef4660d9b4082b76c02 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Wed, 7 Jan 2026 14:08:07 +0100 Subject: [PATCH 17/18] RDV --- ...HsrCarrierApt_SiteForceBookAppointment.ftl | 6 +++++- RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl | 21 ++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl b/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl index e160a77..cbe7549 100644 --- a/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl @@ -110,7 +110,11 @@ <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> "Reason": "${carrier_apt.appointment_designation?json_string}", <#else> - "Reason": "${carrier_apt.appointment_reference?json_string}", + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "Reason": "${carrier_apt.appointment_reference?json_string}", + <#else> + "Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + diff --git a/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl index c6d33b8..d9fb6f5 100644 --- a/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl @@ -95,7 +95,26 @@ ], <#else> - <#stop> + "Commissions": [ + { + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + "ProjectID": "${projectRP}", + <#include "RFXtoRP_HsrCarrierApt_Quantities.ftl"> + } + ], + <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> + "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", + <#else> + <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> + "Reason": "${carrier_apt.appointment_designation?json_string}", + <#else> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "Reason": "${carrier_apt.appointment_reference?json_string}", + <#else> + "Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + + + "Slots": [{ <#-- calcul de de la durée en fonction des start et end time--> From 6bdd925601f04174d15ab44a27148fec288ad097 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Wed, 7 Jan 2026 16:02:19 +0100 Subject: [PATCH 18/18] rdz --- RPtoRFX_CarrierAppointmentCanceledByNumber.ftl | 2 +- RPtoRFX_CarrierAppointmentCanceledByRef.ftl | 2 +- RPtoRFX_CarrierAppointmentCreated.ftl | 2 +- RPtoRFX_CarrierAppointmentSlotUpdatedByNumber.ftl | 2 +- RPtoRFX_CarrierAppointmentSlotUpdatedByRef.ftl | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/RPtoRFX_CarrierAppointmentCanceledByNumber.ftl b/RPtoRFX_CarrierAppointmentCanceledByNumber.ftl index 4431a3b..91a5e6c 100644 --- a/RPtoRFX_CarrierAppointmentCanceledByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentCanceledByNumber.ftl @@ -1,5 +1,5 @@ { - "id" : {"refid" : "${eventRP.refid?json_string}"}, + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, "route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}/status", "method" : "PUT", "uri_substitutions": { diff --git a/RPtoRFX_CarrierAppointmentCanceledByRef.ftl b/RPtoRFX_CarrierAppointmentCanceledByRef.ftl index 74d5a4e..f32cb7a 100644 --- a/RPtoRFX_CarrierAppointmentCanceledByRef.ftl +++ b/RPtoRFX_CarrierAppointmentCanceledByRef.ftl @@ -1,5 +1,5 @@ { - "id" : {"refid" : "${eventRP.refid?json_string}"}, + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, "route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}/status", "method" : "PUT", "uri_substitutions": { diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index 7911b33..a6ce97d 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -1,5 +1,5 @@ { - "id" : {"refid" : "${eventRP.refid?json_string}"}, + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, "route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments", "method" : "POST", "uri_substitutions": { diff --git a/RPtoRFX_CarrierAppointmentSlotUpdatedByNumber.ftl b/RPtoRFX_CarrierAppointmentSlotUpdatedByNumber.ftl index 0167ef9..1261a72 100644 --- a/RPtoRFX_CarrierAppointmentSlotUpdatedByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentSlotUpdatedByNumber.ftl @@ -1,5 +1,5 @@ { - "id" : {"refid" : "${eventRP.refid?json_string}"}, + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, "route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}", "method" : "PUT", "uri_substitutions": { diff --git a/RPtoRFX_CarrierAppointmentSlotUpdatedByRef.ftl b/RPtoRFX_CarrierAppointmentSlotUpdatedByRef.ftl index 9c4189f..6bfd554 100644 --- a/RPtoRFX_CarrierAppointmentSlotUpdatedByRef.ftl +++ b/RPtoRFX_CarrierAppointmentSlotUpdatedByRef.ftl @@ -1,5 +1,5 @@ { - "id" : {"refid" : "${eventRP.refid?json_string}"}, + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, "route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}", "method" : "PUT", "uri_substitutions": {