diff --git a/RFXtoRP_HfDtlStockLs_StockSnapshotted.ftl b/RFXtoRP_HfDtlStockLs_StockSnapshotted.ftl index a5d738b..8ea6c58 100644 --- a/RFXtoRP_HfDtlStockLs_StockSnapshotted.ftl +++ b/RFXtoRP_HfDtlStockLs_StockSnapshotted.ftl @@ -22,7 +22,7 @@ }, "Goods": { - "ItemID": "${stock.item_code}", + "ItemID": "${stock.item_code?trim?json_string}", "LVBranchID": "${stock.item_logistical_variant_code}", <#assign priority_date = stock.priority_date?datetime(rfx_date_format_default)?iso_utc /> <#if (stock.priority_date!="") && (stock.priority_date?starts_with("00")== false) > diff --git a/RFXtoRP_HfExpGrpList.ftl b/RFXtoRP_HfExpGrpList.ftl index 08e4a69..64cf79d 100644 --- a/RFXtoRP_HfExpGrpList.ftl +++ b/RFXtoRP_HfExpGrpList.ftl @@ -24,5 +24,5 @@ ${output} <#break> <#default> - <#stop> + <#stop > diff --git a/RFXtoRP_HfLvTypeList.ftl b/RFXtoRP_HfLvTypeList.ftl index 2f03386..e1e6399 100644 --- a/RFXtoRP_HfLvTypeList.ftl +++ b/RFXtoRP_HfLvTypeList.ftl @@ -9,7 +9,9 @@ <#case "C"> <#case "U"> <#case "D"> + <#stop "no generic FTL file available yet for LV types"> + <#break> diff --git a/RFXtoRP_HsaCarrier_ActorCreated.ftl b/RFXtoRP_HsaCarrier_ActorCreated.ftl index fd16db5..6f7ba3e 100644 --- a/RFXtoRP_HsaCarrier_ActorCreated.ftl +++ b/RFXtoRP_HsaCarrier_ActorCreated.ftl @@ -4,7 +4,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${carrier.carrier_code}" + "RefID": "${carrier.carrier_code?trim?json_string}" }, "Payload": { diff --git a/RFXtoRP_HsaCarrier_ActorDeleted.ftl b/RFXtoRP_HsaCarrier_ActorDeleted.ftl index bc5f838..b3aed7c 100644 --- a/RFXtoRP_HsaCarrier_ActorDeleted.ftl +++ b/RFXtoRP_HsaCarrier_ActorDeleted.ftl @@ -4,7 +4,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${carrier.carrier_code}" + "RefID": "${carrier.carrier_code?trim?json_string}" }, "Payload": {} diff --git a/RFXtoRP_HsaCons_ActorCreated.ftl b/RFXtoRP_HsaCons_ActorCreated.ftl index 06bc6c2..3b22fc6 100644 --- a/RFXtoRP_HsaCons_ActorCreated.ftl +++ b/RFXtoRP_HsaCons_ActorCreated.ftl @@ -4,7 +4,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${actor.code}" + "RefID": "${actor.code?trim?json_string}" }, "Payload": { diff --git a/RFXtoRP_HsaCons_ActorDeleted.ftl b/RFXtoRP_HsaCons_ActorDeleted.ftl index abce0a0..1a3a3ff 100644 --- a/RFXtoRP_HsaCons_ActorDeleted.ftl +++ b/RFXtoRP_HsaCons_ActorDeleted.ftl @@ -4,7 +4,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${actor.code}" + "RefID": "${actor.code?trim?json_string}" }, "Payload": {} diff --git a/RFXtoRP_HsaIpgMove.ftl b/RFXtoRP_HsaIpgMove.ftl index 7715ea3..44fc2aa 100644 --- a/RFXtoRP_HsaIpgMove.ftl +++ b/RFXtoRP_HsaIpgMove.ftl @@ -49,17 +49,16 @@ "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsaIpgMove_GoodsReceived.ftl"> - } ] <#else> <#-- Case of IPG move type volontarilly ignored--> - <#stop "Move type not supported"> + <#stop> <#else> <#-- cases of an IPG move with quantity = 0 (weight modification)--> - <#stop "move ignored quantity = 0"> + <#stop> <#break> diff --git a/RFXtoRP_HsaIpgMove_GoodsReceived.ftl b/RFXtoRP_HsaIpgMove_GoodsReceived.ftl index 3b60527..5131883 100644 --- a/RFXtoRP_HsaIpgMove_GoodsReceived.ftl +++ b/RFXtoRP_HsaIpgMove_GoodsReceived.ftl @@ -8,7 +8,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${reflexMvtStockInterface.hd_number}" + "RefID": "${reflexMvtStockInterface.hd_number?trim?json_string}" }, "Payload": { "ReceivedContents" :[ @@ -18,16 +18,20 @@ "AuthorTimeZone": "${time_zone_rfx}" }, "Goods": { - "ItemID": "${reflexMvtStockInterface.item_code}", - "LVBranchID": "${reflexMvtStockInterface.lv_code}", + "ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}", + "LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}", "PriorityDate": "${priority_date}", <#-- Goods received Segmentation Keys inclusion --> <#include "RFXtoRP_HsaIpgMove_GoodsReceived_SegmentationKeys.ftl"> }, - "ExecutionflowID": "${reflexMvtStockInterface.receipt_reference}", + <#if reflexMvtStockInterface.receipt_reference!=""> + "ExecutionflowID": "${reflexMvtStockInterface.receipt_reference?trim?json_string}", + <#else> + "ExecutionflowID": "${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.ipg_move_year_number}${reflexMvtStockInterface.extended_ipg_move_number}", + "LineID": "${reflexMvtStockInterface.receipt_line_number}", - "ActorID": "${reflexMvtStockInterface.physical_depot_code}", + "ActorID": "${reflexMvtStockInterface.physical_depot_code?trim?json_string}", "Quantity": { "LVID": "${quantity_in_base_lv_RP_Cst}", "Value": ${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs} diff --git a/RFXtoRP_HsaIpgMove_StockMoved.ftl b/RFXtoRP_HsaIpgMove_StockMoved.ftl index 754b2d2..3b09764 100644 --- a/RFXtoRP_HsaIpgMove_StockMoved.ftl +++ b/RFXtoRP_HsaIpgMove_StockMoved.ftl @@ -23,26 +23,26 @@ }, "Payload": { "Goods": { - "ItemID": "${reflexMvtStockInterface.item_code}", + "ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}", "PriorityDate": "${ipg_priority_datetime}", <#-- Segmentation keys inclusions --> <#include "RFXtoRP_HsaIpgMove_StockMoved_SegmentationKeys.ftl">, - "LVBranchID": "${reflexMvtStockInterface.lv_code}" + "LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}" }, - "ActorID": "${reflexMvtStockInterface.physical_depot_code}", + "ActorID": "${reflexMvtStockInterface.physical_depot_code?trim?json_string}", "Movement": { "DateTime": { "DateTime": "${generation_date}", "AuthorTimeZone": "${time_zone_rfx}" }, - "Author": "ReflexWMS-${reflexMvtStockInterface.ipg_move_creation_user_code}", + "Author": "ReflexWMS-${reflexMvtStockInterface.ipg_move_creation_user_code?json_string}", "ExternalMoveRef" : "${reflexMvtStockInterface.ipg_move_year_number} - ${reflexMvtStockInterface.ipg_move_number}", "Type": "${MoveType_KV[reflexMvtStockInterface.ipg_move_type]!reflexMvtStockInterface.ipg_move_type}", - "Reason": "${reflexMvtStockInterface.miscellaneous_receipts_despatches_code}", + "Reason": "${reflexMvtStockInterface.miscellaneous_receipts_despatches_code?json_string}", "ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference?json_string}", <#if reflexMvtStockInterface.ipg_move_operation_year_number!= 0> "OperationReference": "${reflexMvtStockInterface.ipg_move_operation_year_number} - ${reflexMvtStockInterface.ipg_move_operation_number}", diff --git a/RFXtoRP_HsaItmLv_LogisticVariantRemoved.ftl b/RFXtoRP_HsaItmLv_LogisticVariantRemoved.ftl index 5c1c26e..9ac6882 100644 --- a/RFXtoRP_HsaItmLv_LogisticVariantRemoved.ftl +++ b/RFXtoRP_HsaItmLv_LogisticVariantRemoved.ftl @@ -5,7 +5,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${lv.item_code}" + "RefID": "${lv.item_code?trim?json_string}" }, "Payload": { "RemovedLogisticVariantIDs":["${lv.logistical_variant_code}"] diff --git a/RFXtoRP_HsaItmLv_LogisticVariantUpdated.ftl b/RFXtoRP_HsaItmLv_LogisticVariantUpdated.ftl index 1385a6e..5236207 100644 --- a/RFXtoRP_HsaItmLv_LogisticVariantUpdated.ftl +++ b/RFXtoRP_HsaItmLv_LogisticVariantUpdated.ftl @@ -5,19 +5,19 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${lv.item_code}" + "RefID": "${lv.item_code?trim?json_string}" }, "Payload": { "LogisticVariants": [ { - "LVID": "${lv.logistical_variant_code}", - "Name" : "${lv.lv_type_code}", + "LVID": "${lv.logistical_variant_code?json_string}", + "Name" : "${lv.lv_type_code?json_string}", <#if lv.id_list??> "Codes": [ <#list lv.id_list as id> { - "Key": "${id.logistical_variant_ID_type_code}", - "Value": "${id.logistical_variant_ID_code}" + "Key": "${id.logistical_variant_ID_type_code?json_string!""}", + "Value": "${id.logistical_variant_ID_code?json_string!""}" }<#sep>, ], @@ -29,7 +29,7 @@ "IsBaseLogisticVariant": ${lv.base_lv}, <#if lv.base_lv != "true"> - "RefLV": "${lv.subpackaging_lv_code}", + "RefLV": "${lv.subpackaging_lv_code?json_string}", "QuantityInRefLV": ${lv.quantity_in_subpackaging_lv}, diff --git a/RFXtoRP_HsaItm_ItemCreated.ftl b/RFXtoRP_HsaItm_ItemCreated.ftl index f38c95d..cb1585e 100644 --- a/RFXtoRP_HsaItm_ItemCreated.ftl +++ b/RFXtoRP_HsaItm_ItemCreated.ftl @@ -6,7 +6,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${item.item_code}" + "RefID": "${item.item_code?trim?json_string}" }, "Payload": { "DescriptionsByLanguage": [{ @@ -32,15 +32,15 @@ <#list item.logistical_variant_list as logistical_variant> { - "LVID": "${logistical_variant.logistical_variant_code}", - "Name" : "${logistical_variant.lv_type_code}", + "LVID": "${logistical_variant.logistical_variant_code?json_string}", + "Name" : "${logistical_variant.lv_type_code?json_string}", <#if logistical_variant.id_list??> "Codes": [ <#list logistical_variant.id_list as id> { - "Key": "${id.logistical_variant_ID_type_code}", - "Value": "${id.logistical_variant_ID_code}" + "Key": "${id.logistical_variant_ID_type_code?json_string!""}", + "Value": "${id.logistical_variant_ID_code?json_string!""}" }<#sep>, ], @@ -52,7 +52,7 @@ "IsBaseLogisticVariant": ${logistical_variant.base_lv}, <#if logistical_variant.base_lv != "true"> - "RefLV": "${logistical_variant.subpackaging_lv_code}", + "RefLV": "${logistical_variant.subpackaging_lv_code?json_string}", "QuantityInRefLV": ${logistical_variant.quantity_in_subpackaging_lv}, diff --git a/RFXtoRP_HsaItm_ItemDeleted.ftl b/RFXtoRP_HsaItm_ItemDeleted.ftl index 9250205..485ace1 100644 --- a/RFXtoRP_HsaItm_ItemDeleted.ftl +++ b/RFXtoRP_HsaItm_ItemDeleted.ftl @@ -5,7 +5,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${item.item_code}" + "RefID": "${item.item_code?trim?json_string}" }, "Payload": {} } diff --git a/RFXtoRP_HsaProStatus.ftl b/RFXtoRP_HsaProStatus.ftl index 2a1aa97..7fda3bb 100644 --- a/RFXtoRP_HsaProStatus.ftl +++ b/RFXtoRP_HsaProStatus.ftl @@ -61,8 +61,7 @@ <#include "RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl"> } <#else> - <#stop "Reflex WMS status not supported on Reflex Platform"> - + <#stop> diff --git a/RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl b/RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl index 847ec8a..73eb34b 100644 --- a/RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl +++ b/RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl @@ -8,7 +8,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${preparationStatusInterface.preparation_order_originator_reference}", + "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", "RefDate": { "DateTime": "${preparation_status_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsaProStatus_PreparationCompleted.ftl b/RFXtoRP_HsaProStatus_PreparationCompleted.ftl index 110b7f6..3ca47e2 100644 --- a/RFXtoRP_HsaProStatus_PreparationCompleted.ftl +++ b/RFXtoRP_HsaProStatus_PreparationCompleted.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${preparationStatusInterface.preparation_order_originator_reference}", + "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", "RefDate": { "DateTime": "${preparation_status_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsaProStatus_PreparationExpected.ftl b/RFXtoRP_HsaProStatus_PreparationExpected.ftl index 110b7f6..3ca47e2 100644 --- a/RFXtoRP_HsaProStatus_PreparationExpected.ftl +++ b/RFXtoRP_HsaProStatus_PreparationExpected.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${preparationStatusInterface.preparation_order_originator_reference}", + "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", "RefDate": { "DateTime": "${preparation_status_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsaProStatus_PreparationStarted.ftl b/RFXtoRP_HsaProStatus_PreparationStarted.ftl index 110b7f6..3ca47e2 100644 --- a/RFXtoRP_HsaProStatus_PreparationStarted.ftl +++ b/RFXtoRP_HsaProStatus_PreparationStarted.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${preparationStatusInterface.preparation_order_originator_reference}", + "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", "RefDate": { "DateTime": "${preparation_status_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsaProStatus_TransportStarted.ftl b/RFXtoRP_HsaProStatus_TransportStarted.ftl index 110b7f6..3ca47e2 100644 --- a/RFXtoRP_HsaProStatus_TransportStarted.ftl +++ b/RFXtoRP_HsaProStatus_TransportStarted.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${preparationStatusInterface.preparation_order_originator_reference}", + "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", "RefDate": { "DateTime": "${preparation_status_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsaSup_ActorCreated.ftl b/RFXtoRP_HsaSup_ActorCreated.ftl index 5a219ad..bdb370f 100644 --- a/RFXtoRP_HsaSup_ActorCreated.ftl +++ b/RFXtoRP_HsaSup_ActorCreated.ftl @@ -4,7 +4,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${actor.code}" + "RefID": "${actor.code?trim?json_string}" }, "Payload": { diff --git a/RFXtoRP_HsaSup_ActorDeleted.ftl b/RFXtoRP_HsaSup_ActorDeleted.ftl index 07f19fc..93475b7 100644 --- a/RFXtoRP_HsaSup_ActorDeleted.ftl +++ b/RFXtoRP_HsaSup_ActorDeleted.ftl @@ -4,7 +4,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${actor.code}" + "RefID": "${actor.code?trim?json_string}" }, "Payload": {} diff --git a/RFXtoRP_HsrDepot_ActorCreated.ftl b/RFXtoRP_HsrDepot_ActorCreated.ftl index 07adb7e..516cc1f 100644 --- a/RFXtoRP_HsrDepot_ActorCreated.ftl +++ b/RFXtoRP_HsrDepot_ActorCreated.ftl @@ -4,7 +4,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${depot.physical_depot_code}" + "RefID": "${depot.physical_depot_code?trim?json_string}" }, "Payload": { diff --git a/RFXtoRP_HsrDepot_ActorDeleted.ftl b/RFXtoRP_HsrDepot_ActorDeleted.ftl index 164f67e..0fcdcf7 100644 --- a/RFXtoRP_HsrDepot_ActorDeleted.ftl +++ b/RFXtoRP_HsrDepot_ActorDeleted.ftl @@ -4,7 +4,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${depot.physical_depot_code}" + "RefID": "${depot.physical_depot_code?trim?json_string}" }, "Payload": {} diff --git a/RFXtoRP_HsrPrepa.ftl b/RFXtoRP_HsrPrepa.ftl index 2d5075d..598f8c6 100644 --- a/RFXtoRP_HsrPrepa.ftl +++ b/RFXtoRP_HsrPrepa.ftl @@ -19,7 +19,7 @@ <#if preparationOrder.total_lv_validated !=0> [ { - <#assign apiReflexPlatformID = ApiReflexPlatformID.GoodsPrepared> + <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsPrepared> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrPrepa_GoodsPrepared.ftl"> diff --git a/RFXtoRP_HsrPrepa_GoodsPrepared.ftl b/RFXtoRP_HsrPrepa_GoodsPrepared.ftl index 257afcf..a7e1bb8 100644 --- a/RFXtoRP_HsrPrepa_GoodsPrepared.ftl +++ b/RFXtoRP_HsrPrepa_GoodsPrepared.ftl @@ -30,8 +30,8 @@ "PreparedContents" :[ { "Goods": { - "ItemID": "${preparation_line.item_code}", - "LVBranchID": "${preparation_line.item_lv_code}", + "ItemID": "${preparation_line.item_code?trim?json_string}", + "LVBranchID": "${preparation_line.item_lv_code?json_string}", <#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}", @@ -56,7 +56,7 @@ <#assign priority_date = preparationOrder.stock_despatch_at_preparation_datetime?datetime(rfx_date_format_default)?iso_utc /> "PriorityDate": "${priority_date}", <#else> - "PriorityDate": "error_date", + "PriorityDate": "1970-01-01T00:00:00Z", @@ -67,13 +67,13 @@ <#-- Segmentation Keys inclusion --> <#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl"> }, - "ExecutionflowID": "${preparation_line.preparation_order_originator_reference}", + "ExecutionflowID": "${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}", - "ActorID": "${preparationOrder.physical_depot_code}", + "ActorID": "${preparationOrder.physical_depot_code?trim?json_string}", "Quantity": { "LVID": "${quantity_in_base_lv_RP_Cst}", "Value": ${despatched_ipg.quantity_lvs} diff --git a/RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl b/RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl index dd55a18..d936618 100644 --- a/RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl +++ b/RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${despatched_ipg.consignment_unit_id}" + "RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}" }, "Payload": { <#if despatched_ipg.carton_number != "000000000000000000"> diff --git a/RFXtoRP_HsrPro.ftl b/RFXtoRP_HsrPro.ftl index 6f1864b..988c6e9 100644 --- a/RFXtoRP_HsrPro.ftl +++ b/RFXtoRP_HsrPro.ftl @@ -17,9 +17,9 @@ <#assign preparation_order = JsonUtil.jsonToMap(dataRfx)> [ { + <#if preparation_order.originator_reference?? && preparation_order.originator_reference!=""> <#-- check preparation type code (internal order and reservation are ignored) --> - <#if preparation_order.preparation_type_code == "010" || order.preparation_type_code == "030"> - + <#if preparation_order.preparation_type_code == "010" || preparation_order.preparation_type_code == "030"> <#-- Only if preparation order not confirmed --> <#if preparation_order.preparation_order_confirmed == "false" > <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> @@ -33,6 +33,9 @@ <#else> <#stop "preparation order type not supported"> + <#else> + <#stop "PRO reference is empty"> + } ] diff --git a/RFXtoRP_HsrPro_ExecutionflowCancelled.ftl b/RFXtoRP_HsrPro_ExecutionflowCancelled.ftl index d933eed..9f439cc 100644 --- a/RFXtoRP_HsrPro_ExecutionflowCancelled.ftl +++ b/RFXtoRP_HsrPro_ExecutionflowCancelled.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${preparation_order.originator_reference}", + "RefID": "${preparation_order.originator_reference?trim?json_string}", "RefDate": { "DateTime": "${preparation_status_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsrPro_ExecutionflowDetected.ftl b/RFXtoRP_HsrPro_ExecutionflowDetected.ftl index 00a2f46..dba5e0c 100644 --- a/RFXtoRP_HsrPro_ExecutionflowDetected.ftl +++ b/RFXtoRP_HsrPro_ExecutionflowDetected.ftl @@ -8,7 +8,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${preparation_order.originator_reference}", + "RefID": "${preparation_order.originator_reference?trim?json_string}", "RefDate": { "DateTime": "${pro_creation_datetime}", "AuthorTimeZone": "${time_zone_rfx}" @@ -23,10 +23,10 @@ <#include "RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl">, <#-- Add transport grade code <#if preparation_order.transport_grade_code!=""> - "CarrierService":"${preparation_order.transport_grade_code}", + "CarrierService":"${preparation_order.transport_grade_code?trim?json_string}", --> "ShipFrom": { - "ActorID": "${preparation_order.physical_depot_code}" + "ActorID": "${preparation_order.physical_depot_code?trim?json_string}" }, "ShipFromAcked": true, "ShipTo": { @@ -68,7 +68,7 @@ "FirstName" : "${preparation_order.address.first_name?json_string!""}", "LastName" : "${preparation_order.address.last_name?json_string!""}", "Emails" : ${splitEmailsIntoArray(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!""}" ] + "Phones" : ["${preparation_order.address.mobile_phone_number?json_string!""}","${preparation_order.address.land_line_phone_number?json_string!""}", "${preparation_order.address.fax_number?json_string!""}" ] } }, @@ -89,8 +89,8 @@ { "Goods": { - "ItemID": "${preparation_order_line.item_code!"0"}", - "LVBranchID": "${preparation_order_line.item_lv_code!"0"}", + "ItemID": "${preparation_order_line.item_code?trim?json_string!"0"}", + "LVBranchID": "${preparation_order_line.item_lv_code?json_string!"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}", diff --git a/RFXtoRP_HsrReceiptList.ftl b/RFXtoRP_HsrReceiptList.ftl index 4932a33..0425c73 100644 --- a/RFXtoRP_HsrReceiptList.ftl +++ b/RFXtoRP_HsrReceiptList.ftl @@ -15,7 +15,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign receipt = JsonUtil.jsonToMap(dataRfx)> - + <#if receipt.receipt_reference ?? && receipt.receipt_reference!=""> <#if receipt.receipt_type = "030"> <#stop "ignored message because receipt type = transfert"> <#else> @@ -36,6 +36,9 @@ } ] + <#else> + <#stop "Receipt reference is empty"> + <#break> <#case "U"> <#-- *********************************************** Action = UPDATE ******************** --> diff --git a/RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl b/RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl index e294ccf..df69a85 100644 --- a/RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl +++ b/RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl @@ -8,7 +8,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${receipt.receipt_reference}", + "RefID": "${receipt.receipt_reference?trim?json_string}", "RefDate": { "DateTime": "${receipt_status_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl b/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl index 477456f..715d181 100644 --- a/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl +++ b/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl @@ -8,7 +8,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${receipt.receipt_reference}", + "RefID": "${receipt.receipt_reference?trim?json_string}", "RefDate": { "DateTime": "${receipt_creation_datetime}", "AuthorTimeZone": "${time_zone_rfx}" @@ -25,16 +25,16 @@ "ShipFrom": { - "ActorID": "${receipt.original_code}" + "ActorID": "${receipt.original_code?trim?json_string}" }, "ShipTo" : { - "ActorID": "${receipt.physical_depot_code}" + "ActorID": "${receipt.physical_depot_code?trim?json_string}" }, "ShipToAcked": true, <#if receipt.carrier_informations.carrier_code != ""> - "Carrier" : {"ActorID": "${receipt.carrier_informations.carrier_code}"}, + "Carrier" : {"ActorID": "${receipt.carrier_informations.carrier_code?trim?json_string}"}, @@ -49,15 +49,15 @@ { "Goods": { - "ItemID": "${line.item_code!"0"}", - "LVBranchID": "${line.item_lv_code!"0"}", + "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)> <#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 "line with detail"> + <#stop > <#-- Segmentation Keys inclusion --> <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl"> diff --git a/RFXtoRP_HsrReceiptList_ReceiptCompleted.ftl b/RFXtoRP_HsrReceiptList_ReceiptCompleted.ftl index 3d36bb1..1c87c12 100644 --- a/RFXtoRP_HsrReceiptList_ReceiptCompleted.ftl +++ b/RFXtoRP_HsrReceiptList_ReceiptCompleted.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${receipt.receipt_reference}", + "RefID": "${receipt.receipt_reference?trim?json_string}", "RefDate": { "DateTime": "${receipt_status_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/RFXtoRP_HsrReceiptList_ReceiptExpected.ftl b/RFXtoRP_HsrReceiptList_ReceiptExpected.ftl index 823866d..8588fa5 100644 --- a/RFXtoRP_HsrReceiptList_ReceiptExpected.ftl +++ b/RFXtoRP_HsrReceiptList_ReceiptExpected.ftl @@ -8,7 +8,7 @@ "ProjectID": "${projectRP}" }, "ID": { - "RefID": "${receipt.receipt_reference}", + "RefID": "${receipt.receipt_reference?trim?json_string}", "RefDate": { "DateTime": "${receipt_status_datetime}", "AuthorTimeZone": "${time_zone_rfx}" diff --git a/ReflexUtils.ftl b/ReflexUtils.ftl index bc58619..24d10e7 100644 --- a/ReflexUtils.ftl +++ b/ReflexUtils.ftl @@ -10,11 +10,10 @@ <#-- Split email reflex into json array string --> <#-- Example : splitemail "john.doe@hardis-group.com,; name@hardis-group.com" --> <#-- return "["john.doe@hardis-group.com","name@hardis-group.com"]" --> -<#-- ${splitEmailsIntoArray(emailReflex)} --> <#-- --------------------------------------------------------------------------------------- --> <#function splitEmailsIntoArray emails > <#local str = "["> -<#list emails?split(';|,| ',"r")?filter(l -> l != "") as email> +<#list emails?split(";|,| |à|/","r")?filter(l -> l != "") as email> <#if email?matches("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$")> <#if str != "["> <#local str += ",">