From 320bd8988b3e0e7c5f148ef35100318766bd3cb5 Mon Sep 17 00:00:00 2001 From: frea Date: Tue, 15 Apr 2025 18:15:06 +0200 Subject: [PATCH] update FTL --- README.md | 8 ++-- RFXtoRP_HsaDispute.ftl | 13 ++++-- RFXtoRP_HsaDispute_Created.ftl | 25 +++++------ RFXtoRP_HsaIpgMove_GoodsReceived.ftl | 6 +-- 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, 83 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index d20fd83..6606269 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 18ea1ec..8b37074 100644 --- a/RFXtoRP_HsaDispute.ftl +++ b/RFXtoRP_HsaDispute.ftl @@ -16,13 +16,16 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dispute = JsonUtil.jsonToMap(dataRfx)> [ - <#if dispute.dispute_closed == true > + <#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!="")> { <#assign apiReflexPlatformID = ApiReflexPlatformID.ClaimCreated> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsaDispute_Created.ftl"> - }, + } + <#if TableReasonCode[dispute.dispute_reason_code]??> + , { <#assign apiReflexPlatformID = ApiReflexPlatformID.ClaimMessageSent> "apiReflexPlatformID" : "${apiReflexPlatformID}", @@ -30,7 +33,11 @@ <#include "RFXtoRP_HsaDispute_MessageSent.ftl"> } <#else> - <#stop> + <#stop> + + <#else> + <#stop "Reference is empty"> + ] <#break> diff --git a/RFXtoRP_HsaDispute_Created.ftl b/RFXtoRP_HsaDispute_Created.ftl index 4d6ebb5..de64de8 100644 --- a/RFXtoRP_HsaDispute_Created.ftl +++ b/RFXtoRP_HsaDispute_Created.ftl @@ -39,29 +39,28 @@ "Value": "${dispute.dispute_amount}" }, + <#-- To configure --> + <#include "RFXtoRP_HsaDispute_TableReasonCodeToClaimTypeID.ftl"> <#if dispute.dispute_type_code=="050" > - <#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" > - + "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}", <#else> <#if dispute.dispute_type_code=="070" || dispute.dispute_type_code=="030" > - "EntityID":"${dispute.dispute_reception.reception_reference?trim?json_string}", + "EntityID":"${dispute.dispute_reception.reception_reference?trim?json_string}", + "DisplayID":"${dispute.dispute_reception.reception_reference?trim?json_string}", <#else> - <#stop "Type not supported" > + <#stop "WMS type code not supported"> - <#-- To configure --> - <#include "RFXtoRP_HsaDispute_TableReasonCodeToClaimTypeID.ftl"> <#if TableReasonCode[dispute.dispute_reason_code]??> - "ClaimTypeID":"${TableReasonCode[dispute.dispute_reason_code]}" + "ClaimTypeID":"CLAIMTYPE_${projectRP}_ORDER_${TableReasonCode[dispute.dispute_reason_code]}" <#else> - <#stop "Claim reason code not supported" > + <#stop "Reason code not supported"> - - } } ] + + + diff --git a/RFXtoRP_HsaIpgMove_GoodsReceived.ftl b/RFXtoRP_HsaIpgMove_GoodsReceived.ftl index 8ab1721..0196de8 100644 --- a/RFXtoRP_HsaIpgMove_GoodsReceived.ftl +++ b/RFXtoRP_HsaIpgMove_GoodsReceived.ftl @@ -26,15 +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)}", @@ -47,4 +47,4 @@ } } -] +] \ No newline at end of file diff --git a/RFXtoRP_HsaIpgMove_StockMoved.ftl b/RFXtoRP_HsaIpgMove_StockMoved.ftl index 8077536..1be2932 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": " Transfert ${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)} to ${RFXtoRPprefixDepot(reflexMvtStockInterface.transfer_consignee_physical_depot_code?trim?json_string)}", + "Reason": " Direct 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 e64bb6b..c64e285 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_UNKNOWN" + "Typology": "TYPOLOGY_WAREHOUSE" } } ] diff --git a/RFXtoRP_HsrPrepa.ftl b/RFXtoRP_HsrPrepa.ftl index cda3dab..5bbd320 100644 --- a/RFXtoRP_HsrPrepa.ftl +++ b/RFXtoRP_HsrPrepa.ftl @@ -6,6 +6,7 @@ <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> <#assign organisationRP = organisation> +<#include "RFX_PartnerAPP_Settings.ftl"> <#assign aDateTime = .now> @@ -54,7 +55,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]?? > + <#if !hd_numberHmap[despatched_ipg.hd_number]?? && (trackingNumberSource==2 || trackingNumberSource==3 || (despatched_ipg.consignment_unit_id!="" && trackingNumberSource==1))> <#assign hd_numberHmap += {despatched_ipg.hd_number,despatched_ipg.hd_number}> , { @@ -78,16 +79,16 @@ "datas" : <#include "RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.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"> - } - + <#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"> + } + diff --git a/RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl b/RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl index 4b7da84..c15dc98 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??) as preparation_line3> + <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.despatched_ipg_list?size != 0) 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 7a6abd1..5fe5ad8 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.preparation_order_originator_reference!="") as preparation_line> + <#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 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 8aed82c..bf280b6 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.preparation_order_originator_reference!="") as preparation_line> + <#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 preparation_line.despatched_ipg_list as despatched_ipg> <#assign packing_datetime = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) /> { @@ -112,6 +112,7 @@ <#-- 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 e88a3b0..9f96b31 100644 --- a/RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl +++ b/RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl @@ -1,6 +1,7 @@ <#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) /> { @@ -8,15 +9,41 @@ "ProjectID": "${projectRP}" }, "ID": { - <#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}", - - + <#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}", + + + "RefDate": { "DateTime": "${dispatched_datetime4}", diff --git a/RPtoRFX_Receipt.ftl b/RPtoRFX_Receipt.ftl index 763cf12..905c3bb 100644 --- a/RPtoRFX_Receipt.ftl +++ b/RPtoRFX_Receipt.ftl @@ -52,7 +52,6 @@ "batch_1": "${batch_1?json_string!""}", "optional_attributes": { <#--"held_for_check": "false", - "held _for_repacking": "false", "hold_code": "false", --> "hold_for_specific_code": "false" }