diff --git a/RFXtoRP_HsaLstCarSta.ftl b/RFXtoRP_HsaLstCarSta.ftl index a8aa244..ce11a5d 100644 --- a/RFXtoRP_HsaLstCarSta.ftl +++ b/RFXtoRP_HsaLstCarSta.ftl @@ -19,8 +19,8 @@ <#-- *********************************************** Action = Update ******************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign carrier_apt_status = JsonUtil.jsonToMap(dataRfx)> - <#if !carrier_apt_status.status??> - <#stop 'the updated appointment Status not initialized'> + <#if !carrier_apt_status.status?? || carrier_apt_status.appointment_year_number==0> + <#stop > [ { diff --git a/RFXtoRP_HsrCarrierApt.ftl b/RFXtoRP_HsrCarrierApt.ftl index e957ae1..0a7bf34 100644 --- a/RFXtoRP_HsrCarrierApt.ftl +++ b/RFXtoRP_HsrCarrierApt.ftl @@ -24,12 +24,6 @@ "datas" : <#include "RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl"> }, - { - <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierExpected> - "apiReflexPlatformID" : "${apiReflexPlatformID}", - "datas" : - <#include "RFXtoRP_HsrCarrierApt_AppointmentCarrierExpected.ftl"> - }, { <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCustomFieldsUpdated> "apiReflexPlatformID" : "${apiReflexPlatformID}", @@ -120,15 +114,15 @@ } ] <#else> - <#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0)> - [ - { - <#assign apiReflexPlatformID = ApiReflexPlatformID.SiteWMSUpdateAppointment> - "apiReflexPlatformID" : "${apiReflexPlatformID}", - "datas" : - <#include "RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl"> - } - ] + <#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0) && ((carrier_apt.unloading_appointment =="true" && carrier_apt.load_appointment =="false") || (carrier_apt.unloading_appointment =="false" && carrier_apt.load_appointment =="true"))> + [ + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.SiteWMSUpdateAppointment> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl"> + } + ] <#else> [ { diff --git a/RFXtoRP_HsrCarrierApt_AppointmentCarrierExpected.ftl b/RFXtoRP_HsrCarrierApt_AppointmentCarrierExpected.ftl deleted file mode 100644 index 13bc369..0000000 --- a/RFXtoRP_HsrCarrierApt_AppointmentCarrierExpected.ftl +++ /dev/null @@ -1,26 +0,0 @@ -[ - <#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) /> - { - "Header": { - "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}", - - - "RefDate": { - "DateTime": "${ref_datetime}", - "AuthorTimeZone": "${time_zone_rfx}" - } - }, - "Payload":{ - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}" - } - } -] \ No newline at end of file diff --git a/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl b/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl index 1d1db08..34d6cf6 100644 --- a/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl @@ -8,7 +8,7 @@ "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}", + "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 --> <#else> "AppointmentID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}", @@ -25,7 +25,7 @@ <#else> <#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true" > - <#if 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-")> + <#if 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-")> <#stop "planned_load_start_datetime or planned_load_end_datetime field of appointmend is not initialized" > <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_LOADING> @@ -35,10 +35,17 @@ <#else> <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> - <#stop "Not managed"> + <#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-") > + <#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend is not initialized" > + + <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNLOADING> + <#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) /> + <#if (duration <= 0)> + <#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend are not valid" > + <#else> <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN> - <#assign duration = 0 /> <#-- à confirmer --> + <#assign duration = 0 /> @@ -93,10 +100,14 @@ <#include "RFXtoRP_HsrCarrierApt_Quantities.ftl"> } ], - <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> - "Reason": "${carrier_apt.appointment_designation?json_string}", + <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> + "Reason": "LOAD AND UNLOADING / ${carrier_apt.appointment_designation?json_string}", <#else> - "Reason": "No commission", + <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> + "Reason": "${carrier_apt.appointment_designation?json_string}", + <#else> + "Reason": "No commission", + "Slots": [{ @@ -106,7 +117,6 @@ <#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-")> <#stop "planned_unloading_start_datetime field of appointmend is not initialized" > - "StartDateTime": "${carrier_apt.planned_unloading_start_datetime}" <#else> <#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true"> @@ -115,7 +125,12 @@ "StartDateTime": "${carrier_apt.planned_load_start_datetime}" <#else> - <#stop "Not managed"> + <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> + <#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-")> + <#stop "planned_unloading_start_datetime field of appointmend is not initialized" > + + "StartDateTime": "${carrier_apt.planned_unloading_start_datetime}" + }] diff --git a/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl index d175b83..8e424ff 100644 --- a/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl @@ -35,10 +35,19 @@ <#else> <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> - <#stop "Not managed"> - <#else> - <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN> - <#assign duration = 0 /> <#-- à confirmer --> + <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> + <#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-") > + <#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend is not initialized" > + + <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNLOADING> + <#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) /> + <#if (duration <= 0)> + <#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend are not valid" > + + <#else> + <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN> + <#assign duration = 0 /> <#-- à confirmer --> + diff --git a/RFXtoRP_HsrCarrierApt_UpdateSlotAppointment.ftl b/RFXtoRP_HsrCarrierApt_UpdateSlotAppointment.ftl index ba02b47..4c5b120 100644 --- a/RFXtoRP_HsrCarrierApt_UpdateSlotAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_UpdateSlotAppointment.ftl @@ -35,7 +35,14 @@ <#else> <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> - <#stop "Not managed"> + <#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-") > + <#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend is not initialized" > + + <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNLOADING> + <#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) /> + <#if (duration <= 0)> + <#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend are not valid" > + <#else> <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN> <#assign duration = 0 /> <#-- à confirmer --> @@ -58,7 +65,10 @@ "StartDateTime": "${carrier_apt.planned_load_start_datetime}" <#else> <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> - <#stop "Not managed"> + <#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-")> + <#stop "planned_unloading_start_datetime field of appointmend is not initialized" > + + "StartDateTime": "${carrier_apt.planned_unloading_start_datetime}" diff --git a/RFXtoRP_HsrPrepa.ftl b/RFXtoRP_HsrPrepa.ftl index 6aa54a2..57fcfcc 100644 --- a/RFXtoRP_HsrPrepa.ftl +++ b/RFXtoRP_HsrPrepa.ftl @@ -27,14 +27,13 @@ "datas" : <#include "RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl"> }, + <#include "RFXtoRP_HsrPrepa_ExecutionflowMetadataUpdated.ftl"> { - <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl"> } - <#if preparationOrder.load_data?? && preparationOrder.load_data.carrier_code?? && preparationOrder.load_data.carrier_code!=""> , { diff --git a/RFXtoRP_HsrPrepa_ExecutionflowMetaDataUpdatedToConfigure.ftl b/RFXtoRP_HsrPrepa_ExecutionflowMetaDataUpdatedToConfigure.ftl new file mode 100644 index 0000000..3cf29a6 --- /dev/null +++ b/RFXtoRP_HsrPrepa_ExecutionflowMetaDataUpdatedToConfigure.ftl @@ -0,0 +1,27 @@ +<#-- +{ + "Header": { + "ProjectID": "${projectRP}" + }, + "ID":{ + "RefID": "${Your_Object_ID}" + }, + "Payload":{ + "MetaData": [ + { + "Key": "string", + "Value": { + "Bool": "true / false", + "Float": 3.1415, + "Int": 42, + "String": "Hello World !", + "Timestamp": { + "AuthorTimeZone": "Europe/Paris", + "DateTime": "2023-01-01T00:00:00Z" + } + } + } + ] + } +} +--> \ No newline at end of file diff --git a/RFXtoRP_HsrPrepa_ExecutionflowMetadataUpdated.ftl b/RFXtoRP_HsrPrepa_ExecutionflowMetadataUpdated.ftl new file mode 100644 index 0000000..057dc06 --- /dev/null +++ b/RFXtoRP_HsrPrepa_ExecutionflowMetadataUpdated.ftl @@ -0,0 +1,10 @@ + <#-- A décommenter si besoin de les utiliser--> + <#-- Uncomment if you need to use them--> +<#-- +{ + <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowMetaDataUpdated> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrPrepa_ExecutionflowMetaDataUpdatedToConfigure.ftl"> +}, +--> \ No newline at end of file diff --git a/RPtoRFX_AppointmentEvent.ftl b/RPtoRFX_AppointmentEvent.ftl index 21be0c7..0ee48cc 100644 --- a/RPtoRFX_AppointmentEvent.ftl +++ b/RPtoRFX_AppointmentEvent.ftl @@ -27,21 +27,24 @@ <#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"> - } - <#else> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_ref> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl"> - } + { + <#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"> + } + <#sep>, + ] <#break> <#-- *********************************************** Action = SlotUpdated ******************** --> diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index 017cee7..01ab606 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -12,15 +12,25 @@ <#case "APPOINTMENT_TYPE_LOADING"> "unloading_appointment" : "false", "load_appointment" : "true", - "planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", - "planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", - <#break> + <#if appointment.TimeZone?? && appointment.TimeZone!=""> + "planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", + "planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", + <#else> + "planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}", + "planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}", + + <#break> <#case "APPOINTMENT_TYPE_UNLOADING"> "unloading_appointment" : "true", "load_appointment" : "false", - "planned_unloading_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}", - "planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", - <#break> + <#if appointment.TimeZone?? && appointment.TimeZone!=""> + "planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", + "planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", + <#else> + "planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}", + "planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}", + + <#break> <#default> <#stop "appointment.AppointmentType not implemented" > diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl index 3a6ba80..fd9e237 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl @@ -12,20 +12,17 @@ <#if appointment.Commissions??> <#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING"> "physical_receipt_list": [ - <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.value?? && l.value?has_content) as custom> { - "receipt_activity": "${custom.value.activity_code?json_string}", - "originator_code": "${custom.value.originator_code?json_string}", - "physical_receipt_reference": "${custom.value.reference?json_string}", - "receipt_year": "${custom.value.order_year?json_string}", - "receipt_number": "${custom.value.order_number?json_string}" + "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}" } - <#sep>, - ] <#else> <#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING"> - "appointment_designation":"LOADING" + "appointment_designation":"${appointment.Reason!""?json_string}" diff --git a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl index e5b91cf..223b1cb 100644 --- a/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl +++ b/RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl @@ -11,20 +11,17 @@ <#if appointment.Commissions??> <#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING"> "physical_receipt_list": [ - <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.value?? && l.value?has_content) as custom> { - "receipt_activity": "${custom.value.activity_code?json_string}", - "originator_code": "${custom.value.originator_code?json_string}", - "physical_receipt_reference": "${custom.value.reference?json_string}", - "receipt_year": "${custom.value.order_year?json_string}", - "receipt_number": "${custom.value.order_number?json_string}" + "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}" } - <#sep>, - ] <#else> <#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING"> - "appointment_designation":"LOADING" + "appointment_designation":"${appointment.Reason!""?json_string}" diff --git a/RPtoRFX_CarrierAppointmentSlotUpdatedByNumber.ftl b/RPtoRFX_CarrierAppointmentSlotUpdatedByNumber.ftl index efd5dfc..0167ef9 100644 --- a/RPtoRFX_CarrierAppointmentSlotUpdatedByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentSlotUpdatedByNumber.ftl @@ -13,15 +13,25 @@ <#case "APPOINTMENT_TYPE_LOADING"> "unloading_appointment" : "false", "load_appointment" : "true", - "planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", - "planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", + <#if appointment.TimeZone?? && appointment.TimeZone!=""> + "planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", + "planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", + <#else> + "planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}", + "planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}", + <#break> <#case "APPOINTMENT_TYPE_UNLOADING"> "unloading_appointment" : "true", "load_appointment" : "false", - "planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", - "planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", - <#break> + <#if appointment.TimeZone?? && appointment.TimeZone!=""> + "planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", + "planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", + <#else> + "planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}", + "planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}", + + <#break> <#default> <#stop "appointment.AppointmentType not implemented" > diff --git a/RPtoRFX_CarrierAppointmentSlotUpdatedByRef.ftl b/RPtoRFX_CarrierAppointmentSlotUpdatedByRef.ftl index b7f102d..9c4189f 100644 --- a/RPtoRFX_CarrierAppointmentSlotUpdatedByRef.ftl +++ b/RPtoRFX_CarrierAppointmentSlotUpdatedByRef.ftl @@ -12,15 +12,25 @@ <#case "APPOINTMENT_TYPE_LOADING"> "unloading_appointment" : "false", "load_appointment" : "true", - "planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", - "planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", - <#break> - <#case "APPOINTMENT_TYPE_UNLOADING"> + <#if appointment.TimeZone?? && appointment.TimeZone!=""> + "planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", + "planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", + <#else> + "planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}", + "planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}", + + <#break> + <#case "APPOINTMENT_TYPE_UNLOADING"> "unloading_appointment" : "true", "load_appointment" : "false", - "planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", - "planned_unloading_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", - <#break> + <#if appointment.TimeZone?? && appointment.TimeZone!=""> + "planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}", + "planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}", + <#else> + "planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}", + "planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}", + + <#break> <#default> <#stop "appointment.AppointmentType not implemented" > diff --git a/ReflexUtils.ftl b/ReflexUtils.ftl index 6b4231a..4e183d5 100644 --- a/ReflexUtils.ftl +++ b/ReflexUtils.ftl @@ -16,14 +16,14 @@ <#assign timeInMilliseconds = (1000 * seconds) > <#assign aDate = date?long + timeInMilliseconds> <#return aDate?number_to_datetime> - + <#-- -------------------------------------------------------------------------------------------- --> <#-- Duration between two datetimes in second --> <#-- -------------------------------------------------------------------------------------------- --> <#function DurationBetweenTwoDatetimeInSeconds startDate endDate> <#return (endDate?long - startDate?long) / 1000 > - + <#-- --------------------------------------------------------------------------------------- --> <#-- Split email HARDIS WMS into json array string -->