68 lines
4.0 KiB
Java
68 lines
4.0 KiB
Java
[
|
|
{
|
|
<#assign creation_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) />
|
|
"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}",
|
|
<#else>
|
|
"AppointmentID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
|
|
</#if>
|
|
</#if>
|
|
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
|
|
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false">
|
|
<#if 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-")>
|
|
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend is not initialized" >
|
|
</#if>
|
|
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
|
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_unloading_end_datetime?datetime.iso) />
|
|
<#if (duration <= 0)>
|
|
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend are not valid" >
|
|
</#if>
|
|
<#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-")>
|
|
<#stop "planned_load_start_datetime or planned_load_end_datetime field of appointmend is not initialized" >
|
|
</#if>
|
|
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_LOADING>
|
|
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_load_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) />
|
|
<#if (duration <= 0)>
|
|
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend are not valid" >
|
|
</#if>
|
|
<#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>
|
|
</#if>
|
|
</#if>
|
|
"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" >
|
|
<#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" >
|
|
</#if>
|
|
"StartDateTime": "${carrier_apt.planned_unloading_start_datetime}"
|
|
<#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-")>
|
|
<#stop "planned_load_start_datetime field of appointmend is not initialized" >
|
|
</#if>
|
|
"StartDateTime": "${carrier_apt.planned_load_start_datetime}"
|
|
<#else>
|
|
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
|
|
<#stop "Not managed">
|
|
</#if>
|
|
</#if>
|
|
</#if>
|
|
}]
|
|
|
|
}
|
|
] |