From fa17314de3c20207d4b0d2387bfd6e5299a424c9 Mon Sep 17 00:00:00 2001 From: Laurie Montant Date: Thu, 12 Jun 2025 11:52:26 +0200 Subject: [PATCH] SCPN1-8863 --- RFXtoRP_HsaProStatus.ftl | 4 - ...RP_HsaProStatus_ExecutionflowCancelled.ftl | 2 +- RFXtoRP_HsaProStatus_PreparationCompleted.ftl | 2 +- RFXtoRP_HsaProStatus_PreparationExpected.ftl | 2 +- RFXtoRP_HsaProStatus_PreparationStarted.ftl | 2 +- RFXtoRP_HsaProStatus_TransportStarted.ftl | 2 +- RFXtoRP_HsrPro.ftl | 2 +- RFXtoRP_HsrPro_ExecutionflowDetected.ftl | 1 - RFXtoRP_HsrReceiptList.ftl | 6 +- ...ptList_TransfertExecutionflowCancelled.ftl | 12 + ...iptList_TransfertExecutionflowDetected.ftl | 349 +++++++++++++----- ...TransfertExecutionflowReceiptCompleted.ftl | 12 + ...srReceiptList_TransfertReceiptExpected.ftl | 7 +- 13 files changed, 293 insertions(+), 110 deletions(-) diff --git a/RFXtoRP_HsaProStatus.ftl b/RFXtoRP_HsaProStatus.ftl index 70e9771..d638425 100644 --- a/RFXtoRP_HsaProStatus.ftl +++ b/RFXtoRP_HsaProStatus.ftl @@ -17,7 +17,6 @@ <#assign preparationStatusInterface = JsonUtil.jsonToMap(dataRfx) /> [ <#--**Pick batch runned (200) **--> - <#if preparationStatusInterface.preparation_type_code=="010" || (preparationStatusInterface.preparation_type_code=="030" && preparationStatusInterface.preparation_order_originator_reference!="")> <#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "200" > { <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationExpected> @@ -64,9 +63,6 @@ - <#else> - <#stop> <#-- Preparation type not supported--> - ] <#break> diff --git a/RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl b/RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl index b1aa3ad..a261d62 100644 --- a/RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl +++ b/RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl @@ -8,7 +8,7 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!=""> + <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!=""> "RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", <#else> "RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_year}${preparationStatusInterface.preparation_order_number}", diff --git a/RFXtoRP_HsaProStatus_PreparationCompleted.ftl b/RFXtoRP_HsaProStatus_PreparationCompleted.ftl index 960fcc5..173ca65 100644 --- a/RFXtoRP_HsaProStatus_PreparationCompleted.ftl +++ b/RFXtoRP_HsaProStatus_PreparationCompleted.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!=""> + <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!=""> "RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", <#else> "RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_year}${preparationStatusInterface.preparation_order_number}", diff --git a/RFXtoRP_HsaProStatus_PreparationExpected.ftl b/RFXtoRP_HsaProStatus_PreparationExpected.ftl index 960fcc5..173ca65 100644 --- a/RFXtoRP_HsaProStatus_PreparationExpected.ftl +++ b/RFXtoRP_HsaProStatus_PreparationExpected.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!=""> + <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!=""> "RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", <#else> "RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_year}${preparationStatusInterface.preparation_order_number}", diff --git a/RFXtoRP_HsaProStatus_PreparationStarted.ftl b/RFXtoRP_HsaProStatus_PreparationStarted.ftl index f93ee75..173ca65 100644 --- a/RFXtoRP_HsaProStatus_PreparationStarted.ftl +++ b/RFXtoRP_HsaProStatus_PreparationStarted.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!=""> + <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!=""> "RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", <#else> "RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_year}${preparationStatusInterface.preparation_order_number}", diff --git a/RFXtoRP_HsaProStatus_TransportStarted.ftl b/RFXtoRP_HsaProStatus_TransportStarted.ftl index f93ee75..173ca65 100644 --- a/RFXtoRP_HsaProStatus_TransportStarted.ftl +++ b/RFXtoRP_HsaProStatus_TransportStarted.ftl @@ -7,7 +7,7 @@ "ProjectID": "${projectRP}" }, "ID": { - <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!=""> + <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!=""> "RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", <#else> "RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_year}${preparationStatusInterface.preparation_order_number}", diff --git a/RFXtoRP_HsrPro.ftl b/RFXtoRP_HsrPro.ftl index 89520bd..168484f 100644 --- a/RFXtoRP_HsrPro.ftl +++ b/RFXtoRP_HsrPro.ftl @@ -17,7 +17,7 @@ <#assign preparation_order = JsonUtil.jsonToMap(dataRfx)> [ <#-- check preparation type code (internal order and reservation are ignored) --> - <#if preparation_order.preparation_type_code == "010" || (preparation_order.preparation_type_code == "030" && preparation_order.originator_reference?? && preparation_order.originator_reference!="")> + <#if preparation_order.preparation_type_code == "010" || preparation_order.preparation_type_code == "030"> { <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> "apiReflexPlatformID" : "${apiReflexPlatformID}", diff --git a/RFXtoRP_HsrPro_ExecutionflowDetected.ftl b/RFXtoRP_HsrPro_ExecutionflowDetected.ftl index f14f198..3d7be5f 100644 --- a/RFXtoRP_HsrPro_ExecutionflowDetected.ftl +++ b/RFXtoRP_HsrPro_ExecutionflowDetected.ftl @@ -12,7 +12,6 @@ <#if preparation_order.originator_reference?? && preparation_order.originator_reference!=""> "RefID": "${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.originator_reference?trim?json_string}", <#else> - "RefID": "${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.preparation_order_year}${preparation_order.preparation_order_number}", "RefDate": { diff --git a/RFXtoRP_HsrReceiptList.ftl b/RFXtoRP_HsrReceiptList.ftl index a48d523..cd6b325 100644 --- a/RFXtoRP_HsrReceiptList.ftl +++ b/RFXtoRP_HsrReceiptList.ftl @@ -15,8 +15,7 @@ <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign receipt = JsonUtil.jsonToMap(dataRfx)> - <#if receipt.receipt_type = "030"> - <#if receipt.receipt_reference?? && receipt.receipt_reference!=""> + <#if receipt.receipt_type = "030"> <#-- if reception is a transfer reception --> [ { <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> @@ -33,9 +32,6 @@ } ] - <#else> - <#stop> <#-- Receipt reference for transfert is empty--> - <#else> [ { diff --git a/RFXtoRP_HsrReceiptList_TransfertExecutionflowCancelled.ftl b/RFXtoRP_HsrReceiptList_TransfertExecutionflowCancelled.ftl index d003c01..835c159 100644 --- a/RFXtoRP_HsrReceiptList_TransfertExecutionflowCancelled.ftl +++ b/RFXtoRP_HsrReceiptList_TransfertExecutionflowCancelled.ftl @@ -47,6 +47,18 @@ } <#else> + { + "Header": {"ProjectID": "${projectRP}"}, + "ID": { + "RefID": "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year?trim?json_string}${receipt.receipt_number?trim?json_string}", + "RefDate": { + "DateTime": "${receipt_status_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + "Payload": { + } + } <#break> diff --git a/RFXtoRP_HsrReceiptList_TransfertExecutionflowDetected.ftl b/RFXtoRP_HsrReceiptList_TransfertExecutionflowDetected.ftl index 10fa71e..881e2c1 100644 --- a/RFXtoRP_HsrReceiptList_TransfertExecutionflowDetected.ftl +++ b/RFXtoRP_HsrReceiptList_TransfertExecutionflowDetected.ftl @@ -1,99 +1,272 @@ <#include "HfRpConfig.ftl"> <#include "ReflexUtils.ftl"> <#include "ActorPrefix.ftl"> +<#assign receipt_datetime = RfxDateTimetoUTCWithTimezone(receipt.receipt_datetime,time_zone_rfx) /> +<#assign receipt_creation_datetime = RfxDateTimetoUTCWithTimezone(receipt.creation_datetime,time_zone_rfx) /> +<#assign refIDHmap_local ={}> [ - { - <#assign receipt_datetime = RfxDateTimetoUTCWithTimezone(receipt.receipt_datetime,time_zone_rfx) /> - <#assign receipt_creation_datetime = RfxDateTimetoUTCWithTimezone(receipt.creation_datetime,time_zone_rfx) /> - "Header": { - "ProjectID": "${projectRP}" - }, - "ID": { - <#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!=""> - "RefID": "${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}", - <#else> - "RefID": "${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": { + <#if receipt.receipt_reference?? && receipt.receipt_reference!=""> + { + "Header": {"ProjectID": "${projectRP}"}, + "ID": { + <#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!=""> + "RefID": "${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}", + <#else> + "RefID": "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_reference?trim?json_string}", + + "RefDate": { + "DateTime": "${receipt_creation_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + "Payload": { + "CreationDateTime": { "DateTime": "${receipt_creation_datetime}", "AuthorTimeZone": "${time_zone_rfx}" - } - }, - "Payload": { - "CreationDateTime": { - "DateTime": "${receipt_creation_datetime}", - "AuthorTimeZone": "${time_zone_rfx}" - }, - "OrderID":"${receipt.receipt_reference?trim?json_string}", - <#-- Header Metadata inclusion --> - <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_HeaderMetadata.ftl">, - - "ShipFrom": - { - "ActorID": "${RFXtoRPprefixSupplier(receipt.original_code?trim?json_string)}" - }, - "ShipTo" : - { - "ActorID": "${RFXtoRPprefixDepot(receipt.physical_depot_code?trim?json_string)}" - }, - "ShipToAcked": true, - - <#if receipt.carrier_informations.carrier_code != ""> - "Carrier": - { - "ActorID":"${RFXtoRPprefixCarrier(receipt.carrier_informations.carrier_code?trim?json_string)}" - }, - - - <#if receipt.line_list??> - "Lines" : [ - <#list receipt.line_list as line> - { - "LineID": "${line.receipt_line_number}", - <#-- Line Metadata inclusion --> - <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_LineMetadata.ftl">, - "RequestedContent": - { - "Goods": - { - "ItemID": "${line.item_code?trim?json_string!"0"}", - "LVBranchID": "${line.item_lv_code?json_string!"0"}", - <#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)> - <#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc /> - "PriorityDate": "${line_without_detail_priority_date}", - <#else> - <#if (line.line_detail?? && line.line_detail?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)> - <#assign line_detail_priority_date = line.line_detail[0].priority_date?datetime(rfx_date_format_default)?iso_utc /> - "PriorityDate": "${line_detail_priority_date}", - <#else> - "PriorityDate": "1970-01-01T00:00:00Z", - - - <#-- Segmentation Keys inclusion --> - <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl"> }, - "Quantity" : + "OrderID":"${receipt.receipt_reference?trim?json_string}", + <#-- Header Metadata inclusion --> + <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_HeaderMetadata.ftl">, + "ShipFrom": + { + "ActorID": "${RFXtoRPprefixSupplier(receipt.original_code?trim?json_string)}" + }, + "ShipTo" : + { + "ActorID": "${RFXtoRPprefixDepot(receipt.physical_depot_code?trim?json_string)}" + }, + "ShipToAcked": true, + <#if receipt.carrier_informations.carrier_code != ""> + "Carrier": + { + "ActorID":"${RFXtoRPprefixCarrier(receipt.carrier_informations.carrier_code?trim?json_string)}" + }, + + <#if receipt.line_list??> + "Lines" : [ + <#list receipt.line_list as line> + { + "LineID": "${line.receipt_line_number}", + <#-- Line Metadata inclusion --> + <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_LineMetadata.ftl">, + "RequestedContent": { - "LVID": "${quantity_in_base_lv_RP_Cst}", - "Value": "${line.order_quantity_in_lv!0}" + "Goods": + { + "ItemID": "${line.item_code?trim?json_string!"0"}", + "LVBranchID": "${line.item_lv_code?json_string!"0"}", + <#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)> + <#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc /> + "PriorityDate": "${line_without_detail_priority_date}", + <#else> + <#if (line.line_detail?? && line.line_detail?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)> + <#assign line_detail_priority_date = line.line_detail[0].priority_date?datetime(rfx_date_format_default)?iso_utc /> + "PriorityDate": "${line_detail_priority_date}", + <#else> + "PriorityDate": "1970-01-01T00:00:00Z", + + + <#-- Segmentation Keys inclusion --> + <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl"> + }, + "Quantity" : + { + "LVID": "${quantity_in_base_lv_RP_Cst}", + "Value": "${line.order_quantity_in_lv!0}" + } } } - - } - <#sep>, - - ], - - - "RequestedMilestones" : - { - "RequestedDeliveryDateTime" : - { - "DateTime": "${receipt_datetime}", - "AuthorTimeZone": "${time_zone_rfx}" - } - } + <#sep>, + + ], + + "RequestedMilestones" : + { + "RequestedDeliveryDateTime" : + { + "DateTime": "${receipt_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + } + } } - } -] + <#else> + <#if receipt.line_list??> + <#list receipt.line_list as receipt_line > + <#if receipt_line.origin_order_line_reference!=""> + <#if !refIDHmap_local[receipt_line.origin_order_line_reference]?? > + <#if refIDHmap_local?size != 0 > + , + + <#assign refIDHmap_local +={receipt_line.origin_order_line_reference,receipt_line.origin_order_line_reference}> + { + "Header": {"ProjectID": "${projectRP}"}, + "ID": { + <#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!=""> + "RefID": "${receipt.origin_order_line_depot?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt_line.origin_order_line_reference?trim?json_string}", + <#else> + "RefID": "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt_line.origin_order_line_reference?trim?json_string}", + + "RefDate": { + "DateTime": "${receipt_creation_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + "Payload": { + "CreationDateTime": { + "DateTime": "${receipt_creation_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + }, + "OrderID":"${receipt.receipt_reference?trim?json_string}", + <#-- Header Metadata inclusion --> + <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_HeaderMetadata.ftl">, + "ShipFrom": + { + "ActorID": "${RFXtoRPprefixSupplier(receipt.original_code?trim?json_string)}" + }, + "ShipTo" : + { + "ActorID": "${RFXtoRPprefixDepot(receipt.physical_depot_code?trim?json_string)}" + }, + "ShipToAcked": true, + <#if receipt.carrier_informations.carrier_code != ""> + "Carrier": + { + "ActorID":"${RFXtoRPprefixCarrier(receipt.carrier_informations.carrier_code?trim?json_string)}" + }, + + <#if receipt.line_list??> + "Lines" : [ + <#list receipt.line_list as line> + { + "LineID": "${line.receipt_line_number}", + <#-- Line Metadata inclusion --> + <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_LineMetadata.ftl">, + "RequestedContent": + { + "Goods": + { + "ItemID": "${line.item_code?trim?json_string!"0"}", + "LVBranchID": "${line.item_lv_code?json_string!"0"}", + <#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)> + <#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc /> + "PriorityDate": "${line_without_detail_priority_date}", + <#else> + <#if (line.line_detail?? && line.line_detail?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)> + <#assign line_detail_priority_date = line.line_detail[0].priority_date?datetime(rfx_date_format_default)?iso_utc /> + "PriorityDate": "${line_detail_priority_date}", + <#else> + "PriorityDate": "1970-01-01T00:00:00Z", + + + <#-- Segmentation Keys inclusion --> + <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl"> + }, + "Quantity" : + { + "LVID": "${quantity_in_base_lv_RP_Cst}", + "Value": "${line.order_quantity_in_lv!0}" + } + } + } + <#sep>, + + ], + + "RequestedMilestones" : + { + "RequestedDeliveryDateTime" : + { + "DateTime": "${receipt_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + } + } + } + <#else> + { + "Header": {"ProjectID": "${projectRP}"}, + "ID": { + "RefID": "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year?trim?json_string}${receipt.receipt_number?trim?json_string}", + "RefDate": { + "DateTime": "${receipt_creation_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + "Payload": { + "CreationDateTime": { + "DateTime": "${receipt_creation_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + }, + "OrderID":"${receipt.receipt_reference?trim?json_string}", + <#-- Header Metadata inclusion --> + <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_HeaderMetadata.ftl">, + "ShipFrom": + { + "ActorID": "${RFXtoRPprefixSupplier(receipt.original_code?trim?json_string)}" + }, + "ShipTo" : + { + "ActorID": "${RFXtoRPprefixDepot(receipt.physical_depot_code?trim?json_string)}" + }, + "ShipToAcked": true, + <#if receipt.carrier_informations.carrier_code != ""> + "Carrier": + { + "ActorID":"${RFXtoRPprefixCarrier(receipt.carrier_informations.carrier_code?trim?json_string)}" + }, + + <#if receipt.line_list??> + "Lines" : [ + <#list receipt.line_list as line> + { + "LineID": "${line.receipt_line_number}", + <#-- Line Metadata inclusion --> + <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_LineMetadata.ftl">, + "RequestedContent": + { + "Goods": + { + "ItemID": "${line.item_code?trim?json_string!"0"}", + "LVBranchID": "${line.item_lv_code?json_string!"0"}", + <#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)> + <#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc /> + "PriorityDate": "${line_without_detail_priority_date}", + <#else> + <#if (line.line_detail?? && line.line_detail?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)> + <#assign line_detail_priority_date = line.line_detail[0].priority_date?datetime(rfx_date_format_default)?iso_utc /> + "PriorityDate": "${line_detail_priority_date}", + <#else> + "PriorityDate": "1970-01-01T00:00:00Z", + + + <#-- Segmentation Keys inclusion --> + <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl"> + }, + "Quantity" : + { + "LVID": "${quantity_in_base_lv_RP_Cst}", + "Value": "${line.order_quantity_in_lv!0}" + } + } + } + <#sep>, + + ], + + "RequestedMilestones" : + { + "RequestedDeliveryDateTime" : + { + "DateTime": "${receipt_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + } + } + } + <#break> + + + + + ] diff --git a/RFXtoRP_HsrReceiptList_TransfertExecutionflowReceiptCompleted.ftl b/RFXtoRP_HsrReceiptList_TransfertExecutionflowReceiptCompleted.ftl index d9cd833..8bb3029 100644 --- a/RFXtoRP_HsrReceiptList_TransfertExecutionflowReceiptCompleted.ftl +++ b/RFXtoRP_HsrReceiptList_TransfertExecutionflowReceiptCompleted.ftl @@ -47,6 +47,18 @@ } <#else> + { + "Header": {"ProjectID": "${projectRP}"}, + "ID": { + "RefID": "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year?trim?json_string}${receipt.receipt_number?trim?json_string}", + "RefDate": { + "DateTime": "${receipt_status_datetime}", + "AuthorTimeZone": "${time_zone_rfx}" + } + }, + "Payload": { + } + } <#break> diff --git a/RFXtoRP_HsrReceiptList_TransfertReceiptExpected.ftl b/RFXtoRP_HsrReceiptList_TransfertReceiptExpected.ftl index 9232b0e..c94d0c0 100644 --- a/RFXtoRP_HsrReceiptList_TransfertReceiptExpected.ftl +++ b/RFXtoRP_HsrReceiptList_TransfertReceiptExpected.ftl @@ -1,7 +1,6 @@ <#include "HfRpConfig.ftl"> <#include "ReflexUtils.ftl"> <#assign receipt_status_datetime = RfxDateTimetoUTCWithTimezone(receipt.creation_datetime,time_zone_rfx) /> - <#assign refIDHmap_local ={}> [ <#if receipt.receipt_reference?? && receipt.receipt_reference!=""> @@ -33,11 +32,7 @@ { "Header": {"ProjectID": "${projectRP}"}, "ID": { - <#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="" > - "RefID": "${receipt.origin_order_line_depot?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt_line.origin_order_line_reference?trim?json_string}", - <#else> - "RefID": "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt_line.origin_order_line_reference?trim?json_string}", - + "RefID": "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year?trim?json_string}${receipt.receipt_number?trim?json_string}", "RefDate": { "DateTime": "${receipt_status_datetime}", "AuthorTimeZone": "${time_zone_rfx}"