From 9916545817523e30a526484e4f3f622d767e24c5 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Mon, 27 Apr 2026 10:47:03 +0200 Subject: [PATCH 01/61] SCPN1-10671 --- RFXtoRP_PlatformLogCreate.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RFXtoRP_PlatformLogCreate.ftl b/RFXtoRP_PlatformLogCreate.ftl index 953c214..ea30d9f 100644 --- a/RFXtoRP_PlatformLogCreate.ftl +++ b/RFXtoRP_PlatformLogCreate.ftl @@ -23,16 +23,16 @@ }, "TechMessage": { "Code": "${restResponsetMsg.status!"no Code"}", - "Label": ${strJsonBody} + "Label": ${strJsonBody?truncate(32000,'...')} }, "UserMessage": { "Code": "${restResponsetMsg.status!"no Code"}", - "Label": ${strJsonBody}, + "Label": ${strJsonBody?truncate(32000,'...'), "Params": [] }, "DetailElements": [], "CorrelationID": "${id.correlationid!"no Correlationid"}", - "ContextPayload": ${strJsonBody}, + "ContextPayload": ${strJsonBody?truncate(32000,'...')}, "Type": "${event}", "Task": "${id.apiRestReflexID!"no Task"}", "OriginalID": "${id.refid!"no OriginalID"?trim?json_string}", From daf7ce34ea912d64ee43eb75801546e977e673e4 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 28 Apr 2026 09:48:35 +0200 Subject: [PATCH 02/61] SCPN1-10682 --- RFXtoRP_HsrCarrierApt_CarrierExpected.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl b/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl index b5df356..4efcc3e 100644 --- a/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl +++ b/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl @@ -1,5 +1,5 @@ [ - <#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) /> + <#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) /> <#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 60)?iso_utc /> { "Header": { From 7c522c37931a68ec1850838f554bad341f9478b6 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 28 Apr 2026 18:14:05 +0200 Subject: [PATCH 03/61] SCPN1-10671 --- RFXtoRP_PlatformLogCreate.ftl | 1 + 1 file changed, 1 insertion(+) diff --git a/RFXtoRP_PlatformLogCreate.ftl b/RFXtoRP_PlatformLogCreate.ftl index ea30d9f..d8e3eec 100644 --- a/RFXtoRP_PlatformLogCreate.ftl +++ b/RFXtoRP_PlatformLogCreate.ftl @@ -39,4 +39,5 @@ "StackTrace": "" } } + } ] \ No newline at end of file From d8a38fc908c47add36f4831ac8265aa92cb7215b Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 28 Apr 2026 18:17:40 +0200 Subject: [PATCH 04/61] SCPN1-10671 --- RFXtoRP_PlatformLogCreate.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RFXtoRP_PlatformLogCreate.ftl b/RFXtoRP_PlatformLogCreate.ftl index d8e3eec..04d3f1d 100644 --- a/RFXtoRP_PlatformLogCreate.ftl +++ b/RFXtoRP_PlatformLogCreate.ftl @@ -27,7 +27,7 @@ }, "UserMessage": { "Code": "${restResponsetMsg.status!"no Code"}", - "Label": ${strJsonBody?truncate(32000,'...'), + "Label": ${strJsonBody?truncate(32000,'...')}, "Params": [] }, "DetailElements": [], @@ -39,5 +39,5 @@ "StackTrace": "" } } - } + ] \ No newline at end of file From 1f9a8c5894f5b57671b20df665b9265d20529ea6 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 30 Apr 2026 15:02:26 +0200 Subject: [PATCH 05/61] SCPN1-10706 --- RPtoRFX_PrepOrder.ftl | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/RPtoRFX_PrepOrder.ftl b/RPtoRFX_PrepOrder.ftl index aa1e6ec..7e9fa45 100644 --- a/RPtoRFX_PrepOrder.ftl +++ b/RPtoRFX_PrepOrder.ftl @@ -11,7 +11,11 @@ <#-- If you are using unreferenced actors, you will need to create a "VIZ" consignee in HARDIS WMS to use this feature --> <#assign defaultactor ="VIZ"> <#if executionflow.ShipTo.ActorID?? && executionflow.ShipTo.ActorID!=""> - <#assign actorID = "${RPtoRFXprefixConsignee(executionflow.ShipTo.ActorID)}" > + <#if uniqueness && (executionflow.ShipTo.ActorID?number >4) > + <#assign actorID = "${RPtoRFXprefixConsignee(executionflow.ShipTo.ActorID)}" > + <#else> + <#assign actorID = "${executionflow.ShipTo.ActorID}" > + <#else> <#assign actorID = defaultactor > @@ -22,7 +26,13 @@ "method" : "POST", "uri_substitutions": { "activity_code": "${activity_code}", - "physical_depot_code": "${RPtoRFXprefixDepot(executionflow.ShipFrom.ActorID)}", + <#if executionflow.ShipFrom.ActorID?? && executionflow.ShipFrom.ActorID!=""> + <#if uniqueness && (executionflow.ShipFrom.ActorID?number >4) > + "physical_depot_code": "${RPtoRFXprefixDepot(executionflow.ShipFrom.ActorID)}", + <#else> + "physical_depot_code": "${executionflow.ShipFrom.ActorID}", + + "originator_code": "${originator_code}" }, "payload" : From 29eedaa2a38821e541b3f7ccb0e772af9231728d Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 30 Apr 2026 15:05:31 +0200 Subject: [PATCH 06/61] SCPN1-10706 --- RPtoRFX_PrepOrder.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RPtoRFX_PrepOrder.ftl b/RPtoRFX_PrepOrder.ftl index 7e9fa45..53f3dcb 100644 --- a/RPtoRFX_PrepOrder.ftl +++ b/RPtoRFX_PrepOrder.ftl @@ -11,7 +11,7 @@ <#-- If you are using unreferenced actors, you will need to create a "VIZ" consignee in HARDIS WMS to use this feature --> <#assign defaultactor ="VIZ"> <#if executionflow.ShipTo.ActorID?? && executionflow.ShipTo.ActorID!=""> - <#if uniqueness && (executionflow.ShipTo.ActorID?number >4) > + <#if (executionflow.ShipTo.ActorID?number >4) > <#assign actorID = "${RPtoRFXprefixConsignee(executionflow.ShipTo.ActorID)}" > <#else> <#assign actorID = "${executionflow.ShipTo.ActorID}" > @@ -27,7 +27,7 @@ "uri_substitutions": { "activity_code": "${activity_code}", <#if executionflow.ShipFrom.ActorID?? && executionflow.ShipFrom.ActorID!=""> - <#if uniqueness && (executionflow.ShipFrom.ActorID?number >4) > + <#if (executionflow.ShipFrom.ActorID?number >4) > "physical_depot_code": "${RPtoRFXprefixDepot(executionflow.ShipFrom.ActorID)}", <#else> "physical_depot_code": "${executionflow.ShipFrom.ActorID}", From c1f9348deadfd624cb939bc853a6fd76b761e3b4 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 30 Apr 2026 15:16:11 +0200 Subject: [PATCH 07/61] SCPN1-10706 --- RPtoRFX_PrepOrder.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RPtoRFX_PrepOrder.ftl b/RPtoRFX_PrepOrder.ftl index 53f3dcb..9c2d2c3 100644 --- a/RPtoRFX_PrepOrder.ftl +++ b/RPtoRFX_PrepOrder.ftl @@ -11,7 +11,7 @@ <#-- If you are using unreferenced actors, you will need to create a "VIZ" consignee in HARDIS WMS to use this feature --> <#assign defaultactor ="VIZ"> <#if executionflow.ShipTo.ActorID?? && executionflow.ShipTo.ActorID!=""> - <#if (executionflow.ShipTo.ActorID?number >4) > + <#if (executionflow.ShipTo.ActorID?length gt 4) > <#assign actorID = "${RPtoRFXprefixConsignee(executionflow.ShipTo.ActorID)}" > <#else> <#assign actorID = "${executionflow.ShipTo.ActorID}" > @@ -27,7 +27,7 @@ "uri_substitutions": { "activity_code": "${activity_code}", <#if executionflow.ShipFrom.ActorID?? && executionflow.ShipFrom.ActorID!=""> - <#if (executionflow.ShipFrom.ActorID?number >4) > + <#if (executionflow.ShipFrom.ActorID?length gt 4) > "physical_depot_code": "${RPtoRFXprefixDepot(executionflow.ShipFrom.ActorID)}", <#else> "physical_depot_code": "${executionflow.ShipFrom.ActorID}", From eddd55ce8ed205761c35e072ccb0fa85486e9e1d Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 4 May 2026 11:55:50 +0200 Subject: [PATCH 08/61] SCPN1-10725 --- RFXtoRP_HfDtlStockLs.ftl | 2 +- RFXtoRP_HfExpGrpList.ftl | 1 + RFXtoRP_HfGrade.ftl | 1 + RFXtoRP_HfLvTypeList.ftl | 1 + RFXtoRP_HfOwner.ftl | 1 + RFXtoRP_HliPrepaL.ftl | 2 +- RFXtoRP_HsaCarrier.ftl | 2 +- RFXtoRP_HsaCons.ftl | 2 +- RFXtoRP_HsaDispute.ftl | 2 +- RFXtoRP_HsaIpgMove.ftl | 5 +++++ RFXtoRP_HsaItm.ftl | 2 +- RFXtoRP_HsaItmLv.ftl | 6 +++--- RFXtoRP_HsaLstCarSta.ftl | 7 ++++--- RFXtoRP_HsaProStatus.ftl | 2 +- RFXtoRP_HsaSup.ftl | 6 +++--- RFXtoRP_HsrCarrierApt.ftl | 6 +++--- RFXtoRP_HsrDepot.ftl | 2 +- RFXtoRP_HsrPrepa.ftl | 2 +- RFXtoRP_HsrPro.ftl | 2 +- RFXtoRP_HsrReceiptList.ftl | 2 +- 20 files changed, 33 insertions(+), 23 deletions(-) diff --git a/RFXtoRP_HfDtlStockLs.ftl b/RFXtoRP_HfDtlStockLs.ftl index 4bac6a2..158d52f 100644 --- a/RFXtoRP_HfDtlStockLs.ftl +++ b/RFXtoRP_HfDtlStockLs.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for stock snapshotted --> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> <#-- sum_elt : nb element in snapshot (optional parameter) --> diff --git a/RFXtoRP_HfExpGrpList.ftl b/RFXtoRP_HfExpGrpList.ftl index affae42..8cad1c9 100644 --- a/RFXtoRP_HfExpGrpList.ftl +++ b/RFXtoRP_HfExpGrpList.ftl @@ -1,3 +1,4 @@ +<#-- input : message HARDIS WMS for expiry group --> <#-- *********************************************** Parameter global ******************** --> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> diff --git a/RFXtoRP_HfGrade.ftl b/RFXtoRP_HfGrade.ftl index 39f6d2f..bd2d152 100644 --- a/RFXtoRP_HfGrade.ftl +++ b/RFXtoRP_HfGrade.ftl @@ -1,3 +1,4 @@ +<#-- input : message HARDIS WMS for grades --> <#-- *********************************************** Parameter global ******************** --> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> diff --git a/RFXtoRP_HfLvTypeList.ftl b/RFXtoRP_HfLvTypeList.ftl index f9b3b04..caade42 100644 --- a/RFXtoRP_HfLvTypeList.ftl +++ b/RFXtoRP_HfLvTypeList.ftl @@ -1,3 +1,4 @@ +<#-- input : message HARDIS WMS for logistics variants types --> <#-- *********************************************** Parameter global ******************** --> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> diff --git a/RFXtoRP_HfOwner.ftl b/RFXtoRP_HfOwner.ftl index 6d23fd2..6d046b7 100644 --- a/RFXtoRP_HfOwner.ftl +++ b/RFXtoRP_HfOwner.ftl @@ -1,3 +1,4 @@ +<#-- input : message HARDIS WMS for owners --> <#-- *********************************************** Parameter global ******************** --> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> diff --git a/RFXtoRP_HliPrepaL.ftl b/RFXtoRP_HliPrepaL.ftl index 9125d0c..57428b9 100644 --- a/RFXtoRP_HliPrepaL.ftl +++ b/RFXtoRP_HliPrepaL.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for lines of preparation order shipped--> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> <#include "ReflexUtils.ftl"> diff --git a/RFXtoRP_HsaCarrier.ftl b/RFXtoRP_HsaCarrier.ftl index 288be38..19fe197 100644 --- a/RFXtoRP_HsaCarrier.ftl +++ b/RFXtoRP_HsaCarrier.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for carrier actor --> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> <#include "ReflexUtils.ftl"> diff --git a/RFXtoRP_HsaCons.ftl b/RFXtoRP_HsaCons.ftl index fb5bb1b..62403ac 100644 --- a/RFXtoRP_HsaCons.ftl +++ b/RFXtoRP_HsaCons.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for consignee actor --> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> <#include "ReflexUtils.ftl"> diff --git a/RFXtoRP_HsaDispute.ftl b/RFXtoRP_HsaDispute.ftl index 7421d0c..b7c35ac 100644 --- a/RFXtoRP_HsaDispute.ftl +++ b/RFXtoRP_HsaDispute.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for dispute/claim--> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> diff --git a/RFXtoRP_HsaIpgMove.ftl b/RFXtoRP_HsaIpgMove.ftl index 4b0b7d5..5213e8e 100644 --- a/RFXtoRP_HsaIpgMove.ftl +++ b/RFXtoRP_HsaIpgMove.ftl @@ -1,3 +1,8 @@ +#-- **** input parameters ***** --> +<#-- input : message HARDIS WMS for moves--> +<#-- project : projectId in HARDIS SC NETWORK --> +<#-- organisation : organisationtId in HARDIS SC NETWORK --> + <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> <#assign organisationRP = organisation> diff --git a/RFXtoRP_HsaItm.ftl b/RFXtoRP_HsaItm.ftl index 0fe883c..5c02d1a 100644 --- a/RFXtoRP_HsaItm.ftl +++ b/RFXtoRP_HsaItm.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for items --> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> diff --git a/RFXtoRP_HsaItmLv.ftl b/RFXtoRP_HsaItmLv.ftl index 4b914aa..fe7efc0 100644 --- a/RFXtoRP_HsaItmLv.ftl +++ b/RFXtoRP_HsaItmLv.ftl @@ -1,7 +1,7 @@ <#-- **** input parameters ***** --> -<#-- input : message RFX --> -<#-- project : projectId in ReflexPlatform --> -<#-- organisation : organisationtId in ReflexPlatform --> +<#-- input : message HARDIS WMS for logistic variants --> +<#-- project : projectId in HARDIS SC NETWORK --> +<#-- organisation : organisationtId in HARDIS SC NETWORK --> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> diff --git a/RFXtoRP_HsaLstCarSta.ftl b/RFXtoRP_HsaLstCarSta.ftl index ce11a5d..610fe1b 100644 --- a/RFXtoRP_HsaLstCarSta.ftl +++ b/RFXtoRP_HsaLstCarSta.ftl @@ -1,7 +1,8 @@ <#-- **** input parameters ***** --> -<#-- input : message RFX --> -<#-- project : projectId in ReflexPlatform --> -<#-- organisation : organisationtId in ReflexPlatform --> +<#-- input : message HARDIS WMS for carrier appointment status --> +<#-- project : projectId in HARDIS SC NETWORK --> +<#-- organisation : organisationtId in HARDIS SC NETWORK --> + <#include "ActorPrefix.ftl"> <#include "HfRpConfig.ftl"> <#include "ReflexUtils.ftl"> diff --git a/RFXtoRP_HsaProStatus.ftl b/RFXtoRP_HsaProStatus.ftl index 2bc089f..9437a90 100644 --- a/RFXtoRP_HsaProStatus.ftl +++ b/RFXtoRP_HsaProStatus.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for preparation status --> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> diff --git a/RFXtoRP_HsaSup.ftl b/RFXtoRP_HsaSup.ftl index 79b07bf..db3c516 100644 --- a/RFXtoRP_HsaSup.ftl +++ b/RFXtoRP_HsaSup.ftl @@ -1,7 +1,7 @@ <#-- **** input parameters ***** --> -<#-- input : message RFX --> -<#-- project : projectId in ReflexPlatform --> -<#-- organisation : organisationtId in ReflexPlatform --> +<#-- input : message HARDIS WMS for supplier actor --> +<#-- project : projectId in HARDIS SC NETWORK --> +<#-- organisation : organisationtId in HARDIS SC NETWORK --> <#include "ReflexUtils.ftl"> <#include "HfRpConfig.ftl"> <#include "ActorPrefix.ftl"> diff --git a/RFXtoRP_HsrCarrierApt.ftl b/RFXtoRP_HsrCarrierApt.ftl index 3f273a5..2230d0a 100644 --- a/RFXtoRP_HsrCarrierApt.ftl +++ b/RFXtoRP_HsrCarrierApt.ftl @@ -1,7 +1,7 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS-WMS --> -<#-- project : projectId in ReflexPlatform --> -<#-- organisation : organisationtId in ReflexPlatform --> +<#-- input : message HARDIS WMS for carrier appointment --> +<#-- project : projectId in HARDIS SC NETWORK --> +<#-- organisation : organisationtId in HARDIS SC NETWORK --> <#include "ActorPrefix.ftl"> <#include "HfRpConfig.ftl"> <#include "ReflexUtils.ftl"> diff --git a/RFXtoRP_HsrDepot.ftl b/RFXtoRP_HsrDepot.ftl index 96f75c3..09088de 100644 --- a/RFXtoRP_HsrDepot.ftl +++ b/RFXtoRP_HsrDepot.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for depot actor --> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> diff --git a/RFXtoRP_HsrPrepa.ftl b/RFXtoRP_HsrPrepa.ftl index 57fcfcc..20b6b8f 100644 --- a/RFXtoRP_HsrPrepa.ftl +++ b/RFXtoRP_HsrPrepa.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for preparation order shipped--> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> <#include "ReflexUtils.ftl"> diff --git a/RFXtoRP_HsrPro.ftl b/RFXtoRP_HsrPro.ftl index 1eee43f..479f30c 100644 --- a/RFXtoRP_HsrPro.ftl +++ b/RFXtoRP_HsrPro.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for preparation order --> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> diff --git a/RFXtoRP_HsrReceiptList.ftl b/RFXtoRP_HsrReceiptList.ftl index 7ad88a1..05c2863 100644 --- a/RFXtoRP_HsrReceiptList.ftl +++ b/RFXtoRP_HsrReceiptList.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for receipt --> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> From d9297c3ad613c735f0a6b91ae6556c0e5a08fe35 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 4 May 2026 11:56:25 +0200 Subject: [PATCH 09/61] SCPN1-10725 --- InternalSettings.ftl | 6 +++--- RFXtoRP_RestResponse.ftl | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/InternalSettings.ftl b/InternalSettings.ftl index 7cd70f6..7e2101a 100644 --- a/InternalSettings.ftl +++ b/InternalSettings.ftl @@ -2,10 +2,10 @@ <#-- --------------------------------------------------------------------------------------- --> <#-- DeleteEF est un paramètre qui permet de déterminer si l’exécution logistique doit être supprimée lors de la création d’une commande.--> <#-- Attention : si vous choisissez de la supprimer, toutes les métadonnées associées à cette exécution logistique seront également supprimées. --> -<#-- Si DeleteEF_False = true, nous ne supprimons pas l'exécution logistique, Si DeleteEF_False = false, nous supprimons l'exécution logistique.--> +<#-- Si DeleteEF_Creation = true, nous ne supprimons pas l'exécution logistique, Si DeleteEF_Creation = false, nous supprimons l'exécution logistique.--> <#-- --------------------------------------------------------------------------------------- --> <#-- DeleteEF is a parameter used to determine whether the logistics execution should be deleted when creating an order.--> <#-- Warning: if deletion is selected, all metadata related to the logistics execution will also be removed. --> -<#-- If DeleteEF_False = true, we do not delete the logistics execution. If DeleteEF_False = false, we delete the logistics execution. --> +<#-- If DeleteEF_Creation = true, we do not delete the logistics execution. If DeleteEF_Creation = false, we delete the logistics execution. --> <#-- --------------------------------------------------------------------------------------- --> -<#assign DeleteEF_False = true> \ No newline at end of file +<#assign DeleteEF_Creation = true> \ No newline at end of file diff --git a/RFXtoRP_RestResponse.ftl b/RFXtoRP_RestResponse.ftl index 5f01e87..3520cdb 100644 --- a/RFXtoRP_RestResponse.ftl +++ b/RFXtoRP_RestResponse.ftl @@ -62,7 +62,16 @@ <#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) /> <#assign preparationOrderPostResponse = JsonUtil.jsonToMap(restResponseBody)> <#if preparationOrderPostResponse.status?? && (preparationOrderPostResponse.status == "SUCCESS" || preparationOrderPostResponse.status == "WARN") > - <#if DeleteEF_False> + <#if DeleteEF_Creation> + [ + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDeleted> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_ExecutionflowDeleted.ftl"> + } + ] + <#else> [ { <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowShipFromAcked> @@ -71,15 +80,6 @@ <#include "RFXtoRP_PrepOrder_ShipFromAcked.ftl"> } ] - <#else> - [ - { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDeleted> - "apiReflexPlatformID" : "${apiReflexPlatformID}", - "datas" : - <#include "RFXtoRP_ExecutionflowDeleted.ftl"> - } - ] <#else> [ From 446d13127af9cdcda8acbf40eb6479c13a4b9541 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 4 May 2026 16:52:06 +0200 Subject: [PATCH 10/61] SCPN1-10706 --- ActorPrefix.ftl | 24 ++++++++++++++++++++---- RPtoRFX_PrepOrder.ftl | 14 ++------------ 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/ActorPrefix.ftl b/ActorPrefix.ftl index e12b76d..b22886b 100644 --- a/ActorPrefix.ftl +++ b/ActorPrefix.ftl @@ -37,7 +37,11 @@ <#if uniqueness> <#local depot = actor> <#else> - <#local depot = actor[4..]> + <#if actor?length le 4> + <#local depot = actor[4..]> + <#else> + <#local depot = actor> + <#return (depot)> @@ -78,7 +82,11 @@ <#if uniqueness> <#local supplier = actor> <#else> - <#local supplier = actor[4..]> + <#if actor?length le 4> + <#local supplier = actor[4..]> + <#else> + <#local supplier = actor> + <#return (supplier)> @@ -117,7 +125,11 @@ <#if uniqueness> <#local carrier = actor> <#else> - <#local carrier = actor[4..]> + <#if actor?length le 4> + <#local carrier = actor[4..]> + <#else> + <#local carrier = actor> + <#return (carrier)> @@ -156,7 +168,11 @@ <#if uniqueness> <#local consignee = actor> <#else> - <#local consignee = actor[4..]> + <#if actor?length le 4> + <#local consignee = actor[4..]> + <#else> + <#local consignee = actor> + <#return (consignee)> \ No newline at end of file diff --git a/RPtoRFX_PrepOrder.ftl b/RPtoRFX_PrepOrder.ftl index 9c2d2c3..aa1e6ec 100644 --- a/RPtoRFX_PrepOrder.ftl +++ b/RPtoRFX_PrepOrder.ftl @@ -11,11 +11,7 @@ <#-- If you are using unreferenced actors, you will need to create a "VIZ" consignee in HARDIS WMS to use this feature --> <#assign defaultactor ="VIZ"> <#if executionflow.ShipTo.ActorID?? && executionflow.ShipTo.ActorID!=""> - <#if (executionflow.ShipTo.ActorID?length gt 4) > - <#assign actorID = "${RPtoRFXprefixConsignee(executionflow.ShipTo.ActorID)}" > - <#else> - <#assign actorID = "${executionflow.ShipTo.ActorID}" > - + <#assign actorID = "${RPtoRFXprefixConsignee(executionflow.ShipTo.ActorID)}" > <#else> <#assign actorID = defaultactor > @@ -26,13 +22,7 @@ "method" : "POST", "uri_substitutions": { "activity_code": "${activity_code}", - <#if executionflow.ShipFrom.ActorID?? && executionflow.ShipFrom.ActorID!=""> - <#if (executionflow.ShipFrom.ActorID?length gt 4) > - "physical_depot_code": "${RPtoRFXprefixDepot(executionflow.ShipFrom.ActorID)}", - <#else> - "physical_depot_code": "${executionflow.ShipFrom.ActorID}", - - + "physical_depot_code": "${RPtoRFXprefixDepot(executionflow.ShipFrom.ActorID)}", "originator_code": "${originator_code}" }, "payload" : From 4aa0e8947a1add396e31f52610667b405de9ff83 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 4 May 2026 16:56:53 +0200 Subject: [PATCH 11/61] SCPN1-10706 --- ActorPrefix.ftl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ActorPrefix.ftl b/ActorPrefix.ftl index b22886b..d995203 100644 --- a/ActorPrefix.ftl +++ b/ActorPrefix.ftl @@ -37,7 +37,7 @@ <#if uniqueness> <#local depot = actor> <#else> - <#if actor?length le 4> + <#if actor?length gt 4> <#local depot = actor[4..]> <#else> <#local depot = actor> @@ -82,7 +82,7 @@ <#if uniqueness> <#local supplier = actor> <#else> - <#if actor?length le 4> + <#if actor?length gt 4> <#local supplier = actor[4..]> <#else> <#local supplier = actor> @@ -125,7 +125,7 @@ <#if uniqueness> <#local carrier = actor> <#else> - <#if actor?length le 4> + <#if actor?length gt 4> <#local carrier = actor[4..]> <#else> <#local carrier = actor> @@ -168,7 +168,7 @@ <#if uniqueness> <#local consignee = actor> <#else> - <#if actor?length le 4> + <#if actor?length gt 4> <#local consignee = actor[4..]> <#else> <#local consignee = actor> From 4134ae6c4a810050d3533ebbeb43f4c4cffbee7a Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 4 May 2026 17:28:14 +0200 Subject: [PATCH 12/61] SCPN1-10725 --- RFXtoRP_HsaIpgMove.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFXtoRP_HsaIpgMove.ftl b/RFXtoRP_HsaIpgMove.ftl index 5213e8e..c5e8918 100644 --- a/RFXtoRP_HsaIpgMove.ftl +++ b/RFXtoRP_HsaIpgMove.ftl @@ -1,4 +1,4 @@ -#-- **** input parameters ***** --> +<#-- **** input parameters ***** --> <#-- input : message HARDIS WMS for moves--> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> From 334e0822e329cd27c20f2c8f41b05cc9b05495c8 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 5 May 2026 10:56:12 +0200 Subject: [PATCH 13/61] SCPN1-10736 --- RFXtoRP_HsrCarrierApt_CarrierExpected.ftl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl b/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl index 4efcc3e..7284ee7 100644 --- a/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl +++ b/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl @@ -1,6 +1,5 @@ [ <#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) /> - <#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 60)?iso_utc /> { "Header": { "ProjectID": "${projectRP}" @@ -20,7 +19,7 @@ "RefDate": { - "DateTime": "${ref_datetime2}", + "DateTime": "${ref_datetime}", "AuthorTimeZone": "${time_zone_rfx}" } }, From 3d2ba1339f6eeab1af3de3fdec724ac6e815b4e2 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 5 May 2026 14:11:12 +0200 Subject: [PATCH 14/61] SCPN1-10736 --- RFXtoRP_HsaLstCarSta_CarrierExpected.ftl | 3 ++- RFXtoRP_HsrCarrierApt_CarrierExpected.ftl | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl b/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl index 4fe7837..424c2ef 100644 --- a/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl +++ b/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl @@ -1,5 +1,6 @@ [ <#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) /> + <#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc /> { "Header": { "ProjectID": "${projectRP}" @@ -19,7 +20,7 @@ "RefDate": { - "DateTime": "${ref_datetime}", + "DateTime": "${ref_datetime2}", "AuthorTimeZone": "${time_zone_rfx}" } }, diff --git a/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl b/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl index 7284ee7..dbb8910 100644 --- a/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl +++ b/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl @@ -1,5 +1,6 @@ [ <#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) /> + <#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc /> { "Header": { "ProjectID": "${projectRP}" @@ -19,7 +20,7 @@ "RefDate": { - "DateTime": "${ref_datetime}", + "DateTime": "${ref_datetime2}", "AuthorTimeZone": "${time_zone_rfx}" } }, From c8a24d1402f44f1fe087fefa0fb2450d39b407e6 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 5 May 2026 14:19:06 +0200 Subject: [PATCH 15/61] SCPN1-10736 --- RFXtoRP_HsaLstCarSta_CarrierExpected.ftl | 4 ++-- RFXtoRP_HsrCarrierApt_CarrierExpected.ftl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl b/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl index 424c2ef..24c7b38 100644 --- a/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl +++ b/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl @@ -1,6 +1,6 @@ [ <#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) /> - <#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc /> + <#--<#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc /> --> { "Header": { "ProjectID": "${projectRP}" @@ -20,7 +20,7 @@ "RefDate": { - "DateTime": "${ref_datetime2}", + "DateTime": "${ref_datetime}", "AuthorTimeZone": "${time_zone_rfx}" } }, diff --git a/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl b/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl index dbb8910..5ecf61a 100644 --- a/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl +++ b/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl @@ -1,6 +1,6 @@ [ <#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) /> - <#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc /> + <#--<#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc /> --> { "Header": { "ProjectID": "${projectRP}" @@ -20,7 +20,7 @@ "RefDate": { - "DateTime": "${ref_datetime2}", + "DateTime": "${ref_datetime}", "AuthorTimeZone": "${time_zone_rfx}" } }, From e6fe049e1ad5047d08959f32b2c2a4d1b5f7e1a5 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 5 May 2026 15:06:33 +0200 Subject: [PATCH 16/61] SCPN1-10736 --- RFXtoRP_HsaLstCarSta_CarrierExpected.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl b/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl index 24c7b38..424c2ef 100644 --- a/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl +++ b/RFXtoRP_HsaLstCarSta_CarrierExpected.ftl @@ -1,6 +1,6 @@ [ <#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) /> - <#--<#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc /> --> + <#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc /> { "Header": { "ProjectID": "${projectRP}" @@ -20,7 +20,7 @@ "RefDate": { - "DateTime": "${ref_datetime}", + "DateTime": "${ref_datetime2}", "AuthorTimeZone": "${time_zone_rfx}" } }, From dc2197ade35977de3cf5a52faf90a2211ab6339b Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 5 May 2026 15:07:24 +0200 Subject: [PATCH 17/61] SCPN1-10736 --- RFXtoRP_HsrCarrierApt_CarrierExpected.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl b/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl index 5ecf61a..dbb8910 100644 --- a/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl +++ b/RFXtoRP_HsrCarrierApt_CarrierExpected.ftl @@ -1,6 +1,6 @@ [ <#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) /> - <#--<#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc /> --> + <#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc /> { "Header": { "ProjectID": "${projectRP}" @@ -20,7 +20,7 @@ "RefDate": { - "DateTime": "${ref_datetime}", + "DateTime": "${ref_datetime2}", "AuthorTimeZone": "${time_zone_rfx}" } }, From dcd8188a606ad022594cd89b6bfe9f54fe98d442 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 11 May 2026 17:26:22 +0200 Subject: [PATCH 18/61] SCPN1-10765 --- RFXtoRP_HfGrade.ftl | 2 +- RFXtoRP_HfLvTypeList.ftl | 2 +- RFXtoRP_HfOwner.ftl | 2 +- RFXtoRP_HsaDesPatch.ftl | 4 ++-- RFXtoRP_HsaDespNt.ftl | 4 ++-- RFXtoRP_HsaIpgMove_StockMoved.ftl | 2 +- RFXtoRP_HsrLoadInfo.ftl | 14 +++----------- RFXtoRP_HsrPackBranch.ftl | 4 ++-- RFXtoRP_HsrPackOrder.ftl | 4 ++-- 9 files changed, 15 insertions(+), 23 deletions(-) diff --git a/RFXtoRP_HfGrade.ftl b/RFXtoRP_HfGrade.ftl index bd2d152..82bd26f 100644 --- a/RFXtoRP_HfGrade.ftl +++ b/RFXtoRP_HfGrade.ftl @@ -10,7 +10,7 @@ <#case "C"> <#case "U"> <#case "D"> - <#stop "no generic FTL file available yet for Grades"> + <#stop > <#break> diff --git a/RFXtoRP_HfLvTypeList.ftl b/RFXtoRP_HfLvTypeList.ftl index caade42..2e7865a 100644 --- a/RFXtoRP_HfLvTypeList.ftl +++ b/RFXtoRP_HfLvTypeList.ftl @@ -11,7 +11,7 @@ <#case "U"> <#case "D"> - <#stop "no generic FTL file available yet for LV types"> + <#stop > <#break> diff --git a/RFXtoRP_HfOwner.ftl b/RFXtoRP_HfOwner.ftl index 6d046b7..ee69be1 100644 --- a/RFXtoRP_HfOwner.ftl +++ b/RFXtoRP_HfOwner.ftl @@ -10,7 +10,7 @@ <#case "C"> <#case "U"> <#case "D"> - <#stop "no generic FTL file available yet for Owners"> + <#stop > <#break> diff --git a/RFXtoRP_HsaDesPatch.ftl b/RFXtoRP_HsaDesPatch.ftl index 1e362dc..16ffb9f 100644 --- a/RFXtoRP_HsaDesPatch.ftl +++ b/RFXtoRP_HsaDesPatch.ftl @@ -16,7 +16,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign desPatch = JsonUtil.jsonToMap(dataRfx)> - <#stop "no generic FTL file available yet for desPatch"> + <#stop > <#break> <#case "D"> @@ -24,7 +24,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign desPatch = JsonUtil.jsonToMap(dataRfx)> - <#stop "no generic FTL file available yet for desPatch"> + <#stop > <#break> <#default> <#stop > diff --git a/RFXtoRP_HsaDespNt.ftl b/RFXtoRP_HsaDespNt.ftl index 97c2538..4ceb9e1 100644 --- a/RFXtoRP_HsaDespNt.ftl +++ b/RFXtoRP_HsaDespNt.ftl @@ -16,7 +16,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign despNt = JsonUtil.jsonToMap(dataRfx)> - <#stop "no generic FTL file available yet for despNt"> + <#stop > <#break> <#case "D"> @@ -24,7 +24,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign despNt = JsonUtil.jsonToMap(dataRfx)> - <#stop "no generic FTL file available yet for despNt"> + <#stop > <#break> <#default> <#stop > diff --git a/RFXtoRP_HsaIpgMove_StockMoved.ftl b/RFXtoRP_HsaIpgMove_StockMoved.ftl index 1be2932..7fb0837 100644 --- a/RFXtoRP_HsaIpgMove_StockMoved.ftl +++ b/RFXtoRP_HsaIpgMove_StockMoved.ftl @@ -60,7 +60,7 @@ "ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference?json_string}", <#if reflexMvtStockInterface.ipg_move_operation_year_number!= 0> - "OperationReference": "${reflexMvtStockInterface.ipg_move_operation_year_number} - ${reflexMvtStockInterface.ipg_move_operation_number}", + "OperationReference": "${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}-${reflexMvtStockInterface.ipg_move_operation_year_number} - ${reflexMvtStockInterface.ipg_move_operation_number}", "Quantity": diff --git a/RFXtoRP_HsrLoadInfo.ftl b/RFXtoRP_HsrLoadInfo.ftl index a74a148..1f92412 100644 --- a/RFXtoRP_HsrLoadInfo.ftl +++ b/RFXtoRP_HsrLoadInfo.ftl @@ -17,23 +17,15 @@ <#-- *********************************************** Action = CREATE or UPDATE ******************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign depot = JsonUtil.jsonToMap(dataRfx)> - [ - { - - } - ] + <#stop > <#break> <#case "D"> <#-- *********************************************** Action = DELETE *************************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign depot = JsonUtil.jsonToMap(dataRfx)> - [ - { - - } - ] - <#break> + <#stop > + <#break> <#default> <#stop > diff --git a/RFXtoRP_HsrPackBranch.ftl b/RFXtoRP_HsrPackBranch.ftl index f0f360e..39f7067 100644 --- a/RFXtoRP_HsrPackBranch.ftl +++ b/RFXtoRP_HsrPackBranch.ftl @@ -16,7 +16,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign packBranch = JsonUtil.jsonToMap(dataRfx)> - <#stop "no generic FTL file available yet for Pack Branch"> + <#stop > <#break> <#case "D"> @@ -24,7 +24,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign packBranch = JsonUtil.jsonToMap(dataRfx)> - <#stop "no generic FTL file available yet for Pack Branch"> + <#stop > <#break> <#default> <#stop > diff --git a/RFXtoRP_HsrPackOrder.ftl b/RFXtoRP_HsrPackOrder.ftl index 63a612d..bed33fd 100644 --- a/RFXtoRP_HsrPackOrder.ftl +++ b/RFXtoRP_HsrPackOrder.ftl @@ -16,7 +16,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign packOrder = JsonUtil.jsonToMap(dataRfx)> - <#stop "no generic FTL file available yet for Pack Order"> + <#stop > <#break> <#case "D"> @@ -24,7 +24,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign packOrder = JsonUtil.jsonToMap(dataRfx)> - <#stop "no generic FTL file available yet for Pack Order"> + <#stop > <#break> <#default> <#stop > From ccdf22c86deb40624435c1057b4f3fd610ef3068 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 12 May 2026 10:27:33 +0200 Subject: [PATCH 19/61] SCPN1-10765 --- RFXtoRP_HsaIpgMove_StockMoved.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFXtoRP_HsaIpgMove_StockMoved.ftl b/RFXtoRP_HsaIpgMove_StockMoved.ftl index 7fb0837..cf652f0 100644 --- a/RFXtoRP_HsaIpgMove_StockMoved.ftl +++ b/RFXtoRP_HsaIpgMove_StockMoved.ftl @@ -60,7 +60,7 @@ "ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference?json_string}", <#if reflexMvtStockInterface.ipg_move_operation_year_number!= 0> - "OperationReference": "${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}-${reflexMvtStockInterface.ipg_move_operation_year_number} - ${reflexMvtStockInterface.ipg_move_operation_number}", + "OperationReference": "${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}-${reflexMvtStockInterface.ipg_move_operation_year_number}-${reflexMvtStockInterface.ipg_move_operation_number}", "Quantity": From 3245c381809021b91c118f76f1ac1674e6e9a3aa Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 12 May 2026 16:20:52 +0200 Subject: [PATCH 20/61] commentaire --- InternalSettings.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InternalSettings.ftl b/InternalSettings.ftl index 7e2101a..8fc1a3f 100644 --- a/InternalSettings.ftl +++ b/InternalSettings.ftl @@ -2,10 +2,10 @@ <#-- --------------------------------------------------------------------------------------- --> <#-- DeleteEF est un paramètre qui permet de déterminer si l’exécution logistique doit être supprimée lors de la création d’une commande.--> <#-- Attention : si vous choisissez de la supprimer, toutes les métadonnées associées à cette exécution logistique seront également supprimées. --> -<#-- Si DeleteEF_Creation = true, nous ne supprimons pas l'exécution logistique, Si DeleteEF_Creation = false, nous supprimons l'exécution logistique.--> +<#-- Si DeleteEF_Creation = true, nous supprimons l'exécution logistique, Si DeleteEF_Creation = false, nous ne supprimons pas l'exécution logistique.--> <#-- --------------------------------------------------------------------------------------- --> <#-- DeleteEF is a parameter used to determine whether the logistics execution should be deleted when creating an order.--> <#-- Warning: if deletion is selected, all metadata related to the logistics execution will also be removed. --> -<#-- If DeleteEF_Creation = true, we do not delete the logistics execution. If DeleteEF_Creation = false, we delete the logistics execution. --> +<#-- If DeleteEF_Creation = true, we delete the logistics execution. If DeleteEF_Creation = false, we do not delete the logistics execution. --> <#-- --------------------------------------------------------------------------------------- --> <#assign DeleteEF_Creation = true> \ No newline at end of file From bc61336671408822e725a91166720535e0f61d56 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 8 Jun 2026 14:32:35 +0200 Subject: [PATCH 21/61] SCPN1-10878 --- RFXtoRP_HsaIpgMove_GoodsReceived.ftl | 10 +++++++--- RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl | 6 +++++- RPtoRFX_PrepOrder.ftl | 8 ++++---- RPtoRFX_PrepOrder_DefaultHeaderData.ftl | 4 ---- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/RFXtoRP_HsaIpgMove_GoodsReceived.ftl b/RFXtoRP_HsaIpgMove_GoodsReceived.ftl index c0d861b..ba4a89c 100644 --- a/RFXtoRP_HsaIpgMove_GoodsReceived.ftl +++ b/RFXtoRP_HsaIpgMove_GoodsReceived.ftl @@ -29,7 +29,7 @@ <#-- Goods received Segmentation Keys inclusion --> <#include "RFXtoRP_HsaIpgMove_GoodsReceived_SegmentationKeys.ftl"> }, - <#if reflexMvtStockInterface.ipg_move_type?? & reflexMvtStockInterface.ipg_move_type=="120"> <#-- if it is a transfer-type movement --> + <#if reflexMvtStockInterface.ipg_move_type?? && reflexMvtStockInterface.ipg_move_type=="120"> <#-- if it is a transfer-type movement --> <#if reflexMvtStockInterface.origin_order_line_reference?? && reflexMvtStockInterface.origin_order_line_reference!=""> "ExecutionflowID": "${reflexMvtStockInterface.original_receipt_physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.origin_order_line_reference?trim?json_string}", "OrderID": "${reflexMvtStockInterface.origin_order_line_reference?trim?json_string}", @@ -51,10 +51,14 @@ "OrderID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}", - <#if reflexMvtStockInterface.origin_order_line_number_reference?? && reflexMvtStockInterface.origin_order_line_number_reference!=0> + <#if reflexMvtStockInterface.origin_order_line_number_reference?? && reflexMvtStockInterface.origin_order_line_number_reference!=0 && reflexMvtStockInterface.ipg_move_type=="120"> "LineID": "${reflexMvtStockInterface.origin_order_line_number_reference}", <#else> - "LineID": "${reflexMvtStockInterface.receipt_line_number}", + <#if reflexMvtStockInterface.line_number_reference?? && reflexMvtStockInterface.line_number_reference!=0> + "LineID": "${reflexMvtStockInterface.line_number_reference}", + <#else> + "LineID": "${reflexMvtStockInterface.receipt_line_number}", + "ActorID": "${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)}", "Quantity": { diff --git a/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl b/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl index d340648..05e7ace 100644 --- a/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl +++ b/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl @@ -79,7 +79,11 @@ "Lines" : [ <#list receipt.line_list as line> { - "LineID": "${line.receipt_line_number}", + <#if line.receipt_reference_line_no?? && line.receipt_reference_line_no!=0> + "LineID": "${line.receipt_reference_line_no}", + <#else> + "LineID": "${line.receipt_line_number}", + <#-- Line Metadata inclusion --> <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_LineMetadata.ftl">, "RequestedContent": diff --git a/RPtoRFX_PrepOrder.ftl b/RPtoRFX_PrepOrder.ftl index aa1e6ec..cd22c80 100644 --- a/RPtoRFX_PrepOrder.ftl +++ b/RPtoRFX_PrepOrder.ftl @@ -37,15 +37,15 @@ "requested_delivery_start_datetime": "${DateTimeUTCtoRfxLocale(.now?iso_utc?string,time_zone_rfx)}", "requested_delivery_date_type": "${requested_delivery_date_type}", - "consolidated_delivery": "${consolidated_delivery_flag}", + "consolidated_delivery": "false", "pick_sequence_code": "${pick_sequence_code}", "intermediate_consignee": "false", - "protected": "${protected_flag}", - "automatic_generation": "${automatic_generation_flag}", + "protected": "false", + "automatic_generation": "true", "deactivate": "false", "optional_attributes": { <#include "RPtoRFX_PrepOrder_OptionalAttributes.ftl"> - "apt_with_end_consignee": "${apt_with_end_consignee_flag}", + "apt_with_end_consignee": "false", "apt_with_intermediate": "false", "load_grouping": "${load_grouping}" } diff --git a/RPtoRFX_PrepOrder_DefaultHeaderData.ftl b/RPtoRFX_PrepOrder_DefaultHeaderData.ftl index bed878f..f93f19d 100644 --- a/RPtoRFX_PrepOrder_DefaultHeaderData.ftl +++ b/RPtoRFX_PrepOrder_DefaultHeaderData.ftl @@ -18,11 +18,7 @@ <#assign originator_code = ""/> <#assign preparation_type_code = "010"/> <#assign requested_delivery_date_type = "010"/> -<#assign consolidated_delivery_flag ="false"/> <#assign pick_sequence_code = ""/> -<#assign protected_flag ="false"/> -<#assign automatic_generation_flag ="false"/> -<#assign apt_with_end_consignee_flag="false"/> <#-- A supprimer si utilisation de la table de correspondance--> <#--To be deleted if using the correspondence table--> From f54b605e77e044f75ee037dc7bf674f4ad4286b6 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 9 Jun 2026 10:35:38 +0200 Subject: [PATCH 22/61] SCPN1-10882 --- RFXtoRP_HsaIpgMove_GoodsReceived.ftl | 9 -- RFXtoRP_HsrAntRec.ftl | 54 +++++++-- RFXtoRP_HsrAntRec_Cancelled.ftl | 25 ++++ RFXtoRP_HsrAntRec_Created.ftl | 111 ++++++++++++++++++ RFXtoRP_HsrAntRec_Created_HeaderMetadata.ftl | 19 +++ RFXtoRP_HsrAntRec_Created_LineMetadata.ftl | 10 ++ ...oRP_HsrAntRec_Created_SegmentationKeys.ftl | 47 ++++++++ RFXtoRP_HsrAntRec_ReceiptCompleted.ftl | 25 ++++ RFXtoRP_HsrAntRec_ReceiptExpected.ftl | 25 ++++ ...P_HsrReceiptList_ExecutionflowDetected.ftl | 21 +++- 10 files changed, 322 insertions(+), 24 deletions(-) create mode 100644 RFXtoRP_HsrAntRec_Cancelled.ftl create mode 100644 RFXtoRP_HsrAntRec_Created.ftl create mode 100644 RFXtoRP_HsrAntRec_Created_HeaderMetadata.ftl create mode 100644 RFXtoRP_HsrAntRec_Created_LineMetadata.ftl create mode 100644 RFXtoRP_HsrAntRec_Created_SegmentationKeys.ftl create mode 100644 RFXtoRP_HsrAntRec_ReceiptCompleted.ftl create mode 100644 RFXtoRP_HsrAntRec_ReceiptExpected.ftl diff --git a/RFXtoRP_HsaIpgMove_GoodsReceived.ftl b/RFXtoRP_HsaIpgMove_GoodsReceived.ftl index ba4a89c..eebe3e3 100644 --- a/RFXtoRP_HsaIpgMove_GoodsReceived.ftl +++ b/RFXtoRP_HsaIpgMove_GoodsReceived.ftl @@ -32,24 +32,15 @@ <#if reflexMvtStockInterface.ipg_move_type?? && reflexMvtStockInterface.ipg_move_type=="120"> <#-- if it is a transfer-type movement --> <#if reflexMvtStockInterface.origin_order_line_reference?? && reflexMvtStockInterface.origin_order_line_reference!=""> "ExecutionflowID": "${reflexMvtStockInterface.original_receipt_physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.origin_order_line_reference?trim?json_string}", - "OrderID": "${reflexMvtStockInterface.origin_order_line_reference?trim?json_string}", <#else> <#if reflexMvtStockInterface.receipt_reference?? && reflexMvtStockInterface.receipt_reference!="" && !reflexMvtStockInterface.receipt_reference?starts_with(reflexMvtStockInterface.original_receipt_physical_depot_code + reflexMvtStockInterface.activity_code + reflexMvtStockInterface.receipt_year_number)> "ExecutionflowID": "${reflexMvtStockInterface.original_receipt_physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_reference?trim?json_string}", - "OrderID": "${reflexMvtStockInterface.receipt_reference?trim?json_string}", <#else> "ExecutionflowID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}", - "OrderID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}", <#else> - <#if reflexMvtStockInterface.receipt_reference?? && reflexMvtStockInterface.receipt_reference!=""> "ExecutionflowID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}", - "OrderID": "${reflexMvtStockInterface.receipt_reference?trim?json_string}", - <#else> - "ExecutionflowID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}", - "OrderID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}", - <#if reflexMvtStockInterface.origin_order_line_number_reference?? && reflexMvtStockInterface.origin_order_line_number_reference!=0 && reflexMvtStockInterface.ipg_move_type=="120"> "LineID": "${reflexMvtStockInterface.origin_order_line_number_reference}", diff --git a/RFXtoRP_HsrAntRec.ftl b/RFXtoRP_HsrAntRec.ftl index 976149f..4976de3 100644 --- a/RFXtoRP_HsrAntRec.ftl +++ b/RFXtoRP_HsrAntRec.ftl @@ -1,5 +1,5 @@ <#-- **** input parameters ***** --> -<#-- input : message HARDIS WMS --> +<#-- input : message HARDIS WMS for anticipated receipt --> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> @@ -14,31 +14,61 @@ <#-- *********************************************** Action = CREATE ******************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> - <#assign ancReceipt = JsonUtil.jsonToMap(dataRfx)> - [ + <#assign AncReceipt = JsonUtil.jsonToMap(dataRfx)> + [ + <#if AncReceipt.line_list?? && AncReceipt.line_list[0]??> { - <#stop > - } + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderCreated> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrAntRec_Created.ftl"> + }, + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderReceiptExpected> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrAntRec_ReceiptExpected.ftl"> + } ] + <#else> + <#stop> + <#break> <#case "U"> <#-- *********************************************** Action = UPDATE ******************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> - <#assign ancReceipt = JsonUtil.jsonToMap(dataRfx)> + <#assign AncReceipt = JsonUtil.jsonToMap(dataRfx)> [ - { - <#stop > - } + <#if AncReceipt.generated?? && AncReceipt.generated.total_level_1_quantity==0 && AncReceipt.generated.total_level_2_quantity==0 && AncReceipt.generated.total_level_3_quantity==0 && AncReceipt.anticipated_receipt_closed == "true" && AncReceipt.all_receipt_validated=="true"> + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderCancelled> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrAntRec_Cancelled.ftl"> + } + <#else> + <#if AncReceipt.anticipated_receipt_closed == "true" && AncReceipt.all_receipt_validated=="true"> + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderReceiptCompleted> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrAntRec_ReceiptCompleted.ftl"> + } + + ] <#break> <#case "D"> <#-- *********************************************** Action = DELETE ******************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> - <#assign ancReceipt = JsonUtil.jsonToMap(dataRfx)> + <#assign AncReceipt = JsonUtil.jsonToMap(dataRfx)> [ - { - <#stop > + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderCancelled> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrAntRec_Cancelled.ftl"> } ] <#break> diff --git a/RFXtoRP_HsrAntRec_Cancelled.ftl b/RFXtoRP_HsrAntRec_Cancelled.ftl new file mode 100644 index 0000000..274abdd --- /dev/null +++ b/RFXtoRP_HsrAntRec_Cancelled.ftl @@ -0,0 +1,25 @@ +<#include "HfRpConfig.ftl"> +<#include "ReflexUtils.ftl"> +<#--<#assign receipt_status_datetime = RfxDateTimetoUTCWithTimezone(receipt.creation_datetime,time_zone_rfx) /> --> +<#assign now = .now?string("yyyy-MM-dd'T'HH:mm:ss'Z'") /> +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> + "RefID": "${AncReceipt.anticipated_receipt_reference?json_string}", + <#else> + "RefID": "AR-${AncReceipt.physical_depot_code?json_string}${AncReceipt.activity_code?json_string}${AncReceipt.originator_code?json_string}${AncReceipt.anticipated_receipt_year?json_string}${AncReceipt.anticipated_receipt_number?json_string}", + + "RefDate": { + "DateTime": "${now}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + + "Payload": {} + + } +] diff --git a/RFXtoRP_HsrAntRec_Created.ftl b/RFXtoRP_HsrAntRec_Created.ftl new file mode 100644 index 0000000..656876f --- /dev/null +++ b/RFXtoRP_HsrAntRec_Created.ftl @@ -0,0 +1,111 @@ +<#include "ReflexUtils.ftl"> +<#include "HfRpConfig.ftl"> +<#include "ActorPrefix.ftl"> + +[ + { + <#assign receipt_datetime = RfxDateTimetoUTCWithTimezone(AncReceipt.planned_receipt_datetime,time_zone_rfx) /> + <#assign now = .now?string("yyyy-MM-dd'T'HH:mm:ss'Z'") /> + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + "CustomFields": [ + { + "Key": "anticipated_receipt_reference", + "Value": "${AncReceipt.anticipated_receipt_reference?json_string}" + }, + { + "Key": "anticipated_receipt_year", + "Value": "${AncReceipt.anticipated_receipt_year?json_string}" + }, + { + "Key": "anticipated_receipt_number", + "Value": "${AncReceipt.anticipated_receipt_number?json_string}" + }, + { + "Key": "originator_code", + "Value": "${AncReceipt.originator_code?json_string}" + }, + { + "Key": "activity_code", + "Value": "${AncReceipt.activity_code?json_string}" + }, + { + "Key": "depot_code", + "Value": "${AncReceipt.physical_depot_code?json_string}" + }, + { + "Key": "anticipated", + "Value": "true" + } + ], + <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> + "RefID": "${AncReceipt.anticipated_receipt_reference?json_string}" + <#else> + "RefID": "AR-${AncReceipt.physical_depot_code?trim?json_string}${AncReceipt.activity_code?trim?json_string}${AncReceipt.originator_code?trim?json_string}${AncReceipt.anticipated_receipt_year?json_string}${AncReceipt.anticipated_receipt_number?json_string}" + + }, + "Payload": { + "ShipFrom": { + "ActorID": "${RFXtoRPprefixSupplier(AncReceipt.original_code?json_string)}" + }, + "ShipTo": { + "ActorID": "${RFXtoRPprefixDepot(AncReceipt.physical_depot_code?json_string)}" + }, + "CreationDateTime": { + "DateTime": "${now}", + "AuthorTimeZone": "${time_zone_rfx}" + }, + "LanguageCodeISO6391":"fr", + "Anticipated": true, + <#-- Header Metadata inclusion --> + <#include "RFXtoRP_HsrAntRec_Created_HeaderMetadata.ftl">, + "Lines": [ + <#-- Lines iteration --> + <#list AncReceipt.line_list?filter(l -> l??) as line> + { + <#if line.anticipated_receipt_reference_line_no?? && line.anticipated_receipt_reference_line_no!=0> + "LineID": "${line.anticipated_receipt_reference_line_no}", + <#else> + "LineID": "${line.anticipated_receipt_line_number}", + + <#-- Line Metadata inclusion --> + <#include "RFXtoRP_HsrAntRec_Created_LineMetadata.ftl">, + "RequestedContent":{ + "Goods":{ + "ItemID":"${line.item_code?trim?json_string!"0"}", + "LVBranchID":"${line.item_lv_code?trim?json_string!"0"}", + <#-- Segmentation Keys inclusion --> + <#include "RFXtoRP_HsrAntRec_Created_SegmentationKeys.ftl"> + }, + "Quantity" : + { + "LVID": "${quantity_in_base_lv_RP_Cst}", + "Value": ${line.planned_quantity_in_base_lv!0} + } + } + }<#sep>, + + ] + <#if AncReceipt.planned_receipt_datetime?? && AncReceipt.planned_receipt_datetime!="0000-00-00T00:00:00"> + , + "RequestedMilestones" : + { + "RequestedDeliveryDateTime" : + { + "DateTime": "${receipt_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + } + + <#if AncReceipt.carrier_code?? && AncReceipt.carrier_code != ""> + , + "Carrier": + { + "ActorID":"${RFXtoRPprefixCarrier(AncReceipt.carrier_code?trim?json_string)}" + } + + } +} +] diff --git a/RFXtoRP_HsrAntRec_Created_HeaderMetadata.ftl b/RFXtoRP_HsrAntRec_Created_HeaderMetadata.ftl new file mode 100644 index 0000000..40f44a9 --- /dev/null +++ b/RFXtoRP_HsrAntRec_Created_HeaderMetadata.ftl @@ -0,0 +1,19 @@ +<#-- use protobuf of class HsrReceiptList to find HARDIS WMS fields names --> + +<#-- +<#-- Best practices: + If the SK is of type: + - string: add ?json_string (e.g. "${stock.batch_1?json_string}") + - boolean: possible values: true and false + - datetime: expected format: 2025-10-30T10:12:10.000Z + - decimal number: the separator is a point (e.g. 10.5) +"MetaData": [ + { + "Key": "OrderType", + "Value": { "String" : "${order.optional_attributes.reason_code}"} + } + ], +--> + + +"MetaData": [ ] \ No newline at end of file diff --git a/RFXtoRP_HsrAntRec_Created_LineMetadata.ftl b/RFXtoRP_HsrAntRec_Created_LineMetadata.ftl new file mode 100644 index 0000000..b920b69 --- /dev/null +++ b/RFXtoRP_HsrAntRec_Created_LineMetadata.ftl @@ -0,0 +1,10 @@ +<#-- use protobuf of class HsrReceiptList to find HARDIS WMS fields names --> + +<#-- Best practices: + If the SK is of type: + - string: add ?json_string (e.g. "${stock.batch_1?json_string}") + - boolean: possible values: true and false + - datetime: expected format: 2025-10-30T10:12:10.000Z + - decimal number: the separator is a point (e.g. 10.5)--> + +"MetaData": [ ] \ No newline at end of file diff --git a/RFXtoRP_HsrAntRec_Created_SegmentationKeys.ftl b/RFXtoRP_HsrAntRec_Created_SegmentationKeys.ftl new file mode 100644 index 0000000..de24f8b --- /dev/null +++ b/RFXtoRP_HsrAntRec_Created_SegmentationKeys.ftl @@ -0,0 +1,47 @@ +<#-- use protobuf of class HsrReceiptList to find HARDIS WMS fields names --> + +<#-- +<#-- Best practices: + If the SK is of type: + - string: add ?json_string (e.g. "${stock.batch_1?json_string}") + - boolean: possible values: true and false + - datetime: expected format: 2025-10-30T10:12:10.000Z + - decimal number: the separator is a point (e.g. 10.5) +"SegmentationKeys": [ + { + "Key": "Grade", + "Value": { "String" : "${line.grade_code}"} + }, + { + "Key": "Owner", + "Value": { "String" : "${line.owner_code}"} + }, + { + "Key": "BatchNumber", + <#if reflexMvtStockInterface.batch_1 == ""> + "Value": { "String" : "no batch"} + <#else> + "Value": { "String" : "${line_without_detail.batch_1}"} + + }, + { + "Key": "HeldForSpecificCode", + <#if line_without_detail.hold_for_specific_code == "true"> + "Value": { "Bool" : "True"} + <#else> + "Value": { "Bool" : "False"} + }, + + { + <#assign manufacturing_date = line_without_detail.ipg_date_of_manufacture_date?datetime(rfx_date_format_default)?iso_utc /> + "Key": "ManufacturingDate", + "Value": "Timestamp": { + "AuthorTimeZone": "${time_zone_rfx}", + "DateTime": "${manufacturing_date}" + } + } + + ] + +--> +"SegmentationKeys": [ ] \ No newline at end of file diff --git a/RFXtoRP_HsrAntRec_ReceiptCompleted.ftl b/RFXtoRP_HsrAntRec_ReceiptCompleted.ftl new file mode 100644 index 0000000..aa64359 --- /dev/null +++ b/RFXtoRP_HsrAntRec_ReceiptCompleted.ftl @@ -0,0 +1,25 @@ +<#include "HfRpConfig.ftl"> +<#include "ReflexUtils.ftl"> +<#--<#assign receipt_status_datetime = RfxDateTimetoUTCWithTimezone(receipt.creation_datetime,time_zone_rfx) /> --> +<#assign now = .now?string("yyyy-MM-dd'T'HH:mm:ss'Z'") /> +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> + "RefID": "${AncReceipt.anticipated_receipt_reference?json_string}", + <#else> + "RefID": "AR-${AncReceipt.physical_depot_code?trim?json_string}${AncReceipt.activity_code?trim?json_string}${AncReceipt.originator_code?trim?json_string}${AncReceipt.anticipated_receipt_year?json_string}${AncReceipt.anticipated_receipt_number?json_string}", + + "RefDate": { + "DateTime": "${now}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + + "Payload": {} + + } +] diff --git a/RFXtoRP_HsrAntRec_ReceiptExpected.ftl b/RFXtoRP_HsrAntRec_ReceiptExpected.ftl new file mode 100644 index 0000000..fcbc6eb --- /dev/null +++ b/RFXtoRP_HsrAntRec_ReceiptExpected.ftl @@ -0,0 +1,25 @@ +<#include "HfRpConfig.ftl"> +<#include "ReflexUtils.ftl"> +<#--<#assign receipt_status_datetime = RfxDateTimetoUTCWithTimezone(receipt.creation_datetime,time_zone_rfx) /> --> +<#assign now = .now?string("yyyy-MM-dd'T'HH:mm:ss'Z'") /> +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> + "RefID": "${AncReceipt.anticipated_receipt_reference?json_string}", + <#else> + "RefID": "AR-${AncReceipt.physical_depot_code?trim?json_string}${AncReceipt.activity_code?trim?json_string}${AncReceipt.originator_code?trim?json_string}${AncReceipt.anticipated_receipt_year?json_string}${AncReceipt.anticipated_receipt_number?json_string}", + + "RefDate": { + "DateTime": "${now}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + + "Payload": {} + + } +] diff --git a/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl b/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl index 05e7ace..eca0f87 100644 --- a/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl +++ b/RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl @@ -33,7 +33,18 @@ { "Key": "order_number", "Value": "${receipt.receipt_number}" + }, + <#if receipt.line_list[0]?? && receipt.line_list[0].line_anticipated?? && receipt.line_list[0].line_anticipated.anticipated_receipt_year!=0 && receipt.line_list[0].line_anticipated.anticipated_receipt_number!=0 > + { + "Key": "anticipated", + "Value": "true" } + <#else> + { + "Key": "anticipated", + "Value": "false" + } + ], "RefID": "R${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year}${receipt.receipt_number}", "RefDate": { @@ -63,10 +74,14 @@ "ActorID": "${RFXtoRPprefixDepot(receipt.physical_depot_code?trim?json_string)}" }, "ShipToAcked": true, - <#if receipt.receipt_reference?? && receipt.receipt_reference!=""> - "OrderID":"${receipt.receipt_reference?trim?json_string}", + <#if receipt.line_list[0]?? && receipt.line_list[0].line_anticipated?? && receipt.line_list[0].line_anticipated.anticipated_receipt_year!=0 && receipt.line_list[0].line_anticipated.anticipated_receipt_reference?? && receipt.line_list[0].line_anticipated.anticipated_receipt_reference=="" > + "OrderID":"AR-${receipt.line_list[0].line_anticipated.anticipated_receipt_depot_code?trim?json_string}${receipt.line_list[0].line_anticipated.anticipated_receipt_activity_code?trim?json_string}${receipt.line_list[0].line_anticipated.anticipated_receipt_originator_code?trim?json_string}${receipt.line_list[0].line_anticipated.anticipated_receipt_year}${receipt.line_list[0].line_anticipated.anticipated_receipt_number}", <#else> - "OrderID":"R${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year}${receipt.receipt_number}", + <#if receipt.receipt_reference?? && receipt.receipt_reference!=""> + "OrderID":"${receipt.receipt_reference?trim?json_string}", + <#else> + "OrderID":"R${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year}${receipt.receipt_number}", + <#if receipt.carrier_informations.carrier_code != ""> "Carrier": From f99dce48687f99888174a8e14f426af033a675d9 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 11 Jun 2026 11:47:42 +0200 Subject: [PATCH 23/61] SCPN1-10893 --- RPtoRFX_CarrierAppointmentCreated.ftl | 55 ++++++++++++++++++--------- 1 file changed, 38 insertions(+), 17 deletions(-) diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index a81a0e9..de38ddc 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -38,24 +38,45 @@ <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING > <#if appointment.Unloading?? && appointment.Unloading.Projects?? && appointment.Unloading.Projects[0]?? && appointment.Unloading.Projects[0].Commissions?? && - appointment.Unloading.Projects[0].Commissions[0]?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID!="" > - "physical_receipt_list": [ - <#list appointment.Unloading.Projects[0].Commissions?filter(l ->l.ExecutionflowID?? && l.ExecutionflowID !="") as commission> - <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.key == commission.ExecutionflowID && l.value?? && l.value?has_content) as custom> - { - "receipt_activity": "${custom.value.activity_code?json_string}", - "originator_code": "${custom.value.originator_code?json_string}", - "physical_receipt_reference": "${custom.value.reference?json_string}", - "receipt_year": "${custom.value.order_year?json_string}", - "receipt_number": "${custom.value.order_number?json_string}" - } - <#sep>, - - <#sep>, - - ], + appointment.Unloading.Projects[0].Commissions[0]?? && appointment.Unloading.Projects[0].Commissions[0].OrderID?? && appointment.Unloading.Projects[0].Commissions[0].OrderID!="" + && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID=="" > + "anticipated_receipt_list": [ + <#list appointment.Unloading.Projects[0].Commissions?filter(l ->l.OrderID?? && l.OrderID !="" && l.ExecutionflowID?? && l.ExecutionflowID=="") as commission> + <#list eventRP.orderCustomFields.entrySet()?filter(l ->l.key == commission.OrderID && l.value?? && l.value?has_content) as custom> + { + "receipt_activity": "${custom.value.activity_code?json_string}", + "originator_code": "${custom.value.originator_code?json_string}", + "anticipated_receipt_reference": "${custom.value.anticipated_receipt_reference?json_string}", + "anticipated_receipt_year": "${custom.value.anticipated_receipt_year?json_string}", + "anticipated_receipt_number": "${custom.value.anticipated_receipt_number?json_string}" + } + <#sep>, + + <#sep>, + + ], <#else> - "appointment_designation":"${(appointment.Reason!"")!?json_string}", + <#if appointment.Unloading?? && appointment.Unloading.Projects?? && appointment.Unloading.Projects[0]?? && + appointment.Unloading.Projects[0].Commissions?? && + appointment.Unloading.Projects[0].Commissions[0]?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID!="" > + "physical_receipt_list": [ + <#list appointment.Unloading.Projects[0].Commissions?filter(l ->l.ExecutionflowID?? && l.ExecutionflowID !="") as commission> + <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.key == commission.ExecutionflowID && l.value?? && l.value?has_content) as custom> + { + "receipt_activity": "${custom.value.activity_code?json_string}", + "originator_code": "${custom.value.originator_code?json_string}", + "physical_receipt_reference": "${custom.value.reference?json_string}", + "receipt_year": "${custom.value.order_year?json_string}", + "receipt_number": "${custom.value.order_number?json_string}" + } + <#sep>, + + <#sep>, + + ], + <#else> + "appointment_designation":"${(appointment.Reason!"")!?json_string}", + <#else> <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_LOADING> From 06e48d447685636cb38f5f70ff9e447d026204ef Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 11 Jun 2026 14:20:02 +0200 Subject: [PATCH 24/61] SCPN1-10893 --- RPtoRFX_CarrierAppointmentCreated.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index de38ddc..7d91eec 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -41,10 +41,10 @@ appointment.Unloading.Projects[0].Commissions[0]?? && appointment.Unloading.Projects[0].Commissions[0].OrderID?? && appointment.Unloading.Projects[0].Commissions[0].OrderID!="" && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID=="" > "anticipated_receipt_list": [ - <#list appointment.Unloading.Projects[0].Commissions?filter(l ->l.OrderID?? && l.OrderID !="" && l.ExecutionflowID?? && l.ExecutionflowID=="") as commission> + <#list appointment.Unloading.Projects[0].Commissions?filter(l ->l.OrderID?? && l.OrderID !="") as commission> <#list eventRP.orderCustomFields.entrySet()?filter(l ->l.key == commission.OrderID && l.value?? && l.value?has_content) as custom> { - "receipt_activity": "${custom.value.activity_code?json_string}", + "activity": "${custom.value.activity_code?json_string}", "originator_code": "${custom.value.originator_code?json_string}", "anticipated_receipt_reference": "${custom.value.anticipated_receipt_reference?json_string}", "anticipated_receipt_year": "${custom.value.anticipated_receipt_year?json_string}", From 9c446ffdccc4ccdd6c8311dc8981e98a4875313d Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 11 Jun 2026 15:16:17 +0200 Subject: [PATCH 25/61] SCPN1-10882 --- ...CarrierApt_BookingForceBookAppointment.ftl | 60 +++++++--- ...CarrierApt_BookingWMSUpdateAppointment.ftl | 104 +++++++++++------- RPtoRFX_CarrierAppointmentCreated.ftl | 2 +- 3 files changed, 107 insertions(+), 59 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl index b45dee9..76f499f 100644 --- a/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl @@ -131,32 +131,56 @@ }] }, <#else> - <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> + <#if carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0)> "Unloading" : - <#else> - "Loading" : - { "Projects" : [{ - "Commissions": [{ - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - }], - "ProjectID" : "${projectRP}" + "Commissions": [ + <#list carrier_apt.anticipated_receipt_list?filter(l ->l??) as anticipated_receipt> + { + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + <#if anticipated_receipt.anticipated_receipt_reference?? && anticipated_receipt.anticipated_receipt_reference!=""> + "OrderID": "${anticipated_receipt.anticipated_receipt_reference?json_string}", + <#else> + "OrderID": "AR${carrier_apt.physical_depot?json_string}${anticipated_receipt.activity?json_string}${anticipated_receipt.originator_code?json_string}${anticipated_receipt.anticipated_receipt_year}${anticipated_receipt.anticipated_receipt_number}", + + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + }<#sep>, + + ], + "ProjectID" : "${projectRP}" }] }, - <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> - "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", <#else> - <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> - "Reason": "${carrier_apt.appointment_designation?json_string}", + <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> + "Unloading" : <#else> - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "Reason": "${carrier_apt.appointment_reference?json_string}", + "Loading" : + + { + "Projects" : [{ + "Commissions": [{ + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + }], + "ProjectID" : "${projectRP}" + }] + }, + <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> + "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", + <#else> + <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> + "Reason": "${carrier_apt.appointment_designation?json_string}", <#else> - "Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "Reason": "${carrier_apt.appointment_reference?json_string}", + <#else> + "Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + diff --git a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl index f834ed9..a9cdd1d 100644 --- a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl @@ -114,53 +114,77 @@ "ProjectID" : "${projectRP}" }] }, - "Reason": "", + "Reason": "", <#else> - <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_LOADING> - "Loading" : - { - "Projects" : [ - { - "Commissions": [ - { - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - } - ], - "ProjectID" : "${projectRP}" - }] - }, - <#else> - <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> + <#if carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0)> "Unloading" : - { - "Projects" : [ - { - "Commissions": [ - { - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - } + { + "Projects" : [{ + "Commissions": [ + <#list carrier_apt.anticipated_receipt_list?filter(l ->l??) as anticipated_receipt> + { + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + <#if anticipated_receipt.anticipated_receipt_reference?? && anticipated_receipt.anticipated_receipt_reference!=""> + "OrderID": "${anticipated_receipt.anticipated_receipt_reference?json_string}", + <#else> + "OrderID": "AR${carrier_apt.physical_depot?json_string}${anticipated_receipt.activity?json_string}${anticipated_receipt.originator_code?json_string}${anticipated_receipt.anticipated_receipt_year}${anticipated_receipt.anticipated_receipt_number}", + + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + }<#sep>, + ], "ProjectID" : "${projectRP}" - }] - }, - - - <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> - "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", + }] + }, <#else> - <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> - "Reason": "${carrier_apt.appointment_designation?json_string}", + <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_LOADING> + "Loading" : + { + "Projects" : [ + { + "Commissions": [ + { + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + } + ], + "ProjectID" : "${projectRP}" + }] + }, <#else> - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "Reason": "${carrier_apt.appointment_reference?json_string}", + <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> + "Unloading" : + { + "Projects" : [ + { + "Commissions": [ + { + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + } + ], + "ProjectID" : "${projectRP}" + }] + }, + + + <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> + "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", + <#else> + <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> + "Reason": "${carrier_apt.appointment_designation?json_string}", <#else> - "Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "Reason": "${carrier_apt.appointment_reference?json_string}", + <#else> + "Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index 7d91eec..c7f1dc9 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -39,7 +39,7 @@ <#if appointment.Unloading?? && appointment.Unloading.Projects?? && appointment.Unloading.Projects[0]?? && appointment.Unloading.Projects[0].Commissions?? && appointment.Unloading.Projects[0].Commissions[0]?? && appointment.Unloading.Projects[0].Commissions[0].OrderID?? && appointment.Unloading.Projects[0].Commissions[0].OrderID!="" - && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID=="" > + && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID == "" > "anticipated_receipt_list": [ <#list appointment.Unloading.Projects[0].Commissions?filter(l ->l.OrderID?? && l.OrderID !="") as commission> <#list eventRP.orderCustomFields.entrySet()?filter(l ->l.key == commission.OrderID && l.value?? && l.value?has_content) as custom> From bf214b7a5543bfc219584182f6f604b68e382855 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 11 Jun 2026 15:36:50 +0200 Subject: [PATCH 26/61] SCPN1-10882 --- RFXtoRP_HsrAntRec_Created.ftl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RFXtoRP_HsrAntRec_Created.ftl b/RFXtoRP_HsrAntRec_Created.ftl index 656876f..d5ddfec 100644 --- a/RFXtoRP_HsrAntRec_Created.ftl +++ b/RFXtoRP_HsrAntRec_Created.ftl @@ -38,6 +38,10 @@ { "Key": "anticipated", "Value": "true" + }, + { + "Key": "planned_receipt_datetime", + "Value": "${receipt_datetime}" } ], <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> From 40b4a1672ef3f68eaba9ba8926e53fcdd8bc4ef0 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Thu, 11 Jun 2026 15:40:52 +0200 Subject: [PATCH 27/61] SCPN1-10882 --- RPtoRFX_CarrierAppointmentCreated.ftl | 74 ++++++++++++--------------- 1 file changed, 34 insertions(+), 40 deletions(-) diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index c7f1dc9..7a3671a 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -36,47 +36,41 @@ <#include "RPtoRFX_CarrierAppointmentDefaultData.ftl"> <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING > - <#if appointment.Unloading?? && appointment.Unloading.Projects?? && appointment.Unloading.Projects[0]?? && - appointment.Unloading.Projects[0].Commissions?? && - appointment.Unloading.Projects[0].Commissions[0]?? && appointment.Unloading.Projects[0].Commissions[0].OrderID?? && appointment.Unloading.Projects[0].Commissions[0].OrderID!="" - && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID == "" > - "anticipated_receipt_list": [ - <#list appointment.Unloading.Projects[0].Commissions?filter(l ->l.OrderID?? && l.OrderID !="") as commission> - <#list eventRP.orderCustomFields.entrySet()?filter(l ->l.key == commission.OrderID && l.value?? && l.value?has_content) as custom> - { - "activity": "${custom.value.activity_code?json_string}", - "originator_code": "${custom.value.originator_code?json_string}", - "anticipated_receipt_reference": "${custom.value.anticipated_receipt_reference?json_string}", - "anticipated_receipt_year": "${custom.value.anticipated_receipt_year?json_string}", - "anticipated_receipt_number": "${custom.value.anticipated_receipt_number?json_string}" - } - <#sep>, - - <#sep>, - - ], + <#if appointment.Unloading?? && appointment.Unloading.Projects?? && + appointment.Unloading.Projects[0]?? && + appointment.Unloading.Projects[0].Commissions??> + "physical_receipt_list": [ + <#list appointment.Unloading.Projects[0].Commissions?filter(l ->l.ExecutionflowID?? && l.ExecutionflowID !="") as commission> + <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.key == commission.ExecutionflowID && l.value?? && l.value?has_content) as custom> + { + "receipt_activity": "${custom.value.activity_code?json_string}", + "originator_code": "${custom.value.originator_code?json_string}", + "physical_receipt_reference": "${custom.value.reference?json_string}", + "receipt_year": "${custom.value.order_year?json_string}", + "receipt_number": "${custom.value.order_number?json_string}" + } + <#sep>, + + <#sep>, + + ], + "anticipated_receipt_list": [ + <#list appointment.Unloading.Projects[0].Commissions?filter(l -> (!(l.ExecutionflowID??) || l.ExecutionflowID =="") && (l.OrderID?? && l.OrderID !="")) as commission> + <#list eventRP.orderCustomFields.entrySet()?filter(l ->l.key == commission.OrderID && l.value?? && l.value?has_content) as custom> + { + "activity": "${custom.value.activity_code?json_string}", + "originator_code": "${custom.value.originator_code?json_string}", + "anticipated_receipt_reference": "${custom.value.anticipated_receipt_reference?json_string}", + "anticipated_receipt_year": "${custom.value.anticipated_receipt_year?json_string}", + "anticipated_receipt_number": "${custom.value.anticipated_receipt_number?json_string}" + } + <#sep>, + + <#sep>, + + ], <#else> - <#if appointment.Unloading?? && appointment.Unloading.Projects?? && appointment.Unloading.Projects[0]?? && - appointment.Unloading.Projects[0].Commissions?? && - appointment.Unloading.Projects[0].Commissions[0]?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID!="" > - "physical_receipt_list": [ - <#list appointment.Unloading.Projects[0].Commissions?filter(l ->l.ExecutionflowID?? && l.ExecutionflowID !="") as commission> - <#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.key == commission.ExecutionflowID && l.value?? && l.value?has_content) as custom> - { - "receipt_activity": "${custom.value.activity_code?json_string}", - "originator_code": "${custom.value.originator_code?json_string}", - "physical_receipt_reference": "${custom.value.reference?json_string}", - "receipt_year": "${custom.value.order_year?json_string}", - "receipt_number": "${custom.value.order_number?json_string}" - } - <#sep>, - - <#sep>, - - ], - <#else> - "appointment_designation":"${(appointment.Reason!"")!?json_string}", - + "appointment_designation":"${(appointment.Reason!"")!?json_string}", <#else> <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_LOADING> From 0f116c797c60ad028b4d714f05476cb143464904 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Thu, 11 Jun 2026 17:08:26 +0200 Subject: [PATCH 28/61] SCPN1-10882 --- RFXtoRP_RestResponse.ftl | 2 + RPtoRFX_AppointmentEvent.ftl | 106 ++++++++++++------ ...tAnticipatedReceiptAssociationByNumber.ftl | 32 ++++++ ...AnticipatedReceiptDissociationByNumber.ftl | 32 ++++++ 4 files changed, 136 insertions(+), 36 deletions(-) create mode 100644 RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl create mode 100644 RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl diff --git a/RFXtoRP_RestResponse.ftl b/RFXtoRP_RestResponse.ftl index 3520cdb..5c24aaa 100644 --- a/RFXtoRP_RestResponse.ftl +++ b/RFXtoRP_RestResponse.ftl @@ -441,6 +441,8 @@ <#case "appointment_post_physical_receipt_associations_by_number"> <#case "appointment_post_physical_receipt_dissociations_by_ref"> <#case "appointment_post_physical_receipt_dissociations_by_number"> + <#case "appointment_post_anticipated_receipt_associations_by_ref"> + <#case "appointment_post_anticipated_receipt_dissociations_by_number"> <#switch restResponsetMsg.status!no_status> <#case no_status> [ diff --git a/RPtoRFX_AppointmentEvent.ftl b/RPtoRFX_AppointmentEvent.ftl index c83464d..6214c0a 100644 --- a/RPtoRFX_AppointmentEvent.ftl +++ b/RPtoRFX_AppointmentEvent.ftl @@ -37,45 +37,79 @@ } <#else> <#if eventRP.commissionsUpdated> - <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != ""> - <#if eventRP.appointmentCustomFields?has_content> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_number> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl"> - } - <#else> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_ref> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl"> - } - - <#assign AddComma = true /> - - <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!=""> - <#if AddComma == true> - , + <#if appointment.executionflowCustomFields?has_content> + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != ""> + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl"> + } + <#else> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_ref> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl"> + } + + <#assign AddComma = true /> + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!=""> + <#if AddComma == true> + , + - <#if eventRP.appointmentCustomFields?has_content> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_number> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl"> - } - <#else> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_ref> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl"> - } + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl"> + } + <#else> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_ref> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl"> + } + + <#assign AddComma = true /> + + + + <#if appointment.orderCustomFields?has_content> + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != ""> + <#if AddComma == true> + , + + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_anticipated_receipt_associations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl"> + } + + <#assign AddComma = true /> + + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!=""> + <#if AddComma == true> + , + + + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_anticipated_receipt_dissociations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl"> + } + + <#assign AddComma = true /> - <#assign AddComma = true /> <#-- *********************************************** Action = reasonUpdated or slotUpdated ******************** --> diff --git a/RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl b/RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl new file mode 100644 index 0000000..5ccdd7c --- /dev/null +++ b/RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl @@ -0,0 +1,32 @@ +{ + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, + "route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}/anticipated_receipt_associations", + "method" : "POST", + "uri_substitutions": { + "physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}", + "appointment_year":"${eventRP.appointmentCustomFields.year?json_string}", + "appointment_number":"${eventRP.appointmentCustomFields.number?json_string}" + }, + "payload" : + { + <#assign orderCustomFields = eventRP.orderCustomFields > + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> + <#assign addedCommissions = eventRP.addedUnloadCommissions /> + <#else> + <#assign addedCommissions = eventRP.addedLoadCommissions /> + + + "anticipated_receipt_list": [ + <#list addedCommissions?filter(l -> l.OrderID??) as addedCommission> + { + "activity": "${orderCustomFields[addedCommission.OrderID].activity_code?json_string}", + "originator_code": "${orderCustomFields[addedCommission.OrderID].originator_code?json_string}", + "anticipated_receipt_reference": "${orderCustomFields[addedCommission.OrderID].anticipated_receipt_reference?json_string}", + "anticipated_receipt_year": "${orderCustomFields[addedCommission.OrderID].anticipated_receipt_year?json_string}", + "anticipated_receipt_number": "${orderCustomFields[addedCommission.OrderID].anticipated_receipt_number?json_string}" + } + <#sep>, + + ] + } + } diff --git a/RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl b/RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl new file mode 100644 index 0000000..2b784aa --- /dev/null +++ b/RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl @@ -0,0 +1,32 @@ +{ + "id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"}, + "route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}/anticipated_receipt_dissociations", + "method" : "POST", + "uri_substitutions": { + "physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}", + "appointment_year":"${eventRP.appointmentCustomFields.year?json_string}", + "appointment_number":"${eventRP.appointmentCustomFields.number?json_string}" + }, + "payload" : + { + <#assign orderCustomFields = eventRP.orderCustomFields > + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> + <#assign removedCommissions = eventRP.removedUnloadCommissions /> + <#else> + <#assign removedCommissions = eventRP.removedLoadCommissions /> + + + "anticipated_receipt_list": [ + <#list removedCommissions?filter(l -> l.OrderID??) as removedCommission> + { + "activity": "${orderCustomFields[removedCommission.OrderID].activity_code?json_string}", + "originator_code": "${orderCustomFields[removedCommission.OrderID].originator_code?json_string}", + "anticipated_receipt_reference": "${orderCustomFields[removedCommission.OrderID].anticipated_receipt_reference?json_string}", + "anticipated_receipt_year": "${orderCustomFields[removedCommission.OrderID].anticipated_receipt_year?json_string}", + "anticipated_receipt_number": "${orderCustomFields[removedCommission.OrderID].anticipated_receipt_number?json_string}" + } + <#sep>, + + ] + } + } From 36b13087e362ffc64bbcc51af6a3dae50bb18a79 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Fri, 12 Jun 2026 09:07:17 +0200 Subject: [PATCH 29/61] SCPN1-10882 --- RPtoRFX_CarrierAppointmentCreated.ftl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index 7a3671a..ac99c03 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -61,6 +61,7 @@ "activity": "${custom.value.activity_code?json_string}", "originator_code": "${custom.value.originator_code?json_string}", "anticipated_receipt_reference": "${custom.value.anticipated_receipt_reference?json_string}", + "planned_receipt_date": "${custom.value.planned_receipt_date?json_string}", "anticipated_receipt_year": "${custom.value.anticipated_receipt_year?json_string}", "anticipated_receipt_number": "${custom.value.anticipated_receipt_number?json_string}" } @@ -68,7 +69,7 @@ <#sep>, - ], + ], <#else> "appointment_designation":"${(appointment.Reason!"")!?json_string}", From 37049c57f63da6ac64685fb749f321f0af35b38a Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Fri, 12 Jun 2026 11:07:16 +0200 Subject: [PATCH 30/61] SCPN1-10882 --- RFXtoRP_HsrAntRec_Created.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFXtoRP_HsrAntRec_Created.ftl b/RFXtoRP_HsrAntRec_Created.ftl index d5ddfec..be97871 100644 --- a/RFXtoRP_HsrAntRec_Created.ftl +++ b/RFXtoRP_HsrAntRec_Created.ftl @@ -41,7 +41,7 @@ }, { "Key": "planned_receipt_datetime", - "Value": "${receipt_datetime}" + "Value": "${AncReceipt.planned_receipt_datetime?json_string}" } ], <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> From 0fbfb46729b647bbbd0f0777db32736924ba95af Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 15 Jun 2026 11:31:46 +0200 Subject: [PATCH 31/61] SCPN1-10882 --- RFXtoRP_HsrAntRec_Created.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFXtoRP_HsrAntRec_Created.ftl b/RFXtoRP_HsrAntRec_Created.ftl index be97871..b7f0b78 100644 --- a/RFXtoRP_HsrAntRec_Created.ftl +++ b/RFXtoRP_HsrAntRec_Created.ftl @@ -41,7 +41,7 @@ }, { "Key": "planned_receipt_datetime", - "Value": "${AncReceipt.planned_receipt_datetime?json_string}" + "Value": "${AncReceipt.planned_receipt_datetime?substring(0,10)?json_string}" } ], <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> From 3621c879c3c782e2f4049585fbba2d5a61e127a6 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 15 Jun 2026 14:55:12 +0200 Subject: [PATCH 32/61] SCPN1-10895 --- ...CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl | 3 ++- ...arrierAppointmentAnticipatedReceiptDissociationByNumber.ftl | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl b/RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl index 5ccdd7c..a387efd 100644 --- a/RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl @@ -10,7 +10,7 @@ "payload" : { <#assign orderCustomFields = eventRP.orderCustomFields > - <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> <#assign addedCommissions = eventRP.addedUnloadCommissions /> <#else> <#assign addedCommissions = eventRP.addedLoadCommissions /> @@ -22,6 +22,7 @@ "activity": "${orderCustomFields[addedCommission.OrderID].activity_code?json_string}", "originator_code": "${orderCustomFields[addedCommission.OrderID].originator_code?json_string}", "anticipated_receipt_reference": "${orderCustomFields[addedCommission.OrderID].anticipated_receipt_reference?json_string}", + "planned_receipt_date": "${orderCustomFields[addedCommission.OrderID].planned_receipt_datetime?json_string}", "anticipated_receipt_year": "${orderCustomFields[addedCommission.OrderID].anticipated_receipt_year?json_string}", "anticipated_receipt_number": "${orderCustomFields[addedCommission.OrderID].anticipated_receipt_number?json_string}" } diff --git a/RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl b/RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl index 2b784aa..17a4dd6 100644 --- a/RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl +++ b/RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl @@ -10,7 +10,7 @@ "payload" : { <#assign orderCustomFields = eventRP.orderCustomFields > - <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> <#assign removedCommissions = eventRP.removedUnloadCommissions /> <#else> <#assign removedCommissions = eventRP.removedLoadCommissions /> @@ -22,6 +22,7 @@ "activity": "${orderCustomFields[removedCommission.OrderID].activity_code?json_string}", "originator_code": "${orderCustomFields[removedCommission.OrderID].originator_code?json_string}", "anticipated_receipt_reference": "${orderCustomFields[removedCommission.OrderID].anticipated_receipt_reference?json_string}", + "planned_receipt_date": "${orderCustomFields[removedCommission.OrderID].planned_receipt_datetime?json_string}", "anticipated_receipt_year": "${orderCustomFields[removedCommission.OrderID].anticipated_receipt_year?json_string}", "anticipated_receipt_number": "${orderCustomFields[removedCommission.OrderID].anticipated_receipt_number?json_string}" } From 18d3b023f93da05a0b0d6fe2722184196636b91b Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 15 Jun 2026 15:39:21 +0200 Subject: [PATCH 33/61] SCPN1-10893 --- RPtoRFX_CarrierAppointmentCreated.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index ac99c03..b1a4c5c 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -61,7 +61,7 @@ "activity": "${custom.value.activity_code?json_string}", "originator_code": "${custom.value.originator_code?json_string}", "anticipated_receipt_reference": "${custom.value.anticipated_receipt_reference?json_string}", - "planned_receipt_date": "${custom.value.planned_receipt_date?json_string}", + "planned_receipt_date": "${custom.value.planned_receipt_datetime?json_string}", "anticipated_receipt_year": "${custom.value.anticipated_receipt_year?json_string}", "anticipated_receipt_number": "${custom.value.anticipated_receipt_number?json_string}" } From 689e5bd672972b53cfbc67717c90334dadd63a27 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 15 Jun 2026 17:43:35 +0200 Subject: [PATCH 34/61] SCPN1-10893 --- RFXtoRP_HsrAntRec_Created.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFXtoRP_HsrAntRec_Created.ftl b/RFXtoRP_HsrAntRec_Created.ftl index b7f0b78..be97871 100644 --- a/RFXtoRP_HsrAntRec_Created.ftl +++ b/RFXtoRP_HsrAntRec_Created.ftl @@ -41,7 +41,7 @@ }, { "Key": "planned_receipt_datetime", - "Value": "${AncReceipt.planned_receipt_datetime?substring(0,10)?json_string}" + "Value": "${AncReceipt.planned_receipt_datetime?json_string}" } ], <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> From 7849b4cf85a5691f010ce1a96ed309ab5d9978f3 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 15 Jun 2026 17:45:10 +0200 Subject: [PATCH 35/61] SCPN1-10893 --- RFXtoRP_HsrAntRec_Created.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFXtoRP_HsrAntRec_Created.ftl b/RFXtoRP_HsrAntRec_Created.ftl index be97871..b7f0b78 100644 --- a/RFXtoRP_HsrAntRec_Created.ftl +++ b/RFXtoRP_HsrAntRec_Created.ftl @@ -41,7 +41,7 @@ }, { "Key": "planned_receipt_datetime", - "Value": "${AncReceipt.planned_receipt_datetime?json_string}" + "Value": "${AncReceipt.planned_receipt_datetime?substring(0,10)?json_string}" } ], <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> From 0496e0879ba94f7397093fbfc9ef33ada2aeeb37 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 16 Jun 2026 10:21:54 +0200 Subject: [PATCH 36/61] SCPN1-10895 --- RFXtoRP_HsrAntRec.ftl | 24 +++++++++++++----- ...P_HsrAntRec_AppointmentBookingDisabled.ftl | 25 +++++++++++++++++++ 2 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 RFXtoRP_HsrAntRec_AppointmentBookingDisabled.ftl diff --git a/RFXtoRP_HsrAntRec.ftl b/RFXtoRP_HsrAntRec.ftl index 4976de3..a0a460c 100644 --- a/RFXtoRP_HsrAntRec.ftl +++ b/RFXtoRP_HsrAntRec.ftl @@ -39,7 +39,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign AncReceipt = JsonUtil.jsonToMap(dataRfx)> [ - <#if AncReceipt.generated?? && AncReceipt.generated.total_level_1_quantity==0 && AncReceipt.generated.total_level_2_quantity==0 && AncReceipt.generated.total_level_3_quantity==0 && AncReceipt.anticipated_receipt_closed == "true" && AncReceipt.all_receipt_validated=="true"> + <#if AncReceipt.generated?? && AncReceipt.generated.total_level_1_quantity==0 && AncReceipt.generated.total_level_2_quantity==0 && AncReceipt.generated.total_level_3_quantity==0 && AncReceipt.anticipated_receipt_closed == "true" > { <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderCancelled> "apiReflexPlatformID" : "${apiReflexPlatformID}", @@ -47,13 +47,25 @@ <#include "RFXtoRP_HsrAntRec_Cancelled.ftl"> } <#else> - <#if AncReceipt.anticipated_receipt_closed == "true" && AncReceipt.all_receipt_validated=="true"> - { - <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderReceiptCompleted> + <#if AncReceipt.planned?? && AncReceipt.generated?? + && AncReceipt.planned.total_level_1_quantity==AncReceipt.generated.total_level_1_quantity + && AncReceipt.planned.total_level_2_quantity==AncReceipt.generated.total_level_2_quantity + && AncReceipt.planned.total_level_3_quantity==AncReceipt.generated.total_level_3_quantity> + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderAppointmentBookingDisabled> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_HsrAntRec_ReceiptCompleted.ftl"> - } + <#include "RFXtoRP_HsrAntRec_AppointmentBookingDisabled.ftl"> + } + <#else> + <#if AncReceipt.anticipated_receipt_closed == "true" && AncReceipt.all_receipt_validated=="true"> + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderReceiptCompleted> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrAntRec_ReceiptCompleted.ftl"> + } + ] diff --git a/RFXtoRP_HsrAntRec_AppointmentBookingDisabled.ftl b/RFXtoRP_HsrAntRec_AppointmentBookingDisabled.ftl new file mode 100644 index 0000000..79bd122 --- /dev/null +++ b/RFXtoRP_HsrAntRec_AppointmentBookingDisabled.ftl @@ -0,0 +1,25 @@ +<#include "HfRpConfig.ftl"> +<#include "ReflexUtils.ftl"> +<#--<#assign receipt_status_datetime = RfxDateTimetoUTCWithTimezone(receipt.creation_datetime,time_zone_rfx) /> --> +<#assign now = .now?string("yyyy-MM-dd'T'HH:mm:ss'Z'") /> +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> + "RefID": "${AncReceipt.anticipated_receipt_reference?json_string}", + <#else> + "RefID": "AR-${AncReceipt.physical_depot_code?json_string}${AncReceipt.activity_code?json_string}${AncReceipt.originator_code?json_string}${AncReceipt.anticipated_receipt_year?json_string}${AncReceipt.anticipated_receipt_number?json_string}", + + "RefDate": { + "DateTime": "${now}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + + "Payload": {} + + } +] \ No newline at end of file From 620de336f7fb0d3133b4d59e2a5cd4bdd094cd26 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Tue, 16 Jun 2026 10:25:41 +0200 Subject: [PATCH 37/61] SCPN1-10882 --- RPtoRFX_AppointmentEvent.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RPtoRFX_AppointmentEvent.ftl b/RPtoRFX_AppointmentEvent.ftl index 6214c0a..41434b1 100644 --- a/RPtoRFX_AppointmentEvent.ftl +++ b/RPtoRFX_AppointmentEvent.ftl @@ -37,7 +37,7 @@ } <#else> <#if eventRP.commissionsUpdated> - <#if appointment.executionflowCustomFields?has_content> + <#if eventRP.executionflowCustomFields?has_content> <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != ""> <#if eventRP.appointmentCustomFields?has_content> { @@ -80,7 +80,7 @@ - <#if appointment.orderCustomFields?has_content> + <#if eventRP.orderCustomFields?has_content> <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != ""> <#if AddComma == true> , From 428bdb9a0a110c6f67b1c010d604fcd695c12798 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 16 Jun 2026 11:01:28 +0200 Subject: [PATCH 38/61] SCPN1-10895 --- RFXtoRP_HsrAntRec.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RFXtoRP_HsrAntRec.ftl b/RFXtoRP_HsrAntRec.ftl index a0a460c..aae404e 100644 --- a/RFXtoRP_HsrAntRec.ftl +++ b/RFXtoRP_HsrAntRec.ftl @@ -48,9 +48,9 @@ } <#else> <#if AncReceipt.planned?? && AncReceipt.generated?? - && AncReceipt.planned.total_level_1_quantity==AncReceipt.generated.total_level_1_quantity - && AncReceipt.planned.total_level_2_quantity==AncReceipt.generated.total_level_2_quantity - && AncReceipt.planned.total_level_3_quantity==AncReceipt.generated.total_level_3_quantity> + && AncReceipt.generated.total_level_1_quantity>=AncReceipt.planned.total_level_1_quantity + && AncReceipt.generated.total_level_2_quantity>=AncReceipt.planned.total_level_2_quantity + && AncReceipt.generated.total_level_3_quantity>=AncReceipt.planned.total_level_3_quantity> { <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderAppointmentBookingDisabled> "apiReflexPlatformID" : "${apiReflexPlatformID}", From 8b72decd3cd0b7f739079c1ed2f5cd9d4574b17d Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Tue, 16 Jun 2026 11:19:47 +0200 Subject: [PATCH 39/61] SCPN1-10882 --- RPtoRFX_AppointmentEvent.ftl | 126 +++++++++++++++++------------------ 1 file changed, 61 insertions(+), 65 deletions(-) diff --git a/RPtoRFX_AppointmentEvent.ftl b/RPtoRFX_AppointmentEvent.ftl index 41434b1..ee1119d 100644 --- a/RPtoRFX_AppointmentEvent.ftl +++ b/RPtoRFX_AppointmentEvent.ftl @@ -37,79 +37,75 @@ } <#else> <#if eventRP.commissionsUpdated> - <#if eventRP.executionflowCustomFields?has_content> - <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != ""> - <#if eventRP.appointmentCustomFields?has_content> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_number> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl"> - } - <#else> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_ref> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl"> - } - - <#assign AddComma = true /> + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != "" && eventRP.addedUnloadCommissions?filter(x -> x.ExecutionflowID != "")?size != 0> + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl"> + } + <#else> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_ref> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl"> + } + + <#assign AddComma = true /> + + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!="" && eventRP.removedUnloadCommissions?filter(x -> x.ExecutionflowID != "")?size != 0> + <#if AddComma == true> + , - <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!=""> - <#if AddComma == true> - , - - <#if eventRP.appointmentCustomFields?has_content> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_number> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl"> - } - <#else> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_ref> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl"> - } - - <#assign AddComma = true /> + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl"> + } + <#else> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_ref> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl"> + } + <#assign AddComma = true /> - <#if eventRP.orderCustomFields?has_content> - <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != ""> - <#if AddComma == true> - , - - <#if eventRP.appointmentCustomFields?has_content> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_anticipated_receipt_associations_by_number> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl"> - } - - <#assign AddComma = true /> + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != "" && eventRP.addedUnloadCommissions?filter(x -> x.ExecutionflowID == "")?size != 0> + <#if AddComma == true> + , + + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_anticipated_receipt_associations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentAnticipatedReceiptAssociationByNumber.ftl"> + } + + <#assign AddComma = true /> + + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!="" && eventRP.removedUnloadCommissions?filter(x -> x.ExecutionflowID != "")?size != 0> + <#if AddComma == true> + , - <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!=""> - <#if AddComma == true> - , - - <#if eventRP.appointmentCustomFields?has_content> - { - <#assign apiRestReflexID = ApiRestReflexID.appointment_post_anticipated_receipt_dissociations_by_number> - "apiRestReflexID" : "${apiRestReflexID}", - "datas" : - <#include "RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl"> - } - - <#assign AddComma = true /> + <#if eventRP.appointmentCustomFields?has_content> + { + <#assign apiRestReflexID = ApiRestReflexID.appointment_post_anticipated_receipt_dissociations_by_number> + "apiRestReflexID" : "${apiRestReflexID}", + "datas" : + <#include "RPtoRFX_CarrierAppointmentAnticipatedReceiptDissociationByNumber.ftl"> + } + <#assign AddComma = true /> <#-- *********************************************** Action = reasonUpdated or slotUpdated ******************** --> From 35843271ed7912f205f892bd1bc647c38ab922c0 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Tue, 16 Jun 2026 11:25:48 +0200 Subject: [PATCH 40/61] SCPN1-10882 --- RPtoRFX_AppointmentEvent.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPtoRFX_AppointmentEvent.ftl b/RPtoRFX_AppointmentEvent.ftl index ee1119d..653aa40 100644 --- a/RPtoRFX_AppointmentEvent.ftl +++ b/RPtoRFX_AppointmentEvent.ftl @@ -92,7 +92,7 @@ <#assign AddComma = true /> - <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!="" && eventRP.removedUnloadCommissions?filter(x -> x.ExecutionflowID != "")?size != 0> + <#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!="" && eventRP.removedUnloadCommissions?filter(x -> x.ExecutionflowID == "")?size != 0> <#if AddComma == true> , From 9ddec73010567a7a89ba8541e9d41b36eb41fbce Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 16 Jun 2026 11:38:10 +0200 Subject: [PATCH 41/61] SCPN1-10895 --- RFXtoRP_HsrAntRec.ftl | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/RFXtoRP_HsrAntRec.ftl b/RFXtoRP_HsrAntRec.ftl index aae404e..192aa28 100644 --- a/RFXtoRP_HsrAntRec.ftl +++ b/RFXtoRP_HsrAntRec.ftl @@ -47,25 +47,13 @@ <#include "RFXtoRP_HsrAntRec_Cancelled.ftl"> } <#else> - <#if AncReceipt.planned?? && AncReceipt.generated?? - && AncReceipt.generated.total_level_1_quantity>=AncReceipt.planned.total_level_1_quantity - && AncReceipt.generated.total_level_2_quantity>=AncReceipt.planned.total_level_2_quantity - && AncReceipt.generated.total_level_3_quantity>=AncReceipt.planned.total_level_3_quantity> - { - <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderAppointmentBookingDisabled> - "apiReflexPlatformID" : "${apiReflexPlatformID}", - "datas" : - <#include "RFXtoRP_HsrAntRec_AppointmentBookingDisabled.ftl"> - } - <#else> - <#if AncReceipt.anticipated_receipt_closed == "true" && AncReceipt.all_receipt_validated=="true"> + <#if AncReceipt.anticipated_receipt_closed == "true" && AncReceipt.all_receipt_validated=="true"> { <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderReceiptCompleted> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrAntRec_ReceiptCompleted.ftl"> } - ] From 80e470190ce9b8c4b860b87b54a02e480007de3a Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Tue, 16 Jun 2026 15:43:29 +0200 Subject: [PATCH 42/61] SCPN1-10882 --- ...CarrierApt_BookingWMSUpdateAppointment.ftl | 108 +++++++----------- 1 file changed, 44 insertions(+), 64 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl index a9cdd1d..f203bf5 100644 --- a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl @@ -90,7 +90,8 @@ "TimeZone":"${time_zone_rfx}", - <#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0) && ((carrier_apt.unloading_appointment =="true" && carrier_apt.load_appointment =="false") || (carrier_apt.unloading_appointment =="false" && carrier_apt.load_appointment =="true"))> + <#if ( (carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0)) || (carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0))) > + <#assign AddComma = false /> "Unloading" : { "Projects" : [ @@ -98,6 +99,7 @@ "Commissions": [ <#list carrier_apt.physical_receipt_list?filter(l ->l??) as physical_receipt> { + <#assign AddComma = true /> "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", <#if physical_receipt.physical_receipt_reference?? && physical_receipt.physical_receipt_reference!=""> "OrderID": "${physical_receipt.physical_receipt_reference?json_string}", @@ -110,81 +112,59 @@ "OrganisationID": "${organisationRP}" }<#sep>, + + <#list carrier_apt.anticipated_receipt_list?filter(l ->l??) as anticipated_receipt> + <#if AddComma == true> + , + + { + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + <#if anticipated_receipt.anticipated_receipt_reference?? && anticipated_receipt.anticipated_receipt_reference!=""> + "OrderID": "${anticipated_receipt.anticipated_receipt_reference?json_string}", + <#else> + "OrderID": "AR${carrier_apt.physical_depot?json_string}${anticipated_receipt.activity?json_string}${anticipated_receipt.originator_code?json_string}${anticipated_receipt.anticipated_receipt_year}${anticipated_receipt.anticipated_receipt_number}", + + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + }<#sep>, + + ], "ProjectID" : "${projectRP}" }] }, - "Reason": "", <#else> - <#if carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0)> + <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> "Unloading" : - { - "Projects" : [{ - "Commissions": [ - <#list carrier_apt.anticipated_receipt_list?filter(l ->l??) as anticipated_receipt> - { - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - <#if anticipated_receipt.anticipated_receipt_reference?? && anticipated_receipt.anticipated_receipt_reference!=""> - "OrderID": "${anticipated_receipt.anticipated_receipt_reference?json_string}", - <#else> - "OrderID": "AR${carrier_apt.physical_depot?json_string}${anticipated_receipt.activity?json_string}${anticipated_receipt.originator_code?json_string}${anticipated_receipt.anticipated_receipt_year}${anticipated_receipt.anticipated_receipt_number}", - - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - }<#sep>, - - ], - "ProjectID" : "${projectRP}" - }] - }, <#else> - <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_LOADING> "Loading" : + + { + "Projects" : [ { - "Projects" : [ + "Commissions": [ { - "Commissions": [ - { - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - } - ], - "ProjectID" : "${projectRP}" - }] - }, + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + } + ], + "ProjectID" : "${projectRP}" + }] + }, + + <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> + "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", + <#else> + <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> + "Reason": "${carrier_apt.appointment_designation?json_string}", <#else> - <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> - "Unloading" : - { - "Projects" : [ - { - "Commissions": [ - { - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - } - ], - "ProjectID" : "${projectRP}" - }] - }, - - - <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> - "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", - <#else> - <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> - "Reason": "${carrier_apt.appointment_designation?json_string}", + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "Reason": "${carrier_apt.appointment_reference?json_string}", <#else> - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "Reason": "${carrier_apt.appointment_reference?json_string}", - <#else> - "Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", - + "Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", From e17468f65990d71ba6f310f3623670b21e29db30 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 16 Jun 2026 17:08:55 +0200 Subject: [PATCH 43/61] SCPN1-10882 --- ...CarrierApt_BookingForceBookAppointment.ftl | 145 +++++++++--------- ...CarrierApt_BookingWMSUpdateAppointment.ftl | 65 ++++---- 2 files changed, 108 insertions(+), 102 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl index 76f499f..bb47e2a 100644 --- a/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl @@ -107,84 +107,87 @@ <#include "RFXtoRP_HsrCarrierApt_SegmentationSelections.ftl">, <#include "RFXtoRP_HsrCarrierApt_CarrierInformation.ftl">, <#include "RFXtoRP_HsrCarrierApt_MetadataAppointment.ftl">, - <#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0)> - "Unloading" : - { - "Projects" : [{ - "Commissions": [ - <#list carrier_apt.physical_receipt_list?filter(l ->l??) as physical_receipt> - { - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - <#if physical_receipt.physical_receipt_reference?? && physical_receipt.physical_receipt_reference!=""> - "OrderID": "${physical_receipt.physical_receipt_reference?json_string}", - <#else> - "OrderID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year}${physical_receipt.receipt_number}", - - "ExecutionflowID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year?json_string}${physical_receipt.receipt_number?json_string}", - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - }<#sep>, - - ], - "ProjectID" : "${projectRP}" - }] - }, - <#else> - <#if carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0)> - "Unloading" : - { - "Projects" : [{ - "Commissions": [ - <#list carrier_apt.anticipated_receipt_list?filter(l ->l??) as anticipated_receipt> - { - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - <#if anticipated_receipt.anticipated_receipt_reference?? && anticipated_receipt.anticipated_receipt_reference!=""> - "OrderID": "${anticipated_receipt.anticipated_receipt_reference?json_string}", - <#else> - "OrderID": "AR${carrier_apt.physical_depot?json_string}${anticipated_receipt.activity?json_string}${anticipated_receipt.originator_code?json_string}${anticipated_receipt.anticipated_receipt_year}${anticipated_receipt.anticipated_receipt_number}", - - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - }<#sep>, - - ], - "ProjectID" : "${projectRP}" - }] - }, - <#else> - <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> - "Unloading" : - <#else> - "Loading" : - + <#if ( (carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0)) || (carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0))) > + <#assign AddComma = false /> + "Unloading" : + { + "Projects" : [ + { + "Commissions": [ + <#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0) > + <#list carrier_apt.physical_receipt_list?filter(l ->l??) as physical_receipt> { - "Projects" : [{ - "Commissions": [{ - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - }], - "ProjectID" : "${projectRP}" - }] - }, - <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> - "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", - <#else> - <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> - "Reason": "${carrier_apt.appointment_designation?json_string}", - <#else> - <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> - "Reason": "${carrier_apt.appointment_reference?json_string}", + <#assign AddComma = true /> + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + <#if physical_receipt.physical_receipt_reference?? && physical_receipt.physical_receipt_reference!=""> + "OrderID": "${physical_receipt.physical_receipt_reference?json_string}", <#else> - "Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + "OrderID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year}${physical_receipt.receipt_number}", + "ExecutionflowID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year?json_string}${physical_receipt.receipt_number?json_string}", + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + }<#sep>, + + + <#if carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0) > + <#list carrier_apt.anticipated_receipt_list?filter(l ->l??) as anticipated_receipt> + <#if AddComma == true> + , + { + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + <#if anticipated_receipt.anticipated_receipt_reference?? && anticipated_receipt.anticipated_receipt_reference!=""> + "OrderID": "${anticipated_receipt.anticipated_receipt_reference?json_string}", + <#else> + "OrderID": "AR${carrier_apt.physical_depot?json_string}${anticipated_receipt.activity?json_string}${anticipated_receipt.originator_code?json_string}${anticipated_receipt.anticipated_receipt_year}${anticipated_receipt.anticipated_receipt_number}", + + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + }<#sep>, + + + ], + "ProjectID" : "${projectRP}" + }] + }, + <#else> + <#if appointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING> + "Unloading" : + <#else> + "Loading" : + + { + "Projects" : [ + { + "Commissions": [ + { + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + } + ], + "ProjectID" : "${projectRP}" + }] + }, + + <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> + "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", + <#else> + <#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!=""> + "Reason": "${carrier_apt.appointment_designation?json_string}", + <#else> + <#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!=""> + "Reason": "${carrier_apt.appointment_reference?json_string}", + <#else> + "Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", + "Slot": { <#-- calcul de de la durée en fonction des start et end time--> "DurationInSeconds": "${duration}", diff --git a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl index f203bf5..4a3777d 100644 --- a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl @@ -90,6 +90,7 @@ "TimeZone":"${time_zone_rfx}", + <#if ( (carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0)) || (carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0))) > <#assign AddComma = false /> "Unloading" : @@ -97,39 +98,41 @@ "Projects" : [ { "Commissions": [ - <#list carrier_apt.physical_receipt_list?filter(l ->l??) as physical_receipt> - { - <#assign AddComma = true /> - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - <#if physical_receipt.physical_receipt_reference?? && physical_receipt.physical_receipt_reference!=""> - "OrderID": "${physical_receipt.physical_receipt_reference?json_string}", - <#else> - "OrderID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year}${physical_receipt.receipt_number}", - - "ExecutionflowID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year?json_string}${physical_receipt.receipt_number?json_string}", - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - }<#sep>, - - - <#list carrier_apt.anticipated_receipt_list?filter(l ->l??) as anticipated_receipt> - <#if AddComma == true> - , + <#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0) > + <#list carrier_apt.physical_receipt_list?filter(l ->l??) as physical_receipt> + { + <#assign AddComma = true /> + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + <#if physical_receipt.physical_receipt_reference?? && physical_receipt.physical_receipt_reference!=""> + "OrderID": "${physical_receipt.physical_receipt_reference?json_string}", + <#else> + "OrderID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year}${physical_receipt.receipt_number}", + + "ExecutionflowID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year?json_string}${physical_receipt.receipt_number?json_string}", + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + }<#sep>, + - { - "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", - <#if anticipated_receipt.anticipated_receipt_reference?? && anticipated_receipt.anticipated_receipt_reference!=""> - "OrderID": "${anticipated_receipt.anticipated_receipt_reference?json_string}", - <#else> - "OrderID": "AR${carrier_apt.physical_depot?json_string}${anticipated_receipt.activity?json_string}${anticipated_receipt.originator_code?json_string}${anticipated_receipt.anticipated_receipt_year}${anticipated_receipt.anticipated_receipt_number}", + <#if carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0) > + <#list carrier_apt.anticipated_receipt_list?filter(l ->l??) as anticipated_receipt> + <#if AddComma == true> + , - "ProjectID": "${projectRP}", - "PartnerAppID": "${partnerApplicationRP}", - "OrganisationID": "${organisationRP}" - }<#sep>, - - + { + "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", + <#if anticipated_receipt.anticipated_receipt_reference?? && anticipated_receipt.anticipated_receipt_reference!=""> + "OrderID": "${anticipated_receipt.anticipated_receipt_reference?json_string}", + <#else> + "OrderID": "AR${carrier_apt.physical_depot?json_string}${anticipated_receipt.activity?json_string}${anticipated_receipt.originator_code?json_string}${anticipated_receipt.anticipated_receipt_year}${anticipated_receipt.anticipated_receipt_number}", + + "ProjectID": "${projectRP}", + "PartnerAppID": "${partnerApplicationRP}", + "OrganisationID": "${organisationRP}" + }<#sep>, + + ], "ProjectID" : "${projectRP}" }] From 62a36b0dfeb784d6821dbfc0a57791ff89053a1a Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Tue, 16 Jun 2026 17:54:27 +0200 Subject: [PATCH 44/61] SCPN1-10882 --- ...oRP_HsrCarrierApt_BookingForceBookAppointment.ftl | 11 ++++------- ...oRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl | 12 ++++-------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl index bb47e2a..f5050f2 100644 --- a/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl @@ -107,6 +107,7 @@ <#include "RFXtoRP_HsrCarrierApt_SegmentationSelections.ftl">, <#include "RFXtoRP_HsrCarrierApt_CarrierInformation.ftl">, <#include "RFXtoRP_HsrCarrierApt_MetadataAppointment.ftl">, + <#-- Add commissions for anticipated and physical receipts if they exist --> <#if ( (carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0)) || (carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0))) > <#assign AddComma = false /> "Unloading" : @@ -114,8 +115,7 @@ "Projects" : [ { "Commissions": [ - <#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0) > - <#list carrier_apt.physical_receipt_list?filter(l ->l??) as physical_receipt> + <#list (carrier_apt.physical_receipt_list![])?filter(...) as physical_receipt> { <#assign AddComma = true /> "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", @@ -130,9 +130,8 @@ "OrganisationID": "${organisationRP}" }<#sep>, - - <#if carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0) > - <#list carrier_apt.anticipated_receipt_list?filter(l ->l??) as anticipated_receipt> + + <#list (carrier_apt.anticipated_receipt_list![])?filter(...) as anticipated_receipt> <#if AddComma == true> , @@ -148,7 +147,6 @@ "OrganisationID": "${organisationRP}" }<#sep>, - ], "ProjectID" : "${projectRP}" }] @@ -173,7 +171,6 @@ "ProjectID" : "${projectRP}" }] }, - <#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true"> "Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}", <#else> diff --git a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl index 4a3777d..f37ea15 100644 --- a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl @@ -90,16 +90,15 @@ "TimeZone":"${time_zone_rfx}", - - <#if ( (carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0)) || (carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0))) > + <#-- Add commissions for anticipated and physical receipts if they exist --> + <#if ( (carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0)) || (carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0))) > <#assign AddComma = false /> "Unloading" : { "Projects" : [ { "Commissions": [ - <#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0) > - <#list carrier_apt.physical_receipt_list?filter(l ->l??) as physical_receipt> + <#list (carrier_apt.physical_receipt_list![])?filter(...) as physical_receipt> { <#assign AddComma = true /> "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", @@ -114,9 +113,7 @@ "OrganisationID": "${organisationRP}" }<#sep>, - - <#if carrier_apt.anticipated_receipt_list?? && (carrier_apt.anticipated_receipt_list?filter(l ->l??)?size != 0) > - <#list carrier_apt.anticipated_receipt_list?filter(l ->l??) as anticipated_receipt> + <#list (carrier_apt.anticipated_receipt_list![])?filter(...) as anticipated_receipt> <#if AddComma == true> , @@ -132,7 +129,6 @@ "OrganisationID": "${organisationRP}" }<#sep>, - ], "ProjectID" : "${projectRP}" }] From be2df9b25eb40ee20a20681534ba75591c893270 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 18 Jun 2026 11:41:27 +0200 Subject: [PATCH 45/61] SCPN1-10882 --- RFXtoRP_HsrAntRec.ftl | 12 +++++++--- RFXtoRP_HsrAntRec_AnticipatedClosed.ftl.ftl | 25 +++++++++++++++++++++ RFXtoRP_HsrReceiptList.ftl | 4 +++- 3 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 RFXtoRP_HsrAntRec_AnticipatedClosed.ftl.ftl diff --git a/RFXtoRP_HsrAntRec.ftl b/RFXtoRP_HsrAntRec.ftl index 192aa28..1c578e2 100644 --- a/RFXtoRP_HsrAntRec.ftl +++ b/RFXtoRP_HsrAntRec.ftl @@ -47,12 +47,18 @@ <#include "RFXtoRP_HsrAntRec_Cancelled.ftl"> } <#else> - <#if AncReceipt.anticipated_receipt_closed == "true" && AncReceipt.all_receipt_validated=="true"> + <#if AncReceipt.anticipated_receipt_closed == "true" > { - <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderReceiptCompleted> + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderAppointmentBookingDisabled> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : - <#include "RFXtoRP_HsrAntRec_ReceiptCompleted.ftl"> + <#include "RFXtoRP_HsrAntRec_AppointmentBookingDisabled.ftl"> + }, + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderAnticipatedClosed> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrAntRec_AnticipatedClosed.ftl"> } diff --git a/RFXtoRP_HsrAntRec_AnticipatedClosed.ftl.ftl b/RFXtoRP_HsrAntRec_AnticipatedClosed.ftl.ftl new file mode 100644 index 0000000..79bd122 --- /dev/null +++ b/RFXtoRP_HsrAntRec_AnticipatedClosed.ftl.ftl @@ -0,0 +1,25 @@ +<#include "HfRpConfig.ftl"> +<#include "ReflexUtils.ftl"> +<#--<#assign receipt_status_datetime = RfxDateTimetoUTCWithTimezone(receipt.creation_datetime,time_zone_rfx) /> --> +<#assign now = .now?string("yyyy-MM-dd'T'HH:mm:ss'Z'") /> +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> + "RefID": "${AncReceipt.anticipated_receipt_reference?json_string}", + <#else> + "RefID": "AR-${AncReceipt.physical_depot_code?json_string}${AncReceipt.activity_code?json_string}${AncReceipt.originator_code?json_string}${AncReceipt.anticipated_receipt_year?json_string}${AncReceipt.anticipated_receipt_number?json_string}", + + "RefDate": { + "DateTime": "${now}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + + "Payload": {} + + } +] \ No newline at end of file diff --git a/RFXtoRP_HsrReceiptList.ftl b/RFXtoRP_HsrReceiptList.ftl index 05c2863..edeec2c 100644 --- a/RFXtoRP_HsrReceiptList.ftl +++ b/RFXtoRP_HsrReceiptList.ftl @@ -38,7 +38,7 @@ } ] <#else> - <#if receipt.line_list ?? && receipt.line_list[0]??> + <#if receipt.line_list ?? && receipt.line_list[0]??> <#-- if receipt contains at least one line --> [ { <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> @@ -70,6 +70,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign receipt = JsonUtil.jsonToMap(dataRfx)> [ + <#-- if receipt is a transfer and confirmed and all lines are cancelled --> <#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "true" && receipt.confirmation_total_level_1==0 && receipt.confirmation_total_level_2==0 && receipt.confirmation_total_level_3==0> { <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled> @@ -78,6 +79,7 @@ <#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowCancelled.ftl"> } <#else> + <#-- if lines receipt are created when the user treats the receipt --> <#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "true"> <#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="" && receipt.receipt_reference?? && receipt.receipt_reference!=""> <#assign ID = "${receipt.origin_order_line_depot?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_reference?trim?json_string}"/> From 9e2d8d8e314f01f86c1758d44f9c9ab8f896aa5c Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Thu, 18 Jun 2026 13:22:20 +0200 Subject: [PATCH 46/61] SCPN1-10882 --- RFXtoRP_HliAntRecLr.ftl | 53 ++++++++++++++----------- RFXtoRP_HliAntRecLr_OrderLinesAdded.ftl | 47 ++++++++++++++++++++++ 2 files changed, 76 insertions(+), 24 deletions(-) create mode 100644 RFXtoRP_HliAntRecLr_OrderLinesAdded.ftl diff --git a/RFXtoRP_HliAntRecLr.ftl b/RFXtoRP_HliAntRecLr.ftl index 295e220..e119dee 100644 --- a/RFXtoRP_HliAntRecLr.ftl +++ b/RFXtoRP_HliAntRecLr.ftl @@ -11,38 +11,43 @@ <#switch cloudEventMsg.action> <#case "C"> - <#-- *********************************************** Action = CREATE ******************** --> + <#-- *********************************************** Action = CREATE ******************** --> + <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> - <#assign ancReceiptLine = JsonUtil.jsonToMap(dataRfx)> - [ + <#assign AncReceipt = JsonUtil.jsonToMap(dataRfx)> + [ + <#if AncReceipt.line_list?? && AncReceipt.line_list[0]??> { - <#stop "create anticipated receipt line"> + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderLinesAdded> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HliAntRecLr_OrderLinesAdded.ftl"> + }, + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.OrderReceiptExpected> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "RFXtoRP_HsrAntRec_ReceiptExpected.ftl"> } ] - <#break> + <#else> + <#stop> + + <#break> + <#case "U"> <#-- *********************************************** Action = UPDATE ******************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> - <#assign ancReceiptLine = JsonUtil.jsonToMap(dataRfx)> - [ - { - <#stop "update anticipated receipt line"> - } - ] - <#break> - + <#assign AncReceipt = JsonUtil.jsonToMap(dataRfx)> + <#stop> + <#break> <#case "D"> - <#-- *********************************************** Action = DELETE ******************** --> - <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> - <#assign ancReceiptLine = JsonUtil.jsonToMap(dataRfx)> - [ - { - <#stop "delete anticipated receipt line"> - } - ] - <#break> - - + <#-- *********************************************** Action = DELETE ******************** --> + <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> + <#assign AncReceipt = JsonUtil.jsonToMap(dataRfx)> + <#stop> + <#break> + <#default> <#stop > diff --git a/RFXtoRP_HliAntRecLr_OrderLinesAdded.ftl b/RFXtoRP_HliAntRecLr_OrderLinesAdded.ftl new file mode 100644 index 0000000..4c533a1 --- /dev/null +++ b/RFXtoRP_HliAntRecLr_OrderLinesAdded.ftl @@ -0,0 +1,47 @@ +<#include "ReflexUtils.ftl"> +<#include "HfRpConfig.ftl"> +<#include "ActorPrefix.ftl"> + +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + <#if AncReceipt.anticipated_receipt_reference?? && AncReceipt.anticipated_receipt_reference!=""> + "RefID": "${AncReceipt.anticipated_receipt_reference?json_string}" + <#else> + "RefID": "AR-${AncReceipt.physical_depot_code?trim?json_string}${AncReceipt.activity_code?trim?json_string}${AncReceipt.originator_code?trim?json_string}${AncReceipt.anticipated_receipt_year?json_string}${AncReceipt.anticipated_receipt_number?json_string}" + + }, + "Payload": { + "Lines": [ + <#-- Lines iteration --> + <#list AncReceipt.line_list?filter(l -> l??) as line> + { + <#if line.anticipated_receipt_reference_line_no?? && line.anticipated_receipt_reference_line_no!=0> + "LineID": "${line.anticipated_receipt_reference_line_no}", + <#else> + "LineID": "${line.anticipated_receipt_line_number}", + + <#-- Line Metadata inclusion --> + <#include "RFXtoRP_HsrAntRec_Created_LineMetadata.ftl">, + "RequestedContent":{ + "Goods":{ + "ItemID":"${line.item_code?trim?json_string!"0"}", + "LVBranchID":"${line.item_lv_code?trim?json_string!"0"}", + <#-- Segmentation Keys inclusion --> + <#include "RFXtoRP_HsrAntRec_Created_SegmentationKeys.ftl"> + }, + "Quantity" : + { + "LVID": "${quantity_in_base_lv_RP_Cst}", + "Value": ${line.planned_quantity_in_base_lv!0} + } + } + }<#sep>, + + ] + } +} +] From ede409bfb79c705b18d43725aaf8502ff306375e Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 18 Jun 2026 15:51:19 +0200 Subject: [PATCH 47/61] SCPN1-10882 --- RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl index f5050f2..eadec51 100644 --- a/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl @@ -115,7 +115,7 @@ "Projects" : [ { "Commissions": [ - <#list (carrier_apt.physical_receipt_list![])?filter(...) as physical_receipt> + <#list (carrier_apt.physical_receipt_list![])?filter(l -> l??) as physical_receipt> { <#assign AddComma = true /> "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", @@ -131,7 +131,7 @@ }<#sep>, - <#list (carrier_apt.anticipated_receipt_list![])?filter(...) as anticipated_receipt> + <#list (carrier_apt.anticipated_receipt_list![])?filter(l -> l??) as anticipated_receipt> <#if AddComma == true> , From c70185b7cebb93d31b478a27071523731cb07f79 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Thu, 18 Jun 2026 16:26:11 +0200 Subject: [PATCH 48/61] SCPN1-10882 --- RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl index f37ea15..c89b797 100644 --- a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl @@ -98,7 +98,7 @@ "Projects" : [ { "Commissions": [ - <#list (carrier_apt.physical_receipt_list![])?filter(...) as physical_receipt> + <#list (carrier_apt.physical_receipt_list![])?filter(l -> l??) as physical_receipt> { <#assign AddComma = true /> "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", @@ -113,7 +113,7 @@ "OrganisationID": "${organisationRP}" }<#sep>, - <#list (carrier_apt.anticipated_receipt_list![])?filter(...) as anticipated_receipt> + <#list (carrier_apt.anticipated_receipt_list![])?filter(l -> l??) as anticipated_receipt> <#if AddComma == true> , From ad89183ffd593f83f5b225190073c3553d57d23f Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 18 Jun 2026 16:37:31 +0200 Subject: [PATCH 49/61] SCPN1-10882 --- ...patedClosed.ftl.ftl => RFXtoRP_HsrAntRec_AnticipatedClosed.ftl | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename RFXtoRP_HsrAntRec_AnticipatedClosed.ftl.ftl => RFXtoRP_HsrAntRec_AnticipatedClosed.ftl (100%) diff --git a/RFXtoRP_HsrAntRec_AnticipatedClosed.ftl.ftl b/RFXtoRP_HsrAntRec_AnticipatedClosed.ftl similarity index 100% rename from RFXtoRP_HsrAntRec_AnticipatedClosed.ftl.ftl rename to RFXtoRP_HsrAntRec_AnticipatedClosed.ftl From 04dca8bc7ccfbdece66aad8c4556a09ed04aa5dc Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 18 Jun 2026 17:29:12 +0200 Subject: [PATCH 50/61] SCPN1-10882 --- RPtoRFX_CarrierAppointmentCreated.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index b1a4c5c..57d2a41 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -61,7 +61,9 @@ "activity": "${custom.value.activity_code?json_string}", "originator_code": "${custom.value.originator_code?json_string}", "anticipated_receipt_reference": "${custom.value.anticipated_receipt_reference?json_string}", + <#if custom.value.planned_receipt_datetime?? && custom.value.planned_receipt_datetime!=""> "planned_receipt_date": "${custom.value.planned_receipt_datetime?json_string}", + "anticipated_receipt_year": "${custom.value.anticipated_receipt_year?json_string}", "anticipated_receipt_number": "${custom.value.anticipated_receipt_number?json_string}" } From 55ae6b5b88697815ade8fce0aa6fe64c76678462 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Fri, 19 Jun 2026 09:11:55 +0200 Subject: [PATCH 51/61] SCPN1-10882 --- RPtoRFX_CarrierAppointmentCreated.ftl | 2 -- 1 file changed, 2 deletions(-) diff --git a/RPtoRFX_CarrierAppointmentCreated.ftl b/RPtoRFX_CarrierAppointmentCreated.ftl index 57d2a41..b1a4c5c 100644 --- a/RPtoRFX_CarrierAppointmentCreated.ftl +++ b/RPtoRFX_CarrierAppointmentCreated.ftl @@ -61,9 +61,7 @@ "activity": "${custom.value.activity_code?json_string}", "originator_code": "${custom.value.originator_code?json_string}", "anticipated_receipt_reference": "${custom.value.anticipated_receipt_reference?json_string}", - <#if custom.value.planned_receipt_datetime?? && custom.value.planned_receipt_datetime!=""> "planned_receipt_date": "${custom.value.planned_receipt_datetime?json_string}", - "anticipated_receipt_year": "${custom.value.anticipated_receipt_year?json_string}", "anticipated_receipt_number": "${custom.value.anticipated_receipt_number?json_string}" } From 2358ba0a9ddf66b696853bb0fd39122ba98ad242 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Mon, 22 Jun 2026 13:44:44 +0200 Subject: [PATCH 52/61] V14 --- RFXtoRP_RestResponse.ftl | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/RFXtoRP_RestResponse.ftl b/RFXtoRP_RestResponse.ftl index cba4e33..4788e02 100644 --- a/RFXtoRP_RestResponse.ftl +++ b/RFXtoRP_RestResponse.ftl @@ -63,8 +63,6 @@ <#assign preparationOrderPostResponse = JsonUtil.jsonToMap(restResponseBody)> <#if preparationOrderPostResponse.status?? && (preparationOrderPostResponse.status == "SUCCESS" || preparationOrderPostResponse.status == "WARN") > <#if DeleteEF_Creation> -<<<<<<< HEAD -======= [ { <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDeleted> @@ -74,7 +72,6 @@ } ] <#else> ->>>>>>> develop [ { <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDeleted> @@ -83,18 +80,6 @@ <#include "RFXtoRP_ExecutionflowDeleted.ftl"> } ] -<<<<<<< HEAD - <#else> - [ - { - <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowShipFromAcked> - "apiReflexPlatformID" : "${apiReflexPlatformID}", - "datas" : - <#include "RFXtoRP_PrepOrder_ShipFromAcked.ftl"> - } - ] -======= ->>>>>>> develop <#else> [ From 486876871107461c58e1d54a652b096a821eb060 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Thu, 25 Jun 2026 10:43:59 +0200 Subject: [PATCH 53/61] SCPN1-10882 --- RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl | 1 + RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl | 1 + 2 files changed, 2 insertions(+) diff --git a/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl index eadec51..f52f7fe 100644 --- a/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl @@ -134,6 +134,7 @@ <#list (carrier_apt.anticipated_receipt_list![])?filter(l -> l??) as anticipated_receipt> <#if AddComma == true> , + <#assign AddComma = false /> { "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", diff --git a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl index c89b797..e7e0f9a 100644 --- a/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl +++ b/RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl @@ -116,6 +116,7 @@ <#list (carrier_apt.anticipated_receipt_list![])?filter(l -> l??) as anticipated_receipt> <#if AddComma == true> , + <#assign AddComma = false /> { "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}", From d380ec91f830648532f69e9c1c41fa14db652d92 Mon Sep 17 00:00:00 2001 From: Francis Reat Date: Thu, 25 Jun 2026 13:56:36 +0200 Subject: [PATCH 54/61] SCPN1-10882 --- RPtoRFX_AppointmentEvent.ftl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RPtoRFX_AppointmentEvent.ftl b/RPtoRFX_AppointmentEvent.ftl index 653aa40..01b428a 100644 --- a/RPtoRFX_AppointmentEvent.ftl +++ b/RPtoRFX_AppointmentEvent.ftl @@ -27,6 +27,10 @@ <#case "Updated"> <#assign AddComma = false /> <#assign appointment = eventRP.data /> + + <#if !eventRP.commissionsUpdated!false && !eventRP.reasonUpdated!false && !eventRP.slotUpdated!false && !eventRP.carrierInformationUpdated!false> + <#stop> + [ <#if appointment?? && (!(appointment.WMSCreated??) || !appointment.WMSCreated) && appointment.Status?? && appointment.Status.Current?? && appointment.Status.Current.StatusCode?? && appointment.Status.Current.StatusCode == AppointmentStatusCode.APPOINTMENT_0150_ALLOCATION_ERROR> { From c29596b399bf71fe6f2d96c1f250ed0727ec1dba Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Fri, 26 Jun 2026 16:17:34 +0200 Subject: [PATCH 55/61] SCPN1-10956 --- RFXtoRP_HsaDispute_Created.ftl | 24 +++++++++++- RFXtoRP_HsaDispute_MessageSent.ftl | 61 ++++++++++++++++++++++++------ 2 files changed, 72 insertions(+), 13 deletions(-) diff --git a/RFXtoRP_HsaDispute_Created.ftl b/RFXtoRP_HsaDispute_Created.ftl index bcb8dfd..bcdb18b 100644 --- a/RFXtoRP_HsaDispute_Created.ftl +++ b/RFXtoRP_HsaDispute_Created.ftl @@ -7,6 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { + <#-- for Claim on preparation --> <#if dispute.dispute_preparation??> <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> "RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" @@ -14,8 +15,14 @@ <#stop "preparation order list is empty" > <#else> + <#-- for Claim on reception --> <#if dispute.dispute_reception??> - "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + + <#else> + <#-- for Claim on anticipated receipt --> + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" }, @@ -43,7 +50,8 @@ <#include "RFXtoRP_HsaDispute_ClaimMetadata.ftl">, <#-- To configure --> <#include "RFXtoRP_HsaDispute_TableReasonCodeToClaimTypeID.ftl"> - <#if dispute.dispute_type_code=="050" > <#-- Preparation --> + <#-- for Claim on preparation --> + <#if dispute.dispute_type_code=="050" > <#if dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference?? && dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference!=""> "EntityID":"${dispute.dispute_preparation.preparation_order_list[0].preparation_order_physical_depot_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_activity_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?trim?json_string}${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}", @@ -52,6 +60,7 @@ "DisplayID":"O${dispute.dispute_preparation.preparation_order_list[0].preparation_order_physical_depot_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_activity_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_year_number?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_number?trim?json_string}", <#else> + <#-- for Claim on receipt --> <#if dispute.dispute_type_code=="030" || dispute.dispute_type_code=="070" > <#if dispute.dispute_reception.reception_type_code=="030"> <#-- Receipt transfer type --> <#if dispute.dispute_reception.reception_supplier.supplier_transfer_physical_depot?? && dispute.dispute_reception.reception_supplier.supplier_transfer_physical_depot!="" > @@ -75,6 +84,17 @@ + <#-- for Claim on anticipated receipt --> + <#else> + <#if dispute.dispute_type_code=="020" > + <#if dispute.dispute_anticipated_receipt.anticipated_receipt_reference?? && dispute.dispute_anticipated_receipt.anticipated_receipt_reference!=""> + "EntityID":"${dispute.dispute_anticipated_receipt.anticipated_receipt_reference?json_string}", + "DisplayID":"${dispute.dispute_anticipated_receipt.anticipated_receipt_reference?json_string}", + <#else> + "EntityID":"AR-${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_year_number?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_number?json_string}", + "DisplayID":"AR-${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_year_number?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_number?json_string}", + + <#if TableReasonCode[dispute.dispute_reason_code]??> diff --git a/RFXtoRP_HsaDispute_MessageSent.ftl b/RFXtoRP_HsaDispute_MessageSent.ftl index 6b59ba0..7fa8869 100644 --- a/RFXtoRP_HsaDispute_MessageSent.ftl +++ b/RFXtoRP_HsaDispute_MessageSent.ftl @@ -6,15 +6,22 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if dispute.dispute_preparation??> - <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> + <#-- for Claim on preparation --> + <#if dispute.dispute_preparation??> + <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> "RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" <#else> <#stop "preparation order list is empty" > <#else> + <#-- for Claim on reception --> <#if dispute.dispute_reception??> - "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + + <#else> + <#-- for Claim on anticipated receipt --> + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" }, @@ -26,6 +33,10 @@ <#if dispute.dispute_reception??> "Message": "${dispute.dispute_reception.reception_reference?trim?json_string}" + <#else> + <#if dispute.dispute_anticipated_receipt??> + "Message": "${dispute.dispute_anticipated_receipt.anticipated_receipt_reference?trim?json_string}" + } @@ -36,15 +47,22 @@ "ProjectID": "${projectRP}" }, "ID": { + <#-- for Claim on preparation --> <#if dispute.dispute_preparation??> - <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> + <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> "RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" <#else> <#stop "preparation order list is empty" > <#else> + <#-- for Claim on reception --> <#if dispute.dispute_reception??> - "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + + <#else> + <#-- for Claim on anticipated receipt --> + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" }, @@ -58,15 +76,22 @@ "ProjectID": "${projectRP}" }, "ID": { + <#-- for Claim on preparation --> <#if dispute.dispute_preparation??> - <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> + <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> "RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" <#else> <#stop "preparation order list is empty" > <#else> + <#-- for Claim on reception --> <#if dispute.dispute_reception??> - "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + + <#else> + <#-- for Claim on anticipated receipt --> + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" }, @@ -80,15 +105,22 @@ "ProjectID": "${projectRP}" }, "ID": { + <#-- for Claim on preparation --> <#if dispute.dispute_preparation??> - <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> + <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> "RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" <#else> <#stop "preparation order list is empty" > <#else> + <#-- for Claim on reception --> <#if dispute.dispute_reception??> - "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + + <#else> + <#-- for Claim on anticipated receipt --> + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" }, @@ -102,15 +134,22 @@ "ProjectID": "${projectRP}" }, "ID": { + <#-- for Claim on preparation --> <#if dispute.dispute_preparation??> - <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> + <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> "RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" <#else> <#stop "preparation order list is empty" > <#else> + <#-- for Claim on reception --> <#if dispute.dispute_reception??> - "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + + <#else> + <#-- for Claim on anticipated receipt --> + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" }, From e307e927d065b45807f58f3769d6c1db962d30dd Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Fri, 26 Jun 2026 16:26:47 +0200 Subject: [PATCH 56/61] SCPN1-10956 --- RFXtoRP_HsaDispute_Created.ftl | 8 +++--- RFXtoRP_HsaDispute_MessageSent.ftl | 41 +++++++++++++++--------------- 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/RFXtoRP_HsaDispute_Created.ftl b/RFXtoRP_HsaDispute_Created.ftl index bcdb18b..a917940 100644 --- a/RFXtoRP_HsaDispute_Created.ftl +++ b/RFXtoRP_HsaDispute_Created.ftl @@ -18,11 +18,11 @@ <#-- for Claim on reception --> <#if dispute.dispute_reception??> "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" - - <#else> + <#else> <#-- for Claim on anticipated receipt --> - <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + }, diff --git a/RFXtoRP_HsaDispute_MessageSent.ftl b/RFXtoRP_HsaDispute_MessageSent.ftl index 7fa8869..e00e86f 100644 --- a/RFXtoRP_HsaDispute_MessageSent.ftl +++ b/RFXtoRP_HsaDispute_MessageSent.ftl @@ -7,6 +7,7 @@ }, "ID": { <#-- for Claim on preparation --> + <#-- for Claim on preparation --> <#if dispute.dispute_preparation??> <#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> "RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" @@ -17,11 +18,11 @@ <#-- for Claim on reception --> <#if dispute.dispute_reception??> "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" - - <#else> + <#else> <#-- for Claim on anticipated receipt --> - <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + }, @@ -58,11 +59,11 @@ <#-- for Claim on reception --> <#if dispute.dispute_reception??> "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" - - <#else> + <#else> <#-- for Claim on anticipated receipt --> - <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + }, @@ -87,11 +88,11 @@ <#-- for Claim on reception --> <#if dispute.dispute_reception??> "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" - - <#else> + <#else> <#-- for Claim on anticipated receipt --> - <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + }, @@ -116,11 +117,11 @@ <#-- for Claim on reception --> <#if dispute.dispute_reception??> "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" - - <#else> + <#else> <#-- for Claim on anticipated receipt --> - <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + }, @@ -145,11 +146,11 @@ <#-- for Claim on reception --> <#if dispute.dispute_reception??> "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" - - <#else> + <#else> <#-- for Claim on anticipated receipt --> - <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + <#if dispute.dispute_anticipated_receipt??> + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + }, From 12fb1cfd16b3fcf57ede2d5facb4b85ea95b629e Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Fri, 26 Jun 2026 16:38:22 +0200 Subject: [PATCH 57/61] SCPN1-10956 --- RFXtoRP_HsaDispute_Created.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RFXtoRP_HsaDispute_Created.ftl b/RFXtoRP_HsaDispute_Created.ftl index a917940..d1bda44 100644 --- a/RFXtoRP_HsaDispute_Created.ftl +++ b/RFXtoRP_HsaDispute_Created.ftl @@ -19,9 +19,9 @@ <#if dispute.dispute_reception??> "RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" <#else> - <#-- for Claim on anticipated receipt --> + <#-- for Claim on anticipated receipt --> <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" From e22970e27004e9056f09b5f2eed945b6099d1f8c Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Fri, 26 Jun 2026 16:53:07 +0200 Subject: [PATCH 58/61] SCPN1-10956 --- RFXtoRP_HsaDispute_Created.ftl | 18 +++++++++--------- RFXtoRP_HsaDispute_MessageSent.ftl | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/RFXtoRP_HsaDispute_Created.ftl b/RFXtoRP_HsaDispute_Created.ftl index d1bda44..3c6d214 100644 --- a/RFXtoRP_HsaDispute_Created.ftl +++ b/RFXtoRP_HsaDispute_Created.ftl @@ -83,16 +83,16 @@ <#stop "WMS type code not supported"> - <#-- for Claim on anticipated receipt --> - <#else> - <#if dispute.dispute_type_code=="020" > - <#if dispute.dispute_anticipated_receipt.anticipated_receipt_reference?? && dispute.dispute_anticipated_receipt.anticipated_receipt_reference!=""> - "EntityID":"${dispute.dispute_anticipated_receipt.anticipated_receipt_reference?json_string}", - "DisplayID":"${dispute.dispute_anticipated_receipt.anticipated_receipt_reference?json_string}", - <#else> - "EntityID":"AR-${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_year_number?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_number?json_string}", - "DisplayID":"AR-${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_year_number?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_number?json_string}", + <#else> + <#if dispute.dispute_type_code=="020" > + <#if dispute.dispute_anticipated_receipt.anticipated_receipt_reference?? && dispute.dispute_anticipated_receipt.anticipated_receipt_reference!=""> + "EntityID":"${dispute.dispute_anticipated_receipt.anticipated_receipt_reference?json_string}", + "DisplayID":"${dispute.dispute_anticipated_receipt.anticipated_receipt_reference?json_string}", + <#else> + "EntityID":"AR-${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_year_number?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_number?json_string}", + "DisplayID":"AR-${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_year_number?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_number?json_string}", + diff --git a/RFXtoRP_HsaDispute_MessageSent.ftl b/RFXtoRP_HsaDispute_MessageSent.ftl index e00e86f..acc1599 100644 --- a/RFXtoRP_HsaDispute_MessageSent.ftl +++ b/RFXtoRP_HsaDispute_MessageSent.ftl @@ -33,10 +33,10 @@ <#else> <#if dispute.dispute_reception??> "Message": "${dispute.dispute_reception.reception_reference?trim?json_string}" - - <#else> - <#if dispute.dispute_anticipated_receipt??> - "Message": "${dispute.dispute_anticipated_receipt.anticipated_receipt_reference?trim?json_string}" + <#else> + <#if dispute.dispute_anticipated_receipt??> + "Message": "${dispute.dispute_anticipated_receipt.anticipated_receipt_reference?trim?json_string}" + From 086fbf455b8556a18e4316e7ba1beb42ffec86c2 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Fri, 26 Jun 2026 17:15:30 +0200 Subject: [PATCH 59/61] SCPN1-10956 --- RFXtoRP_HsaDispute_Created.ftl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/RFXtoRP_HsaDispute_Created.ftl b/RFXtoRP_HsaDispute_Created.ftl index 3c6d214..2930282 100644 --- a/RFXtoRP_HsaDispute_Created.ftl +++ b/RFXtoRP_HsaDispute_Created.ftl @@ -98,7 +98,11 @@ <#if TableReasonCode[dispute.dispute_reason_code]??> - "ClaimTypeID":"CLAIMTYPE_${projectRP}_EXECUTIONFLOW_${TableReasonCode[dispute.dispute_reason_code]}" + <#if dispute.dispute_type_code=="020" > + "ClaimTypeID":"CLAIMTYPE_${projectRP}_ORDER_${TableReasonCode[dispute.dispute_reason_code]}" + <#else> + "ClaimTypeID":"CLAIMTYPE_${projectRP}_EXECUTIONFLOW_${TableReasonCode[dispute.dispute_reason_code]}" + <#else> <#stop "Claim reason code not supported" > From 3cfc888baed3182acf1aaac47092fd358568cb9b Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Mon, 29 Jun 2026 16:58:55 +0200 Subject: [PATCH 60/61] SCPN1-10956 --- RFXtoRP_HsaDispute_MessageSent.ftl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/RFXtoRP_HsaDispute_MessageSent.ftl b/RFXtoRP_HsaDispute_MessageSent.ftl index acc1599..312a186 100644 --- a/RFXtoRP_HsaDispute_MessageSent.ftl +++ b/RFXtoRP_HsaDispute_MessageSent.ftl @@ -21,7 +21,7 @@ <#else> <#-- for Claim on anticipated receipt --> <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" @@ -62,7 +62,7 @@ <#else> <#-- for Claim on anticipated receipt --> <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" @@ -91,7 +91,7 @@ <#else> <#-- for Claim on anticipated receipt --> <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" @@ -120,7 +120,7 @@ <#else> <#-- for Claim on anticipated receipt --> <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" @@ -149,7 +149,7 @@ <#else> <#-- for Claim on anticipated receipt --> <#if dispute.dispute_anticipated_receipt??> - "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" + "RefID": "${dispute.dispute_anticipated_receipt.anticipated_receipt_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_activity_code?replace(" ","")?json_string}${dispute.dispute_anticipated_receipt.anticipated_receipt_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}" From 53c80db4e9bf9ed16ab74fdf3b2f66bf24dcacb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vincent=20LE=20MA=C3=8ETRE?= Date: Tue, 30 Jun 2026 10:46:48 +0200 Subject: [PATCH 61/61] Release 2.0.23+1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index cd6a343..6d57fcc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.22+4 +2.0.23+1