diff --git a/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl b/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl index fc151c7..5d1dbb0 100644 --- a/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl @@ -65,7 +65,7 @@ ] }<#sep>, - ] + ], <#else> "ProjectID": "${projectRP}", "Reason": "no commission", <#-- à changer --> diff --git a/RFXtoRP_HsrCarrierApt_SiteForceUpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_SiteForceUpdateAppointment.ftl index ff542e2..488ab91 100644 --- a/RFXtoRP_HsrCarrierApt_SiteForceUpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_SiteForceUpdateAppointment.ftl @@ -8,12 +8,12 @@ "ProjectID": "${projectRP}" }, "ActorID": "${carrier_apt.physical_depot}", - <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false"> + <#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_end_datetime?starts_with("00")> <#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend is not initialized" > - <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_RECEPTION> - <#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_unloading_end_datetime?datetime.iso) /> + <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_RECEPTION> + <#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_unloading_end_datetime?datetime.iso) /> <#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_end_datetime?starts_with("00")> @@ -43,15 +43,89 @@ "ProjectID": "${projectRP}", "Quantities": [ { - "UnitID": "PAL", <#-- à changer --> - "Value": 1 <#-- à changer --> + "UnitID": "PAL", <#-- à changer --> + "Value": 1 <#-- à changer --> } ] }<#sep>, ], +[ + { + "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}", + + + "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_end_datetime?starts_with("00")> + <#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend is not initialized" > + + <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_RECEPTION> + <#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_unloading_end_datetime?datetime.iso) /> + <#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_end_datetime?starts_with("00")> + <#stop "planned_load_start_datetime or planned_load_end_datetime field of appointmend is not initialized" > + + <#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_EXPEDITION> + <#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_load_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) /> + <#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","laurie.montant@hardis-group.com"], <#-- à changer --> + "SegmentationSelections":[ + { "SegmentationID":"Securise", + "SegmentationValueID":"yes"}, + { "SegmentationID":"Secteur", + "SegmentationValueID":"frais"} + ], + <#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)}", + <#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}", + + "ProjectID": "${projectRP}", + "Quantities": [ + { + "UnitID": "PAL", <#-- à changer --> + "Value": 1 <#-- à changer --> + } + ] + }<#sep>, + + ], + <#else> + "ProjectID": "${projectRP}", + "Reason": "no commission", <#-- à changer --> + + <#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}", @@ -62,7 +136,29 @@ "StartDateTime": "${carrier_apt.planned_load_start_datetime}" <#else> <#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_load_start_datetime?datetime.iso) /> - <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> + <#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}" + + + + + }] + } +] + "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 = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_load_start_datetime?datetime.iso) /> + <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> <#if (duration >= 0) > "StartDateTime": "${carrier_apt.planned_unloading_start_datetime}" <#else>