Merge branch 'release/1.2' into 'main'

Release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!4
This commit is contained in:
Cedric RODIER 2023-12-01 16:59:41 +00:00
commit 9e398a0ea6
14 changed files with 114 additions and 99 deletions

View File

@ -35,16 +35,19 @@
<#-- if Reflex WMS address is not structured --> <#-- if Reflex WMS address is not structured -->
<#else> <#else>
<#if carrier.address??>
"Name": "${carrier.address.company_name?json_string}", "Name": "${carrier.address.company_name?json_string}",
"StreetAddressOne" : "${carrier.address.address_1?json_string}", "StreetAddressOne" : "${carrier.address.address_1?json_string}",
"StreetAddressTwo" : "${carrier.address.address_2?json_string}", "StreetAddressTwo" : "${carrier.address.address_2?json_string}",
"StreetAddressThree" : "${carrier.address.address_3?json_string}" "StreetAddressThree" : "${carrier.address.address_3?json_string}"
</#if> </#if>
</#if>
}, },
<#if carrier.address??>
"Phones": ["${carrier.address.telephone?json_string}", "Phones": ["${carrier.address.telephone?json_string}",
"${carrier.address.other_number?json_string}" "${carrier.address.other_number?json_string}"
], ],
</#if>
"Typology": "TYPOLOGY_CARRIER" "Typology": "TYPOLOGY_CARRIER"
} }
} }

View File

@ -35,18 +35,20 @@
<#-- if Reflex WMS is not structured --> <#-- if Reflex WMS is not structured -->
<#else> <#else>
<#if actor.address?? >
"Name": "${actor.address.company_name?json_string}", "Name": "${actor.address.company_name?json_string}",
"StreetAddressOne" : "${actor.address.address_1?json_string}", "StreetAddressOne" : "${actor.address.address_1?json_string}",
"StreetAddressTwo" : "${actor.address.address_2?json_string}", "StreetAddressTwo" : "${actor.address.address_2?json_string}",
"StreetAddressThree" : "${actor.address.address_3?json_string}" "StreetAddressThree" : "${actor.address.address_3?json_string}"
</#if>
</#if> </#if>
}, },
<#if actor.address?? >
"Phones": ["${actor.address.telephone?json_string}", "Phones": ["${actor.address.telephone?json_string}",
"${actor.address.other_number?json_string}" "${actor.address.other_number?json_string}"
], ],
</#if>
"Typology": "TYPOLOGY_UNKNOWN" "Typology": "TYPOLOGY_UNKNOWN"
} }
} }

View File

@ -43,7 +43,7 @@
"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}",
"ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference}", "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}",
</#if> </#if>

View File

@ -16,7 +16,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparationStatusInterface = JsonUtil.jsonToMap(dataRfx) /> <#assign preparationStatusInterface = JsonUtil.jsonToMap(dataRfx) />
[ [
<#--**Pick batch runned (100) **--> <#--**Pick batch runned (200) **-->
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "200" > <#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "200" >
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationExpected> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationExpected>

View File

@ -34,16 +34,20 @@
<#-- if Reflex WMS address is not structured --> <#-- if Reflex WMS address is not structured -->
<#else> <#else>
<#if actor.optional_attributes?? >
"Name": "${actor.optional_attributes.company_name?json_string}", "Name": "${actor.optional_attributes.company_name?json_string}",
"StreetAddressOne" : "${actor.optional_attributes.address_1?json_string}", "StreetAddressOne" : "${actor.optional_attributes.address_1?json_string}",
"StreetAddressTwo" : "${actor.optional_attributes.address_2?json_string}", "StreetAddressTwo" : "${actor.optional_attributes.address_2?json_string}",
"StreetAddressThree" : "${actor.optional_attributes.address_3?json_string}" "StreetAddressThree" : "${actor.optional_attributes.address_3?json_string}"
</#if> </#if>
</#if>
}, },
<#if actor.optional_attributes?? >
"Phones": ["${actor.optional_attributes.telephone?json_string}", "Phones": ["${actor.optional_attributes.telephone?json_string}",
"${actor.optional_attributes.other_number?json_string}" "${actor.optional_attributes.other_number?json_string}"
], ],
</#if>
"Typology": "TYPOLOGY_UNKNOWN" "Typology": "TYPOLOGY_UNKNOWN"
} }
} }

View File

@ -10,11 +10,13 @@
<#assign aDateTime = .now> <#assign aDateTime = .now>
<#switch cloudEventMsg.action> <#switch cloudEventMsg.action>
<#case "C"> <#case "C">
<#--<#case "U"> <#--<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** --> <#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparationOrder = JsonUtil.jsonToMap(dataRfx)> <#assign preparationOrder = JsonUtil.jsonToMap(dataRfx)>
<#if preparationOrder.total_lv_validated !=0>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.GoodsPrepared> <#assign apiReflexPlatformID = ApiReflexPlatformID.GoodsPrepared>
@ -28,7 +30,6 @@
"datas" : "datas" :
<#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl"> <#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl">
} }
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line> <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg> <#list preparation_line.despatched_ipg_list as despatched_ipg>
<#if despatched_ipg.consignment_unit_id != ""> <#if despatched_ipg.consignment_unit_id != "">
@ -44,15 +45,16 @@
</#list> </#list>
</#list> </#list>
] ]
<#break> <#else>
<#stop "no confirmed quantity for the preparation - preparation closed">
</#if>
<#case "D"> <#break>
<#-- *********************************************** Action = DELETE ******************** --> <#case "D">
<#stop "event not supported (Case D)"> <#-- *********************************************** Action = DELETE ******************** -->
<#break> <#stop "event not supported (Case D)">
<#break>
<#default>
<#default> <#stop "event not supported">
<#stop "event not supported">
</#switch> </#switch>

View File

@ -68,7 +68,11 @@
<#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}",
"LineID": "${preparation_line.pro_line_number}", <#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": "${preparationOrder.physical_depot_code}", "ActorID": "${preparationOrder.physical_depot_code}",
"Quantity": { "Quantity": {
"LVID": "${quantity_in_base_lv_RP_Cst}", "LVID": "${quantity_in_base_lv_RP_Cst}",

View File

@ -14,14 +14,14 @@
<#case "U"> <#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** --> <#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign order = JsonUtil.jsonToMap(dataRfx)> <#assign preparation_order = JsonUtil.jsonToMap(dataRfx)>
[ [
{ {
<#-- check preparation type code (internal order and reservation are ignored) --> <#-- check preparation type code (internal order and reservation are ignored) -->
<#if order.preparation_type_code == "010" || order.preparation_type_code == "030"> <#if preparation_order.preparation_type_code == "010" || order.preparation_type_code == "030">
<#-- Only if preparation order not confirmed --> <#-- Only if preparation order not confirmed -->
<#if order.preparation_order_confirmed == "false" > <#if preparation_order.preparation_order_confirmed == "false" >
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
@ -41,7 +41,7 @@
<#case "D"> <#case "D">
<#-- *********************************************** Action = DELETE ******************** --> <#-- *********************************************** Action = DELETE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign order = JsonUtil.jsonToMap(dataRfx)> <#assign preparation_order = JsonUtil.jsonToMap(dataRfx)>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>

View File

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

View File

@ -2,13 +2,13 @@
<#include "ReflexUtils.ftl"> <#include "ReflexUtils.ftl">
[ [
{ {
<#assign planned_final_delivery_start_datetime = RfxDateTimetoUTC(order.planned_final_delivery_start_datetime,time_zone_offset_rfx) /> <#assign planned_final_delivery_start_datetime = RfxDateTimetoUTC(preparation_order.planned_final_delivery_start_datetime,time_zone_offset_rfx) />
<#assign pro_creation_datetime = RfxDateTimetoUTC(order.creation_datetime,time_zone_offset_rfx) /> <#assign pro_creation_datetime = RfxDateTimetoUTC(preparation_order.creation_datetime,time_zone_offset_rfx) />
"Header": { "Header": {
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${order.originator_reference}", "RefID": "${preparation_order.originator_reference}",
"RefDate": { "RefDate": {
"DateTime": "${pro_creation_datetime}", "DateTime": "${pro_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
@ -23,45 +23,45 @@
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl">, <#include "RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl">,
"ShipFrom": { "ShipFrom": {
"ActorID": "${order.physical_depot_code}" "ActorID": "${preparation_order.physical_depot_code}"
}, },
"ShipFromAcked": true, "ShipFromAcked": true,
"ShipTo": { "ShipTo": {
<#if order.address.type_code == "" && order.address.title_code == "" && order.address.first_name == "" && order.address.last_name == "" && order.address.mail_address == "" && order.address.contact_type_code == "" && order.address.mobile_phone_number == "" && order.address.land_line_phone_number == "" && order.address.fax_number == "" && order.address.address_type_code == "" && order.address.name_or_company_name == "" && order.address.additional_address_data_1 == "" && order.address.additional_address_data_2 == "" && order.address.post_code_area_name == "" && order.address.territorial_division_code == "" && order.address.postal_code == "" && order.address.iso_country_code == ""> <#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": "${order.end_consignee_code}" "ActorID": "${preparation_order.end_consignee_code}"
<#else> <#else>
"Actor": "Actor":
{ {
"Name" : "${order.address.name_or_company_name!""}", "Name" : "${preparation_order.address.name_or_company_name?json_string!""}",
"Address" : "Address" :
{ {
"City" : "${order.address.post_code_area_name!""}", "City" : "${preparation_order.address.post_code_area_name?json_string!""}",
"CountryCode" : "${order.address.iso_country_code!""}", "CountryCode" : "${preparation_order.address.iso_country_code!""}",
"PostalCode" : "${order.address.postal_code!""}", "PostalCode" : "${preparation_order.address.postal_code!""}",
"StreetAddressOne" : "${order.address.street_and_number_and_po_box!""}", "StreetAddressOne" : "${preparation_order.address.street_and_number_and_po_box?json_string!""}",
"StreetAddressTwo" : "${order.address.additional_address_data_1!""}", "StreetAddressTwo" : "${preparation_order.address.additional_address_data_1?json_string!""}",
"StreetAddressThree" : "${order.address.additional_address_data_2!""}" "StreetAddressThree" : "${preparation_order.address.additional_address_data_2?json_string!""}"
} }
}, },
"Contact" : "Contact" :
{ {
"FirstName" : "${order.address.first_name!""}", "FirstName" : "${preparation_order.address.first_name?json_string!""}",
"LastName" : "${order.address.last_name!""}", "LastName" : "${preparation_order.address.last_name?json_string!""}",
"Emails" : ["${order.address.mail_address!""}"], "Emails" : ["${preparation_order.address.mail_address?json_string!""}"],
"Phones" : ["${order.address.mobile_phone_number!""}","${order.address.land_line_phone_number!""}", "${order.address.fax_number!""}" ] "Phones" : ["${preparation_order.address.mobile_phone_number!""}","${preparation_order.address.land_line_phone_number!""}", "${preparation_order.address.fax_number!""}" ]
} }
</#if> </#if>
}, },
<#if order.line_list??> <#if preparation_order.line_list??>
"Lines" : [ "Lines" : [
<#list order.line_list as line> <#list preparation_order.line_list as preparation_order_line >
{ {
<#if (line.originator_reference_line_number!0) != 0> <#if (preparation_order_line.originator_reference_line_number!0) != 0>
"LineID": "${line.originator_reference_line_number}", "LineID": "${preparation_order_line.originator_reference_line_number}",
<#else> <#else>
"LineID": "${line.preparation_order_line_number!0}", "LineID": "${preparation_order_line.preparation_order_line_number!0}",
</#if> </#if>
<#-- Line Metadata inclusion --> <#-- Line Metadata inclusion -->
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_LineMetadata.ftl">, <#include "RFXtoRP_HsrPro_ExecutionflowDetected_LineMetadata.ftl">,
@ -70,10 +70,10 @@
{ {
"Goods": "Goods":
{ {
"ItemID": "${line.item_code!"0"}", "ItemID": "${preparation_order_line.item_code!"0"}",
"LVBranchID": "${line.item_lv_code!"0"}", "LVBranchID": "${preparation_order_line.item_lv_code!"0"}",
<#if (line.optional_attributes.forced_priority_date?length != 0) && (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 = 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}",
</#if> </#if>
@ -84,7 +84,7 @@
"Quantity" : "Quantity" :
{ {
"LVID": "${quantity_in_base_lv_RP_Cst}", "LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": "${line.base_lv_quantity_to_prepare!0}" "Value": "${preparation_order_line.base_lv_quantity_to_prepare!0}"
} }
} }
}<#sep>,</#sep> }<#sep>,</#sep>

View File

@ -5,7 +5,7 @@
"MetaData": [ "MetaData": [
{ {
"Key": "OrderType", "Key": "OrderType",
"Value": { "String" : "${order.optional_attributes.reason_code}"} "Value": { "String" : "${preparation_order.optional_attributes.reason_code}"}
} }
], ],
--> -->

View File

@ -4,18 +4,18 @@
"SegmentationKeys": [ "SegmentationKeys": [
{ {
"Key": "Grade", "Key": "Grade",
"Value": { "String" : "${line.grade_code_to_prepare}"} "Value": { "String" : "${preparation_order_line.grade_code_to_prepare}"}
}, },
{ {
"Key": "Owner", "Key": "Owner",
"Value": { "String" : "${line.owner_code_to_prepare}"} "Value": { "String" : "${preparation_order_line.owner_code_to_prepare}"}
}, },
{ {
"Key": "BatchNumber", "Key": "BatchNumber",
<#if reflexMvtStockInterface.batch_1 == ""> <#if reflexMvtStockInterface.batch_1 == "">
"Value": { "String" : "no batch"} "Value": { "String" : "no batch"}
<#else> <#else>
"Value": { "String" : "${line.batch_1}"} "Value": { "String" : "${preparation_order_line.batch_1}"}
</#if> </#if>
} }
] ]

View File

@ -35,8 +35,8 @@
}, },
<#if executionflow.ShipTo.ActorID == ""> <#if executionflow.ShipTo.ActorID == "">
"address": { "address": {
"first_name": "${executionflow.ShipTo.Contact.FirstName!""}", "first_name": "${executionflow.ShipTo.Contact.FirstName?json_string!""}",
"last_name" :"${executionflow.ShipTo.Contact.Lastname!""}", "last_name" :"${executionflow.ShipTo.Contact.Lastname?json_string!""}",
"mail_address": "${executionflow.ShipTo.Actor.Emails[0]!""}", "mail_address": "${executionflow.ShipTo.Actor.Emails[0]!""}",
"mobile_phone_number": "${executionflow.ShipTo.Actor.Phones[0]!""}", "mobile_phone_number": "${executionflow.ShipTo.Actor.Phones[0]!""}",
"street_and_number_and_po_box": "${executionflow.ShipTo.Actor.Address.StreetAddressOne?json_string!""}", "street_and_number_and_po_box": "${executionflow.ShipTo.Actor.Address.StreetAddressOne?json_string!""}",

View File

@ -1 +1 @@
1.2.6+1 1.2.7+2