From 3ca4b61e3baf98e2705a7951d151957050ced0b1 Mon Sep 17 00:00:00 2001 From: frea Date: Wed, 9 Apr 2025 11:44:48 +0200 Subject: [PATCH] SCPN1-8597 --- README.md | 8 ++-- RFXtoRP_HsaDispute.ftl | 13 ++---- RFXtoRP_HsaDispute_Created.ftl | 25 ++++++----- RFXtoRP_HsaIpgMove_GoodsReceived.ftl | 5 +-- RFXtoRP_HsaIpgMove_StockMoved.ftl | 2 +- RFXtoRP_HsrDepot_ActorCreated.ftl | 2 +- RFXtoRP_HsrPrepa.ftl | 23 +++++----- ...rPrepa_HUsAdded_HandlingUnitDispatched.ftl | 2 +- RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl | 2 +- ...oRP_HsrPrepa_HandlingunitGoodsPrepared.ftl | 3 +- RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl | 45 ++++--------------- RPtoRFX_Receipt.ftl | 1 + 12 files changed, 48 insertions(+), 83 deletions(-) diff --git a/README.md b/README.md index 6606269..d20fd83 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # Reflex Platform Core FTLs - + These FTL core files aim to translate data flow from Reflex WMS into Reflex platform API. + +You can find more info about those files in the Reflex platform documentation center : https://docs.viz.reflex-platform.com/connectivity/howto/reflex-wms-connector/ -You can find more info about those files in the Reflex platform documentation center : https://docs.viz.reflex-platform.com/connectivity/partnerapp/reflex-wms-connector/ - - + diff --git a/RFXtoRP_HsaDispute.ftl b/RFXtoRP_HsaDispute.ftl index 8b37074..18ea1ec 100644 --- a/RFXtoRP_HsaDispute.ftl +++ b/RFXtoRP_HsaDispute.ftl @@ -16,16 +16,13 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dispute = JsonUtil.jsonToMap(dataRfx)> [ - <#if dispute.dispute_closed == true > - <#if ((dispute.dispute_type_code=="030" || dispute.dispute_type_code=="070") && dispute.dispute_reception?? && dispute.dispute_reception.reception_reference!="") || (dispute.dispute_type_code=="050" && dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference?trim?json_string!="")> + <#if dispute.dispute_closed == true > { <#assign apiReflexPlatformID = ApiReflexPlatformID.ClaimCreated> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsaDispute_Created.ftl"> - } - <#if TableReasonCode[dispute.dispute_reason_code]??> - , + }, { <#assign apiReflexPlatformID = ApiReflexPlatformID.ClaimMessageSent> "apiReflexPlatformID" : "${apiReflexPlatformID}", @@ -33,11 +30,7 @@ <#include "RFXtoRP_HsaDispute_MessageSent.ftl"> } <#else> - <#stop> - - <#else> - <#stop "Reference is empty"> - + <#stop> ] <#break> diff --git a/RFXtoRP_HsaDispute_Created.ftl b/RFXtoRP_HsaDispute_Created.ftl index de64de8..4d6ebb5 100644 --- a/RFXtoRP_HsaDispute_Created.ftl +++ b/RFXtoRP_HsaDispute_Created.ftl @@ -39,28 +39,29 @@ "Value": "${dispute.dispute_amount}" }, - <#-- To configure --> - <#include "RFXtoRP_HsaDispute_TableReasonCodeToClaimTypeID.ftl"> <#if dispute.dispute_type_code=="050" > - "EntityID":"${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference?trim?json_string}", - "DisplayID":"${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference?trim?json_string}", + <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> + "EntityID":"${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference?trim?json_string}", + <#else> + <#stop "preparation order list is empty" > + <#else> <#if dispute.dispute_type_code=="070" || dispute.dispute_type_code=="030" > - "EntityID":"${dispute.dispute_reception.reception_reference?trim?json_string}", - "DisplayID":"${dispute.dispute_reception.reception_reference?trim?json_string}", + "EntityID":"${dispute.dispute_reception.reception_reference?trim?json_string}", <#else> - <#stop "WMS type code not supported"> + <#stop "Type not supported" > + <#-- To configure --> + <#include "RFXtoRP_HsaDispute_TableReasonCodeToClaimTypeID.ftl"> <#if TableReasonCode[dispute.dispute_reason_code]??> - "ClaimTypeID":"CLAIMTYPE_${projectRP}_ORDER_${TableReasonCode[dispute.dispute_reason_code]}" + "ClaimTypeID":"${TableReasonCode[dispute.dispute_reason_code]}" <#else> - <#stop "Reason code not supported"> + <#stop "Claim reason code not supported" > + + } } ] - - - diff --git a/RFXtoRP_HsaIpgMove_GoodsReceived.ftl b/RFXtoRP_HsaIpgMove_GoodsReceived.ftl index 337563c..8ab1721 100644 --- a/RFXtoRP_HsaIpgMove_GoodsReceived.ftl +++ b/RFXtoRP_HsaIpgMove_GoodsReceived.ftl @@ -26,16 +26,15 @@ <#else> "PriorityDate": "1970-01-01T00:00:00Z", + <#-- Goods received Segmentation Keys inclusion --> <#include "RFXtoRP_HsaIpgMove_GoodsReceived_SegmentationKeys.ftl"> }, <#if reflexMvtStockInterface.receipt_reference!=""> "ExecutionflowID": "${reflexMvtStockInterface.receipt_reference?trim?json_string}", - "OrderID": "${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}", - "OrderID": "${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.ipg_move_year_number}${reflexMvtStockInterface.extended_ipg_move_number}", "LineID": "${reflexMvtStockInterface.receipt_line_number}", "ActorID": "${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)}", @@ -48,4 +47,4 @@ } } -] \ No newline at end of file +] diff --git a/RFXtoRP_HsaIpgMove_StockMoved.ftl b/RFXtoRP_HsaIpgMove_StockMoved.ftl index 1be2932..8077536 100644 --- a/RFXtoRP_HsaIpgMove_StockMoved.ftl +++ b/RFXtoRP_HsaIpgMove_StockMoved.ftl @@ -54,7 +54,7 @@ "ExternalMoveRef" : "${reflexMvtStockInterface.ipg_move_year_number} - ${reflexMvtStockInterface.ipg_move_number}", "Type": "${MoveType_KV[reflexMvtStockInterface.ipg_move_type]!reflexMvtStockInterface.ipg_move_type}", <#if reflexMvtStockInterface.ipg_move_type == "520" > - "Reason": " Direct Transfert ${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)} to ${RFXtoRPprefixDepot(reflexMvtStockInterface.transfer_consignee_physical_depot_code?trim?json_string)}", + "Reason": " Transfert ${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)} to ${RFXtoRPprefixDepot(reflexMvtStockInterface.transfer_consignee_physical_depot_code?trim?json_string)}", <#else> "Reason": "${reflexMvtStockInterface.miscellaneous_receipts_despatches_code?json_string}", diff --git a/RFXtoRP_HsrDepot_ActorCreated.ftl b/RFXtoRP_HsrDepot_ActorCreated.ftl index c64e285..e64bb6b 100644 --- a/RFXtoRP_HsrDepot_ActorCreated.ftl +++ b/RFXtoRP_HsrDepot_ActorCreated.ftl @@ -55,7 +55,7 @@ "${depot.physical_depot_address.other_number?json_string}" ], - "Typology": "TYPOLOGY_WAREHOUSE" + "Typology": "TYPOLOGY_UNKNOWN" } } ] diff --git a/RFXtoRP_HsrPrepa.ftl b/RFXtoRP_HsrPrepa.ftl index 5bbd320..cda3dab 100644 --- a/RFXtoRP_HsrPrepa.ftl +++ b/RFXtoRP_HsrPrepa.ftl @@ -6,7 +6,6 @@ <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> <#assign organisationRP = organisation> -<#include "RFX_PartnerAPP_Settings.ftl"> <#assign aDateTime = .now> @@ -55,7 +54,7 @@ <#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 = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) /> - <#if !hd_numberHmap[despatched_ipg.hd_number]?? && (trackingNumberSource==2 || trackingNumberSource==3 || (despatched_ipg.consignment_unit_id!="" && trackingNumberSource==1))> + <#if !hd_numberHmap[despatched_ipg.hd_number]?? > <#assign hd_numberHmap += {despatched_ipg.hd_number,despatched_ipg.hd_number}> , { @@ -79,16 +78,16 @@ "datas" : <#include "RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl"> } - <#if !hd_numberHmapHUadded[despatched_ipg.hd_number]?? && (trackingNumberSource==2 || trackingNumberSource==3 )> - <#assign hd_numberHmapHUadded += {despatched_ipg.hd_number,despatched_ipg.hd_number}> - , - { - <#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled> - "apiReflexPlatformID" : "${apiReflexPlatformID}", - "datas" : - <#include "RFXtoRP_HsrPrepa_HUsAdded_TrackingHuLabelled.ftl"> - } - + <#if !hd_numberHmapHUadded[despatched_ipg.hd_number]??> + <#assign hd_numberHmapHUadded += {despatched_ipg.hd_number,despatched_ipg.hd_number}> + , + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrPrepa_HUsAdded_TrackingHuLabelled.ftl"> + } + diff --git a/RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl b/RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl index c15dc98..4b7da84 100644 --- a/RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl +++ b/RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl @@ -3,7 +3,7 @@ [ <#assign dispatched3_datetime = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) /> - <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.despatched_ipg_list?size != 0) as preparation_line3> + <#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 !refIDHmap[despatched_ipg3.carton_number]?? > <#if refIDHmap?size != 0 > diff --git a/RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl b/RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl index 5fe5ad8..7a6abd1 100644 --- a/RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl +++ b/RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl @@ -3,7 +3,7 @@ [ <#assign dispatched_datetime = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) /> <#assign refIDHmap_local ={}> - <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.despatched_ipg_list?size != 0 && l.preparation_order_originator_reference!="") as preparation_line> + <#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> <#if !refIDHmap_local[despatched_ipg.hd_number]?? > <#if refIDHmap_local?size != 0 > diff --git a/RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl b/RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl index bf280b6..8aed82c 100644 --- a/RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl +++ b/RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl @@ -2,7 +2,7 @@ <#include "HfRpConfig.ftl"> <#include "ActorPrefix.ftl"> [ - <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.despatched_ipg_list?size != 0 && l.preparation_order_originator_reference!="") as preparation_line> + <#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 packing_datetime = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) /> { @@ -112,7 +112,6 @@ <#-- Segmentation Keys inclusion --> <#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl"> }, - "OrderID": "${preparation_line.preparation_order_originator_reference?trim?json_string}", "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}", diff --git a/RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl b/RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl index 9f96b31..e88a3b0 100644 --- a/RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl +++ b/RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl @@ -1,7 +1,6 @@ <#include "HfRpConfig.ftl"> <#include "ReflexUtils.ftl"> <#include "ActorPrefix.ftl"> -<#include "RFX_PartnerAPP_Settings.ftl"> [ <#assign dispatched_datetime4 = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) /> { @@ -9,41 +8,15 @@ "ProjectID": "${projectRP}" }, "ID": { - <#switch trackingNumberSource> - <#case 1> - <#if despatched_ipg.consignment_unit_id!=""> - "RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}", - - <#break> - <#case 2> - <#if despatched_ipg.carton_number != "000000000000000000"> - "RefID":"${despatched_ipg.carton_number}", - <#else> - "RefID":"${despatched_ipg.hd_number}", - - <#break> - <#case 3> - <#if despatched_ipg.consignment_unit_id!=""> - "RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}", - <#else> - <#if despatched_ipg.carton_number != "000000000000000000"> - "RefID":"${despatched_ipg.carton_number}", - <#else> - "RefID":"${despatched_ipg.hd_number}", - - - <#break> - <#default> - <#if despatched_ipg.consignment_unit_id!=""> - "RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}", - <#else> - <#if despatched_ipg.carton_number != "000000000000000000"> - "RefID":"${despatched_ipg.carton_number}", - <#else> - "RefID":"${despatched_ipg.hd_number}", - - - + <#if despatched_ipg.consignment_unit_id!=""> + "RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}", + <#else> + <#if despatched_ipg.carton_number != "000000000000000000"> + "RefID":"${despatched_ipg.carton_number}", + <#else> + "RefID":"${despatched_ipg.hd_number}", + + "RefDate": { "DateTime": "${dispatched_datetime4}", diff --git a/RPtoRFX_Receipt.ftl b/RPtoRFX_Receipt.ftl index 905c3bb..763cf12 100644 --- a/RPtoRFX_Receipt.ftl +++ b/RPtoRFX_Receipt.ftl @@ -52,6 +52,7 @@ "batch_1": "${batch_1?json_string!""}", "optional_attributes": { <#--"held_for_check": "false", + "held _for_repacking": "false", "hold_code": "false", --> "hold_for_specific_code": "false" }