123 lines
6.1 KiB
Java
123 lines
6.1 KiB
Java
[
|
|
{
|
|
"Header":{
|
|
"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.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>
|
|
"TimeZone":"${time_zone_rfx}",
|
|
<#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>
|
|
"AppointmentType": "${appointmentType}",
|
|
"Emails": ["${carrier_apt.creation_user_email?json_string}"],
|
|
"CustomFields": [
|
|
{
|
|
"Key": "depot",
|
|
"Value": "${carrier_apt.physical_depot?json_string}"
|
|
},
|
|
{
|
|
"Key": "year",
|
|
"Value": "${carrier_apt.year_number?json_string}"
|
|
},
|
|
{
|
|
"Key": "number",
|
|
"Value": "${carrier_apt.appointment_number?json_string}"
|
|
},
|
|
{
|
|
"Key": "reference",
|
|
"Value": "${carrier_apt.appointment_reference?json_string}"
|
|
},
|
|
{
|
|
"Key": "carrier",
|
|
"Value": "${carrier_apt.planned_carrier?json_string}"
|
|
}
|
|
],
|
|
<#include "RFXtoRP_HsrCarrierApt_SegmentationSelections.ftl">,
|
|
<#include "RFXtoRP_HsrCarrierApt_CarrierInformation.ftl">,
|
|
<#include "RFXtoRP_HsrCarrierApt_MetadataAppointment.ftl">,
|
|
<#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0)>
|
|
"Commissions": [
|
|
<#list carrier_apt.physical_receipt_list?filter(l ->l??) as physical_receipt>
|
|
{
|
|
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
|
|
<#if physical_receipt.physical_receipt_reference?? && physical_receipt.physical_receipt_reference!="">
|
|
"OrderID": "${physical_receipt.physical_receipt_reference?json_string}",
|
|
<#else>
|
|
"OrderID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year}${physical_receipt.receipt_number}",
|
|
</#if>
|
|
"ExecutionflowID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year?json_string}${physical_receipt.receipt_number?json_string}",
|
|
"ProjectID": "${projectRP}",
|
|
<#include "RFXtoRP_HsrCarrierApt_Quantities.ftl">
|
|
}<#sep>,</#sep>
|
|
</#list>
|
|
],
|
|
<#else>
|
|
"Commissions": [
|
|
{
|
|
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
|
|
"ProjectID": "${projectRP}",
|
|
<#include "RFXtoRP_HsrCarrierApt_Quantities.ftl">
|
|
}
|
|
],
|
|
<#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!="">
|
|
"Reason": "${carrier_apt.appointment_designation?json_string}",
|
|
<#else>
|
|
"Reason": "No commission",
|
|
</#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>
|
|
<#stop "Not managed">
|
|
</#if>
|
|
</#if>
|
|
}]
|
|
}
|
|
] |