reflex-wms-connector/RFXtoRP_HsrCarrierApt_SiteForceUpdateAppointment.ftl
2025-11-26 14:43:05 +01:00

62 lines
2.7 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)}",
"Emails": ["francis.reat@hardis-group.com","laurie.montant@hardis-group.com"], <#-- à changer -->
<#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": "${carrier_apt.physical_depot}",
"OrderID": "${physical_receipt.physical_receipt_reference?json_string}",
"ProjectID": "${projectRP}",
"Quantities": [
{
"UnitID": "PAL", <#-- à changer -->
"Value": 1 <#-- à changer -->
}
]
}<#sep>,</#sep>
</#list>
]
<#else>
"Reason": "no commission", <#-- à changer -->
</#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>
}]
}
]