<#include "HfRpConfig.ftl"> <#include "ReflexUtils.ftl"> <#include "ActorPrefix.ftl"> <#-- à quoi correspond ID du transporteur dans l'API a voir avec Vincent--> [ { <#assign appointment_reception_start_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.planned_unloading_start_datetime,time_zone_rfx) /> <#assign appointment_expedition_start_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.planned_load_start_datetime,time_zone_rfx) /> <#assign creation_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) /> "Header":{ "ProjectID": "${projectRP}" }, "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", "AppointmentID": "${carrier_apt.appointment_reference?json_string}", "TimeZone":"${time_zone_rfx}", <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false"> <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_RECEPTION> <#assign duration = RfxDurationBetweenTwoDateTimetoInSeconds(carrier_apt.planned_unloading_start_datetime,carrier_apt.planned_unloading_end_datetime,time_zone_rfx) /> <#else> <#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true" > <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_EXPEDITION> <#assign duration = RfxDurationBetweenTwoDateTimetoInSeconds(carrier_apt.planned_load_start_datetime,carrier_apt.planned_load_end_datetime,time_zone_rfx) /> <#else> <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_BOTH> <#assign duration = 0 /> <#-- à confirmer --> <#else> <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN> <#assign duration = 0 /> <#-- à confirmer --> "AppointmentType": "${appointmentType}", "Emails": ["francis.reat@hardis-group.com"], <#-- à confirmer --> <#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?size == carrier_apt.physical_receipt_list?filter(l ->l??)?size)> "Commissions": [ <#list carrier_apt.physical_receipt_list as physical_receipt> { "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", "OrderID": "${physical_receipt.physical_receipt_reference?json_string}", "ProjectID": "${projectRP}", "Quantities": [ { "UnitID": "PAL", <#-- à changer --> "Value": 1 <#-- à changer --> } ] }<#sep>, ] <#else> "ProjectID": "${projectRP}", "Reason": "no commission", <#-- à confirmer --> <#if carrier_apt.planned_carrier?? && carrier_apt.planned_carrier!=""> "CarrierName": "${carrier_apt.planned_carrier}", "Slots": [{ <#-- calcul de de la durée en fonction des start et end time--> "DurationInSeconds": "${duration}", <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false"> "StartDateTime": "${carrier_apt.planned_unloading_start_datetime}" <#else> <#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true"> "StartDateTime": "${carrier_apt.planned_load_start_datetime}" <#else> <#assign duration = RfxDurationBetweenTwoDateTimetoInSeconds(carrier_apt.planned_unloading_start_datetime,carrier_apt.planned_load_start_datetime,time_zone_rfx) /> <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> <#if duration >= 0> "StartDateTime": "${carrier_apt.planned_unloading_start_datetime}" <#else> "StartDateTime": "${carrier_apt.planned_load_start_datetime}" }] } ]