136 lines
6.1 KiB
Java
136 lines
6.1 KiB
Java
<#include "ReflexUtils.ftl">
|
|
<#include "HfRpConfig.ftl">
|
|
<#include "ActorPrefix.ftl">
|
|
[
|
|
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.preparation_order_originator_reference!="") as preparation_line>
|
|
<#list preparation_line.despatched_ipg_list as despatched_ipg>
|
|
<#assign packing_datetime = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) />
|
|
{
|
|
"Header": {
|
|
"ProjectID": "${projectRP}"
|
|
},
|
|
"ID": {
|
|
"RefDate": {
|
|
"AuthorTimeZone": "${time_zone_rfx}",
|
|
"DateTime": "${packing_datetime}"
|
|
},
|
|
<#if despatched_ipg.carton_number != "000000000000000000">
|
|
"RefID": "${despatched_ipg.carton_number}"
|
|
<#else>
|
|
"RefID": "${despatched_ipg.hd_number}"
|
|
</#if>
|
|
},
|
|
|
|
"Payload": {
|
|
"Information" :{
|
|
<#if despatched_ipg.carton_number != "000000000000000000">
|
|
"ContainerType": "${despatched_ipg.carton_type_code?json_string}"
|
|
<#if preparation_line.despatched_cartons_list?? >
|
|
<#list preparation_line.despatched_cartons_list?filter(l -> l?? && l.carton_number==despatched_ipg.carton_number) as dimensionCarton>
|
|
,
|
|
"Length": {
|
|
"Unit": "${length_unit_rfx}",
|
|
"Value": "${dimensionCarton.overall_depth}"
|
|
},
|
|
"Weight": {
|
|
"Unit": "${weight_unit_rfx}",
|
|
"Value": "${dimensionCarton.carton_gross_weight}"
|
|
},
|
|
"Height": {
|
|
"Unit": "${length_unit_rfx}",
|
|
"Value": "${dimensionCarton.overall_height}"
|
|
},
|
|
"Width": {
|
|
"Unit": "${length_unit_rfx}",
|
|
"Value": "${dimensionCarton.overall_width}"
|
|
}
|
|
</#list>
|
|
</#if>
|
|
<#else>
|
|
"ContainerType": "${despatched_ipg.hd_type_code?json_string}"
|
|
<#if preparation_line.despatched_hds_list??>
|
|
<#list preparation_line.despatched_hds_list?filter(j -> j?? && j.handling_device_number==despatched_ipg.hd_number) as dimensionHU>
|
|
,
|
|
"Length": {
|
|
"Unit": "${length_unit_rfx}",
|
|
"Value": "${dimensionHU.hd_type_depth}"
|
|
},
|
|
"Weight": {
|
|
"Unit": "${weight_unit_rfx}",
|
|
"Value": "${dimensionHU.hd_gross_weight}"
|
|
},
|
|
"Width": {
|
|
"Unit": "${length_unit_rfx}",
|
|
"Value": "${dimensionHU.hd_type_width}"
|
|
}
|
|
</#list>
|
|
</#if>
|
|
</#if>
|
|
},
|
|
|
|
<#-- HU Metadata inclusin inclusion -->
|
|
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_HandlingUnitMetadata.ftl">
|
|
,
|
|
"PreparedContents" :[
|
|
{
|
|
"Goods": {
|
|
"ItemID": "${preparation_line.item_code?trim?json_string}",
|
|
"LVBranchID": "${preparation_line.item_lv_code?json_string}",
|
|
|
|
<#if (despatched_ipg.ipg_use_by_date?length != 0) && (despatched_ipg.ipg_use_by_date?starts_with("00")== false)>
|
|
<#assign priority_date = despatched_ipg.ipg_use_by_date?datetime(rfx_date_format_default)?iso_utc />
|
|
"PriorityDate": "${priority_date}",
|
|
<#else>
|
|
<#if (despatched_ipg.ipg_best_before_date?length != 0) && (despatched_ipg.ipg_best_before_date?starts_with("00")== false)>
|
|
<#assign priority_date = despatched_ipg.ipg_best_before_date?datetime(rfx_date_format_default)?iso_utc />
|
|
"PriorityDate": "${priority_date}",
|
|
<#else>
|
|
<#if (despatched_ipg.ipg_sell_by_date?length != 0) && (despatched_ipg.ipg_sell_by_date?starts_with("00")== false)>
|
|
<#assign priority_date = despatched_ipg.ipg_sell_by_date?datetime(rfx_date_format_default)?iso_utc />
|
|
"PriorityDate": "${priority_date}",
|
|
<#else>
|
|
<#if (despatched_ipg.ipg_manufacture_date?length != 0) && (despatched_ipg.ipg_manufacture_date?starts_with("00") == false)>
|
|
<#assign priority_date = despatched_ipg.ipg_manufacture_date?datetime(rfx_date_format_default)?iso_utc />
|
|
"PriorityDate": "${priority_date}",
|
|
<#else>
|
|
<#if (despatched_ipg.ipg_receipt_date?length != 0) && (despatched_ipg.ipg_receipt_date?starts_with("00")== false)>
|
|
<#assign priority_date = despatched_ipg.ipg_receipt_date?datetime(rfx_date_format_default)?iso_utc />
|
|
"PriorityDate": "${priority_date}",
|
|
<#else>
|
|
<#if (preparationOrder.stock_despatch_at_preparation_datetime?length != 0) && (preparationOrder.stock_despatch_at_preparation_datetime?starts_with("00")== false)>
|
|
<#assign priority_date = preparationOrder.stock_despatch_at_preparation_datetime?datetime(rfx_date_format_default)?iso_utc />
|
|
"PriorityDate": "${priority_date}",
|
|
<#else>
|
|
"PriorityDate": "1970-01-01T00:00:00Z",
|
|
</#if>
|
|
</#if>
|
|
</#if>
|
|
</#if>
|
|
</#if>
|
|
</#if>
|
|
|
|
<#-- Segmentation Keys inclusion -->
|
|
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl">
|
|
},
|
|
"OrderID": "${preparation_line.preparation_order_originator_reference?trim?json_string}",
|
|
"ExecutionflowID": "${preparation_line.pro_physical_depot_code?trim?json_string}${preparationOrder.activity_code?trim?json_string}${preparation_line.pro_originator_code?trim?json_string}${preparation_line.preparation_order_originator_reference?trim?json_string}",
|
|
<#if (preparation_line.pro_originator_reference_line_number!0) != 0>
|
|
"LineID": "${preparation_line.pro_originator_reference_line_number}",
|
|
<#else>
|
|
"LineID": "${preparation_line.pro_line_number!0}",
|
|
</#if>
|
|
"ActorID": "${RFXtoRPprefixDepot(preparationOrder.physical_depot_code?trim?json_string)}",
|
|
"Quantity": {
|
|
"LVID": "${quantity_in_base_lv_RP_Cst}",
|
|
"Value": ${despatched_ipg.quantity_lvs}
|
|
}
|
|
|
|
}
|
|
]
|
|
}
|
|
}<#sep>,</#sep>
|
|
</#list>
|
|
<#sep>,</#sep>
|
|
</#list>
|
|
]
|