SCPN1-6093

This commit is contained in:
Francis REAT 2024-02-29 14:16:53 +01:00
parent 892812e85e
commit fba36b5d77
36 changed files with 82 additions and 73 deletions

View File

@ -22,7 +22,7 @@
}, },
"Goods": { "Goods": {
"ItemID": "${stock.item_code}", "ItemID": "${stock.item_code?trim?json_string}",
"LVBranchID": "${stock.item_logistical_variant_code}", "LVBranchID": "${stock.item_logistical_variant_code}",
<#assign priority_date = stock.priority_date?datetime(rfx_date_format_default)?iso_utc /> <#assign priority_date = stock.priority_date?datetime(rfx_date_format_default)?iso_utc />
<#if (stock.priority_date!="") && (stock.priority_date?starts_with("00")== false) > <#if (stock.priority_date!="") && (stock.priority_date?starts_with("00")== false) >

View File

@ -24,5 +24,5 @@ ${output}
<#break> <#break>
<#default> <#default>
<#stop> <#stop >
</#switch> </#switch>

View File

@ -9,7 +9,9 @@
<#case "C"> <#case "C">
<#case "U"> <#case "U">
<#case "D"> <#case "D">
<#stop "no generic FTL file available yet for LV types"> <#stop "no generic FTL file available yet for LV types">
<#break> <#break>

View File

@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${carrier.carrier_code}" "RefID": "${carrier.carrier_code?trim?json_string}"
}, },
"Payload": { "Payload": {

View File

@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${carrier.carrier_code}" "RefID": "${carrier.carrier_code?trim?json_string}"
}, },
"Payload": {} "Payload": {}

View File

@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${actor.code}" "RefID": "${actor.code?trim?json_string}"
}, },
"Payload": { "Payload": {

View File

@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${actor.code}" "RefID": "${actor.code?trim?json_string}"
}, },
"Payload": {} "Payload": {}

View File

@ -49,17 +49,16 @@
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsaIpgMove_GoodsReceived.ftl"> <#include "RFXtoRP_HsaIpgMove_GoodsReceived.ftl">
} }
] ]
<#else> <#else>
<#-- Case of IPG move type volontarilly ignored--> <#-- Case of IPG move type volontarilly ignored-->
<#stop "Move type not supported"> <#stop>
</#if> </#if>
</#if> </#if>
<#else> <#else>
<#-- cases of an IPG move with quantity = 0 (weight modification)--> <#-- cases of an IPG move with quantity = 0 (weight modification)-->
<#stop "move ignored quantity = 0"> <#stop>
</#if> </#if>
<#break> <#break>

View File

@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${reflexMvtStockInterface.hd_number}" "RefID": "${reflexMvtStockInterface.hd_number?trim?json_string}"
}, },
"Payload": { "Payload": {
"ReceivedContents" :[ "ReceivedContents" :[
@ -18,16 +18,20 @@
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
}, },
"Goods": { "Goods": {
"ItemID": "${reflexMvtStockInterface.item_code}", "ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
"LVBranchID": "${reflexMvtStockInterface.lv_code}", "LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}",
"PriorityDate": "${priority_date}", "PriorityDate": "${priority_date}",
<#-- Goods received Segmentation Keys inclusion --> <#-- Goods received Segmentation Keys inclusion -->
<#include "RFXtoRP_HsaIpgMove_GoodsReceived_SegmentationKeys.ftl"> <#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}",
</#if>
"LineID": "${reflexMvtStockInterface.receipt_line_number}", "LineID": "${reflexMvtStockInterface.receipt_line_number}",
"ActorID": "${reflexMvtStockInterface.physical_depot_code}", "ActorID": "${reflexMvtStockInterface.physical_depot_code?trim?json_string}",
"Quantity": { "Quantity": {
"LVID": "${quantity_in_base_lv_RP_Cst}", "LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": ${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs} "Value": ${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs}

View File

@ -23,26 +23,26 @@
}, },
"Payload": { "Payload": {
"Goods": { "Goods": {
"ItemID": "${reflexMvtStockInterface.item_code}", "ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
"PriorityDate": "${ipg_priority_datetime}", "PriorityDate": "${ipg_priority_datetime}",
<#-- Segmentation keys inclusions --> <#-- Segmentation keys inclusions -->
<#include "RFXtoRP_HsaIpgMove_StockMoved_SegmentationKeys.ftl">, <#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": { "Movement": {
"DateTime": { "DateTime": {
"DateTime": "${generation_date}", "DateTime": "${generation_date}",
"AuthorTimeZone": "${time_zone_rfx}" "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}", "ExternalMoveRef" : "${reflexMvtStockInterface.ipg_move_year_number} - ${reflexMvtStockInterface.ipg_move_number}",
"Type": "${MoveType_KV[reflexMvtStockInterface.ipg_move_type]!reflexMvtStockInterface.ipg_move_type}", "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}", "ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference?json_string}",
<#if reflexMvtStockInterface.ipg_move_operation_year_number!= 0> <#if reflexMvtStockInterface.ipg_move_operation_year_number!= 0>
"OperationReference": "${reflexMvtStockInterface.ipg_move_operation_year_number} - ${reflexMvtStockInterface.ipg_move_operation_number}", "OperationReference": "${reflexMvtStockInterface.ipg_move_operation_year_number} - ${reflexMvtStockInterface.ipg_move_operation_number}",

View File

@ -5,7 +5,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${lv.item_code}" "RefID": "${lv.item_code?trim?json_string}"
}, },
"Payload": { "Payload": {
"RemovedLogisticVariantIDs":["${lv.logistical_variant_code}"] "RemovedLogisticVariantIDs":["${lv.logistical_variant_code}"]

View File

@ -5,19 +5,19 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${lv.item_code}" "RefID": "${lv.item_code?trim?json_string}"
}, },
"Payload": { "Payload": {
"LogisticVariants": [ "LogisticVariants": [
{ {
"LVID": "${lv.logistical_variant_code}", "LVID": "${lv.logistical_variant_code?json_string}",
"Name" : "${lv.lv_type_code}", "Name" : "${lv.lv_type_code?json_string}",
<#if lv.id_list??> <#if lv.id_list??>
"Codes": [ "Codes": [
<#list lv.id_list as id> <#list lv.id_list as id>
{ {
"Key": "${id.logistical_variant_ID_type_code}", "Key": "${id.logistical_variant_ID_type_code?json_string!""}",
"Value": "${id.logistical_variant_ID_code}" "Value": "${id.logistical_variant_ID_code?json_string!""}"
}<#sep>,</#sep> }<#sep>,</#sep>
</#list> </#list>
], ],
@ -29,7 +29,7 @@
"IsBaseLogisticVariant": ${lv.base_lv}, "IsBaseLogisticVariant": ${lv.base_lv},
<#if lv.base_lv != "true"> <#if lv.base_lv != "true">
"RefLV": "${lv.subpackaging_lv_code}", "RefLV": "${lv.subpackaging_lv_code?json_string}",
</#if> </#if>
"QuantityInRefLV": ${lv.quantity_in_subpackaging_lv}, "QuantityInRefLV": ${lv.quantity_in_subpackaging_lv},

View File

@ -6,7 +6,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${item.item_code}" "RefID": "${item.item_code?trim?json_string}"
}, },
"Payload": { "Payload": {
"DescriptionsByLanguage": [{ "DescriptionsByLanguage": [{
@ -32,15 +32,15 @@
<#list item.logistical_variant_list as logistical_variant> <#list item.logistical_variant_list as logistical_variant>
{ {
"LVID": "${logistical_variant.logistical_variant_code}", "LVID": "${logistical_variant.logistical_variant_code?json_string}",
"Name" : "${logistical_variant.lv_type_code}", "Name" : "${logistical_variant.lv_type_code?json_string}",
<#if logistical_variant.id_list??> <#if logistical_variant.id_list??>
"Codes": [ "Codes": [
<#list logistical_variant.id_list as id> <#list logistical_variant.id_list as id>
{ {
"Key": "${id.logistical_variant_ID_type_code}", "Key": "${id.logistical_variant_ID_type_code?json_string!""}",
"Value": "${id.logistical_variant_ID_code}" "Value": "${id.logistical_variant_ID_code?json_string!""}"
}<#sep>,</#sep> }<#sep>,</#sep>
</#list> </#list>
], ],
@ -52,7 +52,7 @@
"IsBaseLogisticVariant": ${logistical_variant.base_lv}, "IsBaseLogisticVariant": ${logistical_variant.base_lv},
<#if logistical_variant.base_lv != "true"> <#if logistical_variant.base_lv != "true">
"RefLV": "${logistical_variant.subpackaging_lv_code}", "RefLV": "${logistical_variant.subpackaging_lv_code?json_string}",
</#if> </#if>
"QuantityInRefLV": ${logistical_variant.quantity_in_subpackaging_lv}, "QuantityInRefLV": ${logistical_variant.quantity_in_subpackaging_lv},

View File

@ -5,7 +5,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${item.item_code}" "RefID": "${item.item_code?trim?json_string}"
}, },
"Payload": {} "Payload": {}
} }

View File

@ -61,8 +61,7 @@
<#include "RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl"> <#include "RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl">
} }
<#else> <#else>
<#stop "Reflex WMS status not supported on Reflex Platform"> <#stop>
</#if>
</#if> </#if>
</#if> </#if>
</#if> </#if>

View File

@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference}", "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference}", "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference}", "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference}", "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference}", "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${actor.code}" "RefID": "${actor.code?trim?json_string}"
}, },
"Payload": { "Payload": {

View File

@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${actor.code}" "RefID": "${actor.code?trim?json_string}"
}, },
"Payload": {} "Payload": {}

View File

@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${depot.physical_depot_code}" "RefID": "${depot.physical_depot_code?trim?json_string}"
}, },
"Payload": { "Payload": {

View File

@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${depot.physical_depot_code}" "RefID": "${depot.physical_depot_code?trim?json_string}"
}, },
"Payload": {} "Payload": {}

View File

@ -19,7 +19,7 @@
<#if preparationOrder.total_lv_validated !=0> <#if preparationOrder.total_lv_validated !=0>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.GoodsPrepared> <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsPrepared>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrPrepa_GoodsPrepared.ftl"> <#include "RFXtoRP_HsrPrepa_GoodsPrepared.ftl">

View File

@ -30,8 +30,8 @@
"PreparedContents" :[ "PreparedContents" :[
{ {
"Goods": { "Goods": {
"ItemID": "${preparation_line.item_code}", "ItemID": "${preparation_line.item_code?trim?json_string}",
"LVBranchID": "${preparation_line.item_lv_code}", "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)> <#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 /> <#assign priority_date = despatched_ipg.ipg_manufacture_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}", "PriorityDate": "${priority_date}",
@ -56,7 +56,7 @@
<#assign priority_date = preparationOrder.stock_despatch_at_preparation_datetime?datetime(rfx_date_format_default)?iso_utc /> <#assign priority_date = preparationOrder.stock_despatch_at_preparation_datetime?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}", "PriorityDate": "${priority_date}",
<#else> <#else>
"PriorityDate": "error_date", "PriorityDate": "1970-01-01T00:00:00Z",
</#if> </#if>
</#if> </#if>
</#if> </#if>
@ -67,13 +67,13 @@
<#-- Segmentation Keys inclusion --> <#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl"> <#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> <#if (preparation_line.pro_originator_reference_line_number!0) != 0>
"LineID": "${preparation_line.pro_originator_reference_line_number}", "LineID": "${preparation_line.pro_originator_reference_line_number}",
<#else> <#else>
"LineID": "${preparation_line.pro_line_number!0}", "LineID": "${preparation_line.pro_line_number!0}",
</#if> </#if>
"ActorID": "${preparationOrder.physical_depot_code}", "ActorID": "${preparationOrder.physical_depot_code?trim?json_string}",
"Quantity": { "Quantity": {
"LVID": "${quantity_in_base_lv_RP_Cst}", "LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": ${despatched_ipg.quantity_lvs} "Value": ${despatched_ipg.quantity_lvs}

View File

@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${despatched_ipg.consignment_unit_id}" "RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}"
}, },
"Payload": { "Payload": {
<#if despatched_ipg.carton_number != "000000000000000000"> <#if despatched_ipg.carton_number != "000000000000000000">

View File

@ -17,9 +17,9 @@
<#assign preparation_order = JsonUtil.jsonToMap(dataRfx)> <#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) --> <#-- 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 --> <#-- Only if preparation order not confirmed -->
<#if preparation_order.preparation_order_confirmed == "false" > <#if preparation_order.preparation_order_confirmed == "false" >
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
@ -32,6 +32,9 @@
<#else> <#else>
<#stop "preparation order type not supported"> <#stop "preparation order type not supported">
</#if>
<#else>
<#stop "PRO reference is empty">
</#if> </#if>
} }

View File

@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparation_order.originator_reference}", "RefID": "${preparation_order.originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparation_order.originator_reference}", "RefID": "${preparation_order.originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${pro_creation_datetime}", "DateTime": "${pro_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
@ -23,10 +23,10 @@
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl">, <#include "RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl">,
<#-- Add transport grade code <#-- Add transport grade code
<#if preparation_order.transport_grade_code!=""> <#if preparation_order.transport_grade_code!="">
"CarrierService":"${preparation_order.transport_grade_code}", "CarrierService":"${preparation_order.transport_grade_code?trim?json_string}",
</#if> --> </#if> -->
"ShipFrom": { "ShipFrom": {
"ActorID": "${preparation_order.physical_depot_code}" "ActorID": "${preparation_order.physical_depot_code?trim?json_string}"
}, },
"ShipFromAcked": true, "ShipFromAcked": true,
"ShipTo": { "ShipTo": {
@ -68,7 +68,7 @@
"FirstName" : "${preparation_order.address.first_name?json_string!""}", "FirstName" : "${preparation_order.address.first_name?json_string!""}",
"LastName" : "${preparation_order.address.last_name?json_string!""}", "LastName" : "${preparation_order.address.last_name?json_string!""}",
"Emails" : ${splitEmailsIntoArray(preparation_order.address.mail_address!""?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!""}" ]
} }
</#if> </#if>
}, },
@ -89,8 +89,8 @@
{ {
"Goods": "Goods":
{ {
"ItemID": "${preparation_order_line.item_code!"0"}", "ItemID": "${preparation_order_line.item_code?trim?json_string!"0"}",
"LVBranchID": "${preparation_order_line.item_lv_code!"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)> <#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 /> <#assign forced_priority_date = preparation_order_line.optional_attributes.forced_priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${forced_priority_date}", "PriorityDate": "${forced_priority_date}",

View File

@ -15,7 +15,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign receipt = JsonUtil.jsonToMap(dataRfx)> <#assign receipt = JsonUtil.jsonToMap(dataRfx)>
<#if receipt.receipt_reference ?? && receipt.receipt_reference!="">
<#if receipt.receipt_type = "030"> <#if receipt.receipt_type = "030">
<#stop "ignored message because receipt type = transfert"> <#stop "ignored message because receipt type = transfert">
<#else> <#else>
@ -36,6 +36,9 @@
} }
] ]
</#if> </#if>
<#else>
<#stop "Receipt reference is empty">
</#if>
<#break> <#break>
<#case "U"> <#case "U">
<#-- *********************************************** Action = UPDATE ******************** --> <#-- *********************************************** Action = UPDATE ******************** -->

View File

@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${receipt.receipt_reference}", "RefID": "${receipt.receipt_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${receipt_status_datetime}", "DateTime": "${receipt_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${receipt.receipt_reference}", "RefID": "${receipt.receipt_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${receipt_creation_datetime}", "DateTime": "${receipt_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
@ -25,16 +25,16 @@
"ShipFrom": "ShipFrom":
{ {
"ActorID": "${receipt.original_code}" "ActorID": "${receipt.original_code?trim?json_string}"
}, },
"ShipTo" : "ShipTo" :
{ {
"ActorID": "${receipt.physical_depot_code}" "ActorID": "${receipt.physical_depot_code?trim?json_string}"
}, },
"ShipToAcked": true, "ShipToAcked": true,
<#if receipt.carrier_informations.carrier_code != ""> <#if receipt.carrier_informations.carrier_code != "">
"Carrier" : {"ActorID": "${receipt.carrier_informations.carrier_code}"}, "Carrier" : {"ActorID": "${receipt.carrier_informations.carrier_code?trim?json_string}"},
</#if> </#if>
@ -49,15 +49,15 @@
{ {
"Goods": "Goods":
{ {
"ItemID": "${line.item_code!"0"}", "ItemID": "${line.item_code?trim?json_string!"0"}",
"LVBranchID": "${line.item_lv_code!"0"}", "LVBranchID": "${line.item_lv_code?json_string!"0"}",
<#if line.line_without_detail??> <#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.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 /> <#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}", "PriorityDate": "${line_without_detail_priority_date}",
</#if> </#if>
<#else> <#else>
<#stop "line with detail"> <#stop >
</#if> </#if>
<#-- Segmentation Keys inclusion --> <#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl"> <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl">

View File

@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${receipt.receipt_reference}", "RefID": "${receipt.receipt_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${receipt_status_datetime}", "DateTime": "${receipt_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${receipt.receipt_reference}", "RefID": "${receipt.receipt_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${receipt_status_datetime}", "DateTime": "${receipt_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -10,11 +10,10 @@
<#-- Split email reflex into json array string --> <#-- Split email reflex into json array string -->
<#-- Example : splitemail "john.doe@hardis-group.com,; name@hardis-group.com" --> <#-- Example : splitemail "john.doe@hardis-group.com,; name@hardis-group.com" -->
<#-- return "["john.doe@hardis-group.com","name@hardis-group.com"]" --> <#-- return "["john.doe@hardis-group.com","name@hardis-group.com"]" -->
<#-- ${splitEmailsIntoArray(emailReflex)} -->
<#-- --------------------------------------------------------------------------------------- --> <#-- --------------------------------------------------------------------------------------- -->
<#function splitEmailsIntoArray emails > <#function splitEmailsIntoArray emails >
<#local str = "["> <#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 email?matches("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$")>
<#if str != "["> <#if str != "[">
<#local str += ","> <#local str += ",">