From b6415fa316bfb512a5f872d5b3a466873d4b62c3 Mon Sep 17 00:00:00 2001 From: frea Date: Mon, 6 Jan 2025 17:56:10 +0100 Subject: [PATCH] commit first --- RFXtoRP_HsaCarrier.ftl | 20 +++++++++ RFXtoRP_HsaCarrier_ActorCreated.ftl | 3 -- RFXtoRP_HsaCarrier_ActorDeleted.ftl | 3 -- RFXtoRP_HsaCarrier_ActorUpdated.ftl | 70 +++++++++++++++++++++++++++++ RFXtoRP_HsaCons.ftl | 23 +++++++++- RFXtoRP_HsaCons_ActorCreated.ftl | 3 -- RFXtoRP_HsaCons_ActorDeleted.ftl | 3 -- RFXtoRP_HsaCons_ActorUpdated.ftl | 70 +++++++++++++++++++++++++++++ RFXtoRP_HsaSup.ftl | 20 +++++++++ RFXtoRP_HsaSup_ActorCreated.ftl | 3 -- RFXtoRP_HsaSup_ActorDeleted.ftl | 3 -- RFXtoRP_HsaSup_ActorUpdated.ftl | 70 +++++++++++++++++++++++++++++ 12 files changed, 272 insertions(+), 19 deletions(-) create mode 100644 RFXtoRP_HsaCarrier_ActorUpdated.ftl create mode 100644 RFXtoRP_HsaCons_ActorUpdated.ftl create mode 100644 RFXtoRP_HsaSup_ActorUpdated.ftl diff --git a/RFXtoRP_HsaCarrier.ftl b/RFXtoRP_HsaCarrier.ftl index 6b47034..0125944 100644 --- a/RFXtoRP_HsaCarrier.ftl +++ b/RFXtoRP_HsaCarrier.ftl @@ -2,6 +2,9 @@ <#-- input : message RFX --> <#-- project : projectId in ReflexPlatform --> <#-- organisation : organisationtId in ReflexPlatform --> +<#include "ReflexUtils.ftl"> +<#include "HfRpConfig.ftl"> +<#include "ActorPrefix.ftl"> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> @@ -15,6 +18,22 @@ <#-- *********************************************** Action = CREATE or UPDATE ******************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign carrier = JsonUtil.jsonToMap(dataRfx)> + <#assign refID = RFXtoRPprefixConsignee(carrier.code?trim?json_string)> + + <#assign payLoad = '{"Header": {"ProjectID": "${projectRP!""}"},"IDs": [{"RefID": "${refID}"}]}' /> + <#assign queryApiReflexPlatformID = QueryApiReflexPlatformID.ActorGetByIds> + <#assign response = QueryApiReflexPlatformCall.call(queryApiReflexPlatformID,payLoad) /> + <#assign actorRP = JsonUtil.jsonToMap(response)> + <#if actorRP?? && actorRP.Objects?? && actorRP.Objects[0]?? && actorRP.Objects[0].ID.RefID?? > + [ + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsaCarrier_ActorUpdated.ftl"> + } + ] + <#else> [ { <#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated> @@ -23,6 +42,7 @@ <#include "RFXtoRP_HsaCarrier_ActorCreated.ftl"> } ] + <#break> <#case "D"> diff --git a/RFXtoRP_HsaCarrier_ActorCreated.ftl b/RFXtoRP_HsaCarrier_ActorCreated.ftl index 8ac9722..65876a4 100644 --- a/RFXtoRP_HsaCarrier_ActorCreated.ftl +++ b/RFXtoRP_HsaCarrier_ActorCreated.ftl @@ -1,6 +1,3 @@ -<#include "ReflexUtils.ftl"> -<#include "HfRpConfig.ftl"> -<#include "ActorPrefix.ftl"> [ { "Header": { diff --git a/RFXtoRP_HsaCarrier_ActorDeleted.ftl b/RFXtoRP_HsaCarrier_ActorDeleted.ftl index 62b69a2..e3082b4 100644 --- a/RFXtoRP_HsaCarrier_ActorDeleted.ftl +++ b/RFXtoRP_HsaCarrier_ActorDeleted.ftl @@ -1,6 +1,3 @@ -<#include "ReflexUtils.ftl"> -<#include "HfRpConfig.ftl"> -<#include "ActorPrefix.ftl"> [ { "Header": { diff --git a/RFXtoRP_HsaCarrier_ActorUpdated.ftl b/RFXtoRP_HsaCarrier_ActorUpdated.ftl new file mode 100644 index 0000000..74b93ac --- /dev/null +++ b/RFXtoRP_HsaCarrier_ActorUpdated.ftl @@ -0,0 +1,70 @@ +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + "RefID": "${RFXtoRPprefixConsignee(carrier.code?trim?json_string)}" + }, + "Payload": { + "Name": "${carrier.designation?json_string}", + "PartnerID" : "${actorRP.Objects[0].Payload.PartnerID!""?json_string}", + "IsCarrier" : ${(actorRP.Objects[0].Payload.IsCarrier!false)?c}, + "ManagedStock": ${(actorRP.Objects[0].Payload.ManagedStock!false)?c}, + "IsShipFromConnected": ${(actorRP.Objects[0].Payload.IsShipFromConnected!false)?c}, + "IsShipToConnected": ${(actorRP.Objects[0].Payload.IsShipToConnected!false)?c}, + "PhotoURI": "${actorRP.Objects[0].Payload.PhotoURI!""}", + <#-- DOTO CarrierServices ID Label --> + <#if actorRP.Objects[0].Payload.CarrierServices??> + "CarrierServices" : [ + <#list actorRP.Objects[0].Payload.CarrierServices as carrierService> + { + "ID" : "${carrierService.ID!""}", + "Label" : "${carrierService.Label!""}" + }<#sep>, + + ], + + <#include "RFXtoRP_HsaCons_ActorCreated_Metadata.ftl">, + + "Address": + { + + <#-- if Reflex WMS is structured --> + <#if carrier.consignee_structured_address??> + + "Name": "${carrier.consignee_structured_address.name_or_company?json_string}", + "StreetAddressOne" : "${carrier.consignee_structured_address.street_and_PO?json_string}", + "StreetAddressTwo" : "${carrier.consignee_structured_address.additionnal_data?json_string}", + "PostalCode" : "${carrier.consignee_structured_address.postal_code?json_string}", + "City" : "${carrier.consignee_structured_address.post_code_area_name?json_string}", + <#assign isCountryCode = JsonUtil.isCountryCode(carrier.consignee_structured_address.country_code?upper_case) /> + <#if isCountryCode> + "CountryCode" : "${carrier.consignee_structured_address.country_code?upper_case?json_string}", + <#else> + "CountryCode" : "", + + "ProvinceCode": "${carrier.consignee_structured_address.territorial_div_code?json_string}", + "State": "${carrier.consignee_structured_address.country_designation?json_string}" + + <#-- if Reflex WMS is not structured --> + <#else> + <#if carrier.address?? > + + "Name": "${carrier.address.company_name?json_string}", + "StreetAddressOne" : "${carrier.address.address_1?json_string}", + "StreetAddressTwo" : "${carrier.address.address_2?json_string}", + "StreetAddressThree" : "${carrier.address.address_3?json_string}", + "CountryCode" : "" + + + }, + <#if carrier.address?? > + "Phones": ["${carrier.address.telephone?json_string}", + "${carrier.address.other_number?json_string}" + ], + + "Typology": "TYPOLOGY_UNKNOWN" + } + } +] diff --git a/RFXtoRP_HsaCons.ftl b/RFXtoRP_HsaCons.ftl index 8932eb4..e0fd096 100644 --- a/RFXtoRP_HsaCons.ftl +++ b/RFXtoRP_HsaCons.ftl @@ -2,6 +2,10 @@ <#-- input : message RFX --> <#-- project : projectId in ReflexPlatform --> <#-- organisation : organisationtId in ReflexPlatform --> +<#include "ReflexUtils.ftl"> +<#include "HfRpConfig.ftl"> +<#include "ActorPrefix.ftl"> + <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> @@ -15,7 +19,23 @@ <#-- *********************************************** Action = CREATE or UPDATE ******************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign actor = JsonUtil.jsonToMap(dataRfx)> - [ + <#assign refID = RFXtoRPprefixConsignee(actor.code?trim?json_string)> + + <#assign payLoad = '{"Header": {"ProjectID": "${projectRP!""}"},"IDs": [{"RefID": "${refID}"}]}' /> + <#assign queryApiReflexPlatformID = QueryApiReflexPlatformID.ActorGetByIds> + <#assign response = QueryApiReflexPlatformCall.call(queryApiReflexPlatformID,payLoad) /> + <#assign actorRP = JsonUtil.jsonToMap(response)> + <#if actorRP?? && actorRP.Objects?? && actorRP.Objects[0]?? && actorRP.Objects[0].ID.RefID?? > + [ + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsaCons_ActorUpdated.ftl"> + } + ] + <#else> + [ { <#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated> "apiReflexPlatformID" : "${apiReflexPlatformID}", @@ -23,6 +43,7 @@ <#include "RFXtoRP_HsaCons_ActorCreated.ftl"> } ] + <#break> <#case "D"> diff --git a/RFXtoRP_HsaCons_ActorCreated.ftl b/RFXtoRP_HsaCons_ActorCreated.ftl index 84df17a..502da80 100644 --- a/RFXtoRP_HsaCons_ActorCreated.ftl +++ b/RFXtoRP_HsaCons_ActorCreated.ftl @@ -1,6 +1,3 @@ -<#include "ReflexUtils.ftl"> -<#include "HfRpConfig.ftl"> -<#include "ActorPrefix.ftl"> [ { "Header": { diff --git a/RFXtoRP_HsaCons_ActorDeleted.ftl b/RFXtoRP_HsaCons_ActorDeleted.ftl index 89d4fce..dd83c6f 100644 --- a/RFXtoRP_HsaCons_ActorDeleted.ftl +++ b/RFXtoRP_HsaCons_ActorDeleted.ftl @@ -1,6 +1,3 @@ -<#include "ReflexUtils.ftl"> -<#include "HfRpConfig.ftl"> -<#include "ActorPrefix.ftl"> [ { "Header": { diff --git a/RFXtoRP_HsaCons_ActorUpdated.ftl b/RFXtoRP_HsaCons_ActorUpdated.ftl new file mode 100644 index 0000000..e89a7c6 --- /dev/null +++ b/RFXtoRP_HsaCons_ActorUpdated.ftl @@ -0,0 +1,70 @@ +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + "RefID": "${RFXtoRPprefixConsignee(actor.code?trim?json_string)}" + }, + "Payload": { + "Name": "${actor.designation?json_string}", + "PartnerID" : "${actorRP.Objects[0].Payload.PartnerID!""?json_string}", + "IsCarrier" : ${(actorRP.Objects[0].Payload.IsCarrier!false)?c}, + "ManagedStock": ${(actorRP.Objects[0].Payload.ManagedStock!false)?c}, + "IsShipFromConnected": ${(actorRP.Objects[0].Payload.IsShipFromConnected!false)?c}, + "IsShipToConnected": ${(actorRP.Objects[0].Payload.IsShipToConnected!false)?c}, + "PhotoURI": "${actorRP.Objects[0].Payload.PhotoURI!""}", + <#-- DOTO CarrierServices ID Label --> + <#if actorRP.Objects[0].Payload.CarrierServices??> + "CarrierServices" : [ + <#list actorRP.Objects[0].Payload.CarrierServices as carrierService> + { + "ID" : "${carrierService.ID!""}", + "Label" : "${carrierService.Label!""}" + }<#sep>, + + ], + + <#include "RFXtoRP_HsaCons_ActorCreated_Metadata.ftl">, + + "Address": + { + + <#-- if Reflex WMS is structured --> + <#if actor.consignee_structured_address??> + + "Name": "${actor.consignee_structured_address.name_or_company?json_string}", + "StreetAddressOne" : "${actor.consignee_structured_address.street_and_PO?json_string}", + "StreetAddressTwo" : "${actor.consignee_structured_address.additionnal_data?json_string}", + "PostalCode" : "${actor.consignee_structured_address.postal_code?json_string}", + "City" : "${actor.consignee_structured_address.post_code_area_name?json_string}", + <#assign isCountryCode = JsonUtil.isCountryCode(actor.consignee_structured_address.country_code?upper_case) /> + <#if isCountryCode> + "CountryCode" : "${actor.consignee_structured_address.country_code?upper_case?json_string}", + <#else> + "CountryCode" : "", + + "ProvinceCode": "${actor.consignee_structured_address.territorial_div_code?json_string}", + "State": "${actor.consignee_structured_address.country_designation?json_string}" + + <#-- if Reflex WMS is not structured --> + <#else> + <#if actor.address?? > + + "Name": "${actor.address.company_name?json_string}", + "StreetAddressOne" : "${actor.address.address_1?json_string}", + "StreetAddressTwo" : "${actor.address.address_2?json_string}", + "StreetAddressThree" : "${actor.address.address_3?json_string}", + "CountryCode" : "" + + + }, + <#if actor.address?? > + "Phones": ["${actor.address.telephone?json_string}", + "${actor.address.other_number?json_string}" + ], + + "Typology": "TYPOLOGY_UNKNOWN" + } + } +] diff --git a/RFXtoRP_HsaSup.ftl b/RFXtoRP_HsaSup.ftl index 7250b4e..98f9474 100644 --- a/RFXtoRP_HsaSup.ftl +++ b/RFXtoRP_HsaSup.ftl @@ -2,6 +2,9 @@ <#-- input : message RFX --> <#-- project : projectId in ReflexPlatform --> <#-- organisation : organisationtId in ReflexPlatform --> +<#include "ReflexUtils.ftl"> +<#include "HfRpConfig.ftl"> +<#include "ActorPrefix.ftl"> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> @@ -15,6 +18,22 @@ <#-- *********************************************** Action = CREATE or UPDATE ******************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign actor = JsonUtil.jsonToMap(dataRfx)> + <#assign refID = RFXtoRPprefixConsignee(actor.code?trim?json_string)> + + <#assign payLoad = '{"Header": {"ProjectID": "${projectRP!""}"},"IDs": [{"RefID": "${refID}"}]}' /> + <#assign queryApiReflexPlatformID = QueryApiReflexPlatformID.ActorGetByIds> + <#assign response = QueryApiReflexPlatformCall.call(queryApiReflexPlatformID,payLoad) /> + <#assign actorRP = JsonUtil.jsonToMap(response)> + <#if actorRP?? && actorRP.Objects?? && actorRP.Objects[0]?? && actorRP.Objects[0].ID.RefID?? > + [ + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsaCons_ActorUpdated.ftl"> + } + ] + <#else> [ { <#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated> @@ -23,6 +42,7 @@ <#include "RFXtoRP_HsaSup_ActorCreated.ftl"> } ] + <#break> <#case "D"> diff --git a/RFXtoRP_HsaSup_ActorCreated.ftl b/RFXtoRP_HsaSup_ActorCreated.ftl index 23a560c..6c57b1f 100644 --- a/RFXtoRP_HsaSup_ActorCreated.ftl +++ b/RFXtoRP_HsaSup_ActorCreated.ftl @@ -1,6 +1,3 @@ -<#include "ReflexUtils.ftl"> -<#include "HfRpConfig.ftl"> -<#include "ActorPrefix.ftl"> [ { "Header": { diff --git a/RFXtoRP_HsaSup_ActorDeleted.ftl b/RFXtoRP_HsaSup_ActorDeleted.ftl index 9c00b09..0927eca 100644 --- a/RFXtoRP_HsaSup_ActorDeleted.ftl +++ b/RFXtoRP_HsaSup_ActorDeleted.ftl @@ -1,6 +1,3 @@ -<#include "ReflexUtils.ftl"> -<#include "HfRpConfig.ftl"> -<#include "ActorPrefix.ftl"> [ { "Header": { diff --git a/RFXtoRP_HsaSup_ActorUpdated.ftl b/RFXtoRP_HsaSup_ActorUpdated.ftl new file mode 100644 index 0000000..e89a7c6 --- /dev/null +++ b/RFXtoRP_HsaSup_ActorUpdated.ftl @@ -0,0 +1,70 @@ +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + "RefID": "${RFXtoRPprefixConsignee(actor.code?trim?json_string)}" + }, + "Payload": { + "Name": "${actor.designation?json_string}", + "PartnerID" : "${actorRP.Objects[0].Payload.PartnerID!""?json_string}", + "IsCarrier" : ${(actorRP.Objects[0].Payload.IsCarrier!false)?c}, + "ManagedStock": ${(actorRP.Objects[0].Payload.ManagedStock!false)?c}, + "IsShipFromConnected": ${(actorRP.Objects[0].Payload.IsShipFromConnected!false)?c}, + "IsShipToConnected": ${(actorRP.Objects[0].Payload.IsShipToConnected!false)?c}, + "PhotoURI": "${actorRP.Objects[0].Payload.PhotoURI!""}", + <#-- DOTO CarrierServices ID Label --> + <#if actorRP.Objects[0].Payload.CarrierServices??> + "CarrierServices" : [ + <#list actorRP.Objects[0].Payload.CarrierServices as carrierService> + { + "ID" : "${carrierService.ID!""}", + "Label" : "${carrierService.Label!""}" + }<#sep>, + + ], + + <#include "RFXtoRP_HsaCons_ActorCreated_Metadata.ftl">, + + "Address": + { + + <#-- if Reflex WMS is structured --> + <#if actor.consignee_structured_address??> + + "Name": "${actor.consignee_structured_address.name_or_company?json_string}", + "StreetAddressOne" : "${actor.consignee_structured_address.street_and_PO?json_string}", + "StreetAddressTwo" : "${actor.consignee_structured_address.additionnal_data?json_string}", + "PostalCode" : "${actor.consignee_structured_address.postal_code?json_string}", + "City" : "${actor.consignee_structured_address.post_code_area_name?json_string}", + <#assign isCountryCode = JsonUtil.isCountryCode(actor.consignee_structured_address.country_code?upper_case) /> + <#if isCountryCode> + "CountryCode" : "${actor.consignee_structured_address.country_code?upper_case?json_string}", + <#else> + "CountryCode" : "", + + "ProvinceCode": "${actor.consignee_structured_address.territorial_div_code?json_string}", + "State": "${actor.consignee_structured_address.country_designation?json_string}" + + <#-- if Reflex WMS is not structured --> + <#else> + <#if actor.address?? > + + "Name": "${actor.address.company_name?json_string}", + "StreetAddressOne" : "${actor.address.address_1?json_string}", + "StreetAddressTwo" : "${actor.address.address_2?json_string}", + "StreetAddressThree" : "${actor.address.address_3?json_string}", + "CountryCode" : "" + + + }, + <#if actor.address?? > + "Phones": ["${actor.address.telephone?json_string}", + "${actor.address.other_number?json_string}" + ], + + "Typology": "TYPOLOGY_UNKNOWN" + } + } +]