diff --git a/RFXtoRP_HsrPrepa.ftl b/RFXtoRP_HsrPrepa.ftl index ddb67e3..ba650af 100644 --- a/RFXtoRP_HsrPrepa.ftl +++ b/RFXtoRP_HsrPrepa.ftl @@ -25,6 +25,7 @@ <#include "RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl"> }, { + <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : @@ -47,6 +48,7 @@ } + <#assign refIDHmap ={}> <#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 HUadded_packing_datetime = RfxDateTimetoUTC(preparation_line.confirmation_datetime,time_zone_offset_rfx) /> @@ -76,6 +78,7 @@ + <#assign refIDHmap ={}> ] <#else> <#stop "no confirmed quantity for the preparation - preparation closed"> diff --git a/RFXtoRP_HsrPrepa_CarrierUpdated.ftl b/RFXtoRP_HsrPrepa_CarrierUpdated.ftl index b058352..ca87415 100644 --- a/RFXtoRP_HsrPrepa_CarrierUpdated.ftl +++ b/RFXtoRP_HsrPrepa_CarrierUpdated.ftl @@ -1,26 +1,33 @@ <#include "HfRpConfig.ftl"> <#include "ReflexUtils.ftl"> [ + <#assign refIDHmap_local ={}> <#list preparationOrder.preparation_line_lst?filter(l ->l.preparation_order_originator_reference!="") as preparation_line> <#assign OrderOriginReference = preparation_line.preparation_order_originator_reference?trim?json_string> - { - "Header": { - "ProjectID": "${projectRP}" - }, - "ID":{ - "RefID": "${OrderOriginReference}" - }, - "Payload":{ - "Carrier": { - "ActorID":"${preparationOrder.load_data.carrier_code?trim?json_string}" + <#if !refIDHmap_local[OrderOriginReference]?? > + <#if refIDHmap_local?size != 0 > + , + + <#assign refIDHmap_local +={OrderOriginReference,OrderOriginReference}> + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID":{ + "RefID": "${OrderOriginReference}" + }, + "Payload":{ + "Carrier": { + "ActorID":"${preparationOrder.load_data.carrier_code?trim?json_string}" + } + <#-- Add transport grade code + <#if preparationOrder.transport_grade_code!=""> + , + "CarrierService":"${preparationOrder.transport_grade_code?trim?json_string}" + --> } - <#-- Add transport grade code - <#if preparationOrder.transport_grade_code!=""> - , - "CarrierService":"${preparationOrder.transport_grade_code?trim?json_string}" - --> - } - } - <#sep>, - + } + + + <#assign refIDHmap_local ={}> ] \ No newline at end of file diff --git a/RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl b/RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl index 0433ade..1a780d5 100644 --- a/RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl +++ b/RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl @@ -2,25 +2,28 @@ <#include "ReflexUtils.ftl"> [ <#assign dispatched3_datetime = RfxDateTimetoUTC(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_offset_rfx) /> -<#assign generatedComa = false> + <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line3> <#list preparation_line3.despatched_ipg_list?filter(j ->j.carton_number!="000000000000000000") as despatched_ipg3> - - <#if generatedComa >, - { - "Header": { - "ProjectID": "${projectRP}" - }, - "ID": { - "RefID": "${despatched_ipg3.carton_number}", - "RefDate": { - "DateTime": "${dispatched3_datetime}", - "AuthorTimeZone": "${time_zone_rfx}" - } - }, - "Payload": { } - } - <#assign generatedComa = true> + <#if !refIDHmap[despatched_ipg3.carton_number]?? > + <#if refIDHmap?size != 0 > + , + + <#assign refIDHmap += {despatched_ipg3.carton_number,despatched_ipg3.carton_number}> + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + "RefID": "${despatched_ipg3.carton_number}", + "RefDate": { + "DateTime": "${dispatched3_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + "Payload": { } + } + ] diff --git a/RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl b/RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl index 22948cb..a1b31be 100644 --- a/RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl +++ b/RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl @@ -2,22 +2,27 @@ <#include "ReflexUtils.ftl"> [ <#assign dispatched_datetime = RfxDateTimetoUTC(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_offset_rfx) /> +<#assign refIDHmap_local ={}> <#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> - { - "Header": { - "ProjectID": "${projectRP}" - }, - "ID": { - "RefID": "${despatched_ipg.hd_number}", - "RefDate": { - "DateTime": "${dispatched_datetime}", - "AuthorTimeZone": "${time_zone_rfx}" - } - }, - "Payload": { } - }<#sep>, - - <#sep>, + <#if !refIDHmap_local[despatched_ipg.hd_number]?? > + <#if refIDHmap_local?size != 0 > + , + + <#assign refIDHmap_local +={despatched_ipg.hd_number,despatched_ipg.hd_number}> + { + "Header": {"ProjectID": "${projectRP}"}, + "ID": { + "RefID": "${despatched_ipg.hd_number}", + "RefDate": { + "DateTime": "${dispatched_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + "Payload": { } + } + + + <#assign refIDHmap_local ={}> ] diff --git a/RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl b/RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl index 42b3f85..7a41e47 100644 --- a/RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl +++ b/RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl @@ -1,21 +1,28 @@ <#include "HfRpConfig.ftl"> <#include "ReflexUtils.ftl"> [ + <#assign refIDHmap_local ={}> <#list preparationOrder.preparation_line_lst?filter(l ->l.preparation_order_originator_reference!="") as preparation_line> <#assign OrderOriginReference = preparation_line.preparation_order_originator_reference?trim?json_string> - { - "Header": { - "ProjectID": "${projectRP}" - }, - "ID":{ - "RefID": "${OrderOriginReference}" - }, - "Payload":{ - "Carrier": { - "ActorID":"${preparationOrder.load_data.carrier_code?trim?json_string}" + <#if !refIDHmap_local[OrderOriginReference]?? > + <#if refIDHmap_local?size != 0 > + , + + <#assign refIDHmap_local +={OrderOriginReference,OrderOriginReference}> + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID":{ + "RefID": "${OrderOriginReference}" + }, + "Payload":{ + "Carrier": { + "ActorID":"${preparationOrder.load_data.carrier_code?trim?json_string}" + } } - } - } - <#sep>, - + } + + + <#assign refIDHmap_local ={}> ] \ No newline at end of file diff --git a/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl b/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl index 5919440..fe0cc5f 100644 --- a/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl +++ b/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl @@ -51,13 +51,16 @@ { "ItemID": "${line.item_code?trim?json_string!"0"}", "LVBranchID": "${line.item_lv_code?json_string!"0"}", - <#if line.line_without_detail??> - <#if (line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)> + <#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)> <#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc /> "PriorityDate": "${line_without_detail_priority_date}", - <#else> - <#stop > + <#if (line.line_detail?? && line.line_detail.priority_date?length != 0) && (line.line_detail.priority_date?starts_with("00") == false)> + <#assign line_detail_priority_date = line.line_detail.priority_date?datetime(rfx_date_format_default)?iso_utc /> + "PriorityDate": "${line_detail_priority_date}", + <#else> + "PriorityDate": "1970-01-01T00:00:00Z", + <#-- Segmentation Keys inclusion --> <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl">