reflex-wms-connector/RFXtoRP_HsrPro_ExecutionflowDetected.ftl
2023-12-12 12:01:40 +01:00

107 lines
5.6 KiB
Java

<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
[
{
<#assign planned_final_delivery_start_datetime = RfxDateTimetoUTC(preparation_order.planned_final_delivery_start_datetime,time_zone_offset_rfx) />
<#assign pro_creation_datetime = RfxDateTimetoUTC(preparation_order.creation_datetime,time_zone_offset_rfx) />
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${preparation_order.originator_reference}",
"RefDate": {
"DateTime": "${pro_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": {
"CreationDateTime": {
"DateTime": "${pro_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
},
<#-- Header Metadata inclusion -->
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl">,
<#if preparation_order.transport_grade_code!="">
"CarrierService":"${preparation_order.transport_grade_code}",
</#if>
"ShipFrom": {
"ActorID": "${preparation_order.physical_depot_code}"
},
"ShipFromAcked": true,
"ShipTo": {
<#if preparation_order.address.type_code == "" && preparation_order.address.title_code == "" && preparation_order.address.first_name == "" && preparation_order.address.last_name == "" && preparation_order.address.mail_address == "" && preparation_order.address.contact_type_code == "" && preparation_order.address.mobile_phone_number == "" && preparation_order.address.land_line_phone_number == "" && preparation_order.address.fax_number == "" && preparation_order.address.address_type_code == "" && preparation_order.address.name_or_company_name == "" && preparation_order.address.additional_address_data_1 == "" && preparation_order.address.additional_address_data_2 == "" && preparation_order.address.post_code_area_name == "" && preparation_order.address.territorial_division_code == "" && preparation_order.address.postal_code == "" && preparation_order.address.iso_country_code == "">
"ActorID": "${preparation_order.end_consignee_code}"
<#else>
"Actor":
{
"Name" : "${preparation_order.address.name_or_company_name?json_string!""}",
"Address" :
{
"City" : "${preparation_order.address.post_code_area_name?json_string!""}",
"CountryCode" : "${preparation_order.address.iso_country_code!""}",
"PostalCode" : "${preparation_order.address.postal_code!""}",
"StreetAddressOne" : "${preparation_order.address.street_and_number_and_po_box?json_string!""}",
"StreetAddressTwo" : "${preparation_order.address.additional_address_data_1?json_string!""}",
"StreetAddressThree" : "${preparation_order.address.additional_address_data_2?json_string!""}"
}
},
"Contact" :
{
"FirstName" : "${preparation_order.address.first_name?json_string!""}",
"LastName" : "${preparation_order.address.last_name?json_string!""}",
"Emails" : ["${preparation_order.address.mail_address?json_string!""}"],
"Phones" : ["${preparation_order.address.mobile_phone_number!""}","${preparation_order.address.land_line_phone_number!""}", "${preparation_order.address.fax_number!""}" ]
}
</#if>
},
<#if preparation_order.line_list??>
"Lines" : [
<#list preparation_order.line_list as preparation_order_line >
{
<#if (preparation_order_line.originator_reference_line_number!0) != 0>
"LineID": "${preparation_order_line.originator_reference_line_number}",
<#else>
"LineID": "${preparation_order_line.preparation_order_line_number!0}",
</#if>
<#-- Line Metadata inclusion -->
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_LineMetadata.ftl">,
"RequestedContent":
{
"Goods":
{
"ItemID": "${preparation_order_line.item_code!"0"}",
"LVBranchID": "${preparation_order_line.item_lv_code!"0"}",
<#if (preparation_order_line.optional_attributes.forced_priority_date?length != 0) && (preparation_order_line.optional_attributes.forced_priority_date?starts_with("00") == false)>
<#assign forced_priority_date = preparation_order_line.optional_attributes.forced_priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${forced_priority_date}",
</#if>
<#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_SegmentationKeys.ftl">
},
"Quantity" :
{
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": "${preparation_order_line.base_lv_quantity_to_prepare!0}"
}
}
}<#sep>,</#sep>
</#list>
],
</#if>
"RequestedMilestones" :
{
"RequestedDeliveryDateTime" :
{
"DateTime": "${planned_final_delivery_start_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
}
}
}
]