Compare commits

..

34 Commits

Author SHA1 Message Date
a4dd0a5dec Release 1.2.63+2 2026-07-23 10:38:12 +02:00
7c6aad3d5b Merge branch 'release1.2-SCPN1-11065' into 'release/1.2'
SCPN1-11065

See merge request r-d-technique/tiers/reflex-wms-connector!304
2026-07-23 08:36:33 +00:00
999ab0ebb6 SCPN1-11065
(cherry picked from commit c37727e00069589973880dc6d0e03b31f182d38e)

Co-authored-by: Laurie Montant <laurie.montant@hardis-group.com>
2026-07-20 15:06:32 +00:00
14f4eff9ff Release 1.2.63+1 2026-07-07 16:08:23 +02:00
d8c1be1a94 Merge branch 'Release-1.2-V14' into 'release/1.2'
Release-1.2-V14 into release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!294
2026-07-07 12:20:33 +00:00
b5200d1843 SCPN1-10996 2026-07-07 14:13:43 +02:00
e8028e20f1 update RFXtoRP_HsrCarrierApt_SegmentationSelections.ftl par defaut
(cherry picked from commit 5ba3540254930652e9ba2776ff26cec258d8fb70)
2026-07-02 16:31:01 +02:00
8183beae61 Release 1.2.62+1 2026-07-02 12:15:10 +02:00
30807bc840 Merge branch 'Release-1.2-V14' into 'release/1.2'
Release-1.2-V14 into release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!289
2026-07-02 08:42:02 +00:00
6aafd2f6e9 SCPN1-10966
(cherry picked from commit 3c3f197baea8ae36d7cf2f33d94c5494ca23a417)
2026-07-02 09:49:42 +02:00
8011a7f2ea Release 1.2.61+1 2026-06-30 10:47:19 +02:00
f829a02d98 Merge branch 'Release-1.2-V14' into 'release/1.2'
Release 1.2 V 14

See merge request r-d-technique/tiers/reflex-wms-connector!284
2026-06-29 15:07:26 +00:00
11c928e257 Merge branch 'develop-1.2' into Release-1.2-V14 2026-06-29 17:02:39 +02:00
7c9321002f Merge branch 'develop-1.2' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop-1.2 2026-06-29 15:56:58 +02:00
d4e5910933 CMD 2026-06-29 15:56:52 +02:00
65fca99577 SCPN1-10882
(cherry picked from commit d380ec91f8)
2026-06-25 13:56:51 +02:00
89be22e1e1 Merge branch 'develop-1.2' into Release-1.2-V14
# Conflicts:
#	ActorPrefix.ftl
#	RFXtoRP_HsaDesPatch.ftl
#	RFXtoRP_HsaDespNt.ftl
#	RFXtoRP_HsrLoadInfo.ftl
#	RFXtoRP_HsrPackBranch.ftl
#	RFXtoRP_HsrPackOrder.ftl
2026-06-22 13:38:41 +02:00
a4b5a1dbf0 SCPN1-10671 2026-05-12 18:00:59 +02:00
5e3633aaa1 Release 1.2.60+6 2026-05-12 17:47:46 +02:00
abe628a3b0 Merge branch 'release1.2-fix4-v13' into 'release/1.2'
Fix4 v13

See merge request r-d-technique/tiers/reflex-wms-connector!282
2026-05-12 15:45:03 +00:00
779b4d0596 Fix4 v13 2026-05-12 17:38:32 +02:00
ff7a38fc1f Release 1.2.60+5 2026-05-12 14:52:30 +02:00
49365d0879 Merge branch 'release1.2-fix4-v13' into 'release/1.2'
release1.2-fix4-v13 into release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!278
2026-05-12 12:48:16 +00:00
77ef62f002 Fix4 v13 2026-05-12 14:27:55 +02:00
e3f829683f SCPN1-10706 2026-05-12 11:32:55 +02:00
2512bdda84 SCPN1-10765 2026-05-12 10:27:46 +02:00
9618f5bffb SCPN1-10706 2026-05-12 10:14:53 +02:00
7563a1e932 SCPN1-10765 2026-05-11 17:26:42 +02:00
e73a2ccd83 SCPN1-10736 2026-05-05 14:11:06 +02:00
e75658e7ac SCPN1-10736 2026-05-05 10:56:55 +02:00
e1981b8fbd SCPN1-10671 2026-04-30 15:29:45 +02:00
285d5ff330 Merge branch 'develop-1.2' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop-1.2 2026-04-28 09:48:32 +02:00
51fdb6d382 SCPN1-10682 2026-04-28 09:48:27 +02:00
d96c2c73c1 SCPN1-10671
(cherry picked from commit 9916545817)
2026-04-27 10:47:28 +02:00
22 changed files with 98 additions and 70 deletions

View File

@@ -37,7 +37,11 @@
<#if uniqueness> <#if uniqueness>
<#local depot = actor> <#local depot = actor>
<#else> <#else>
<#if actor?length gt 4>
<#local depot = actor[4..]> <#local depot = actor[4..]>
<#else>
<#local depot = actor>
</#if>
</#if> </#if>
<#return (depot)> <#return (depot)>
</#function> </#function>
@@ -78,7 +82,11 @@
<#if uniqueness> <#if uniqueness>
<#local supplier = actor> <#local supplier = actor>
<#else> <#else>
<#if actor?length gt 4>
<#local supplier = actor[4..]> <#local supplier = actor[4..]>
<#else>
<#local supplier = actor>
</#if>
</#if> </#if>
<#return (supplier)> <#return (supplier)>
</#function> </#function>
@@ -117,7 +125,11 @@
<#if uniqueness> <#if uniqueness>
<#local carrier = actor> <#local carrier = actor>
<#else> <#else>
<#if actor?length gt 4>
<#local carrier = actor[4..]> <#local carrier = actor[4..]>
<#else>
<#local carrier = actor>
</#if>
</#if> </#if>
<#return (carrier)> <#return (carrier)>
</#function> </#function>
@@ -156,7 +168,11 @@
<#if uniqueness> <#if uniqueness>
<#local consignee = actor> <#local consignee = actor>
<#else> <#else>
<#if actor?length gt 4>
<#local consignee = actor[4..]> <#local consignee = actor[4..]>
<#else>
<#local consignee = actor>
</#if>
</#if> </#if>
<#return (consignee)> <#return (consignee)>
</#function> </#function>

View File

@@ -9,7 +9,7 @@
<#case "C"> <#case "C">
<#case "U"> <#case "U">
<#case "D"> <#case "D">
<#stop "no generic FTL file available yet for Grades"> <#stop>
<#break> <#break>

View File

@@ -9,9 +9,7 @@
<#case "C"> <#case "C">
<#case "U"> <#case "U">
<#case "D"> <#case "D">
<#stop>
<#stop "no generic FTL file available yet for LV types">
<#break> <#break>

View File

@@ -9,7 +9,7 @@
<#case "C"> <#case "C">
<#case "U"> <#case "U">
<#case "D"> <#case "D">
<#stop "no generic FTL file available yet for Owners"> <#stop>
<#break> <#break>

View File

@@ -16,7 +16,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign desPatch = JsonUtil.jsonToMap(dataRfx)> <#assign desPatch = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for desPatch"> <#stop>
<#break> <#break>
<#case "D"> <#case "D">
@@ -24,7 +24,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign desPatch = JsonUtil.jsonToMap(dataRfx)> <#assign desPatch = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for desPatch"> <#stop>
<#break> <#break>
<#default> <#default>
<#stop > <#stop >

View File

@@ -16,7 +16,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign despNt = JsonUtil.jsonToMap(dataRfx)> <#assign despNt = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for despNt"> <#stop>
<#break> <#break>
<#case "D"> <#case "D">
@@ -24,7 +24,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign despNt = JsonUtil.jsonToMap(dataRfx)> <#assign despNt = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for despNt"> <#stop>
<#break> <#break>
<#default> <#default>
<#stop > <#stop >

View File

@@ -12,6 +12,7 @@
"RefID": "${reflexMvtStockInterface.hd_number?trim?json_string}" "RefID": "${reflexMvtStockInterface.hd_number?trim?json_string}"
}, },
"Payload": { "Payload": {
"Reference":"${reflexMvtStockInterface.hd_number?trim?json_string}",
"ReceivedContents" :[ "ReceivedContents" :[
{ {
"DateTime": { "DateTime": {

View File

@@ -60,7 +60,7 @@
</#if> </#if>
"ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference?json_string}", "ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference?json_string}",
<#if reflexMvtStockInterface.ipg_move_operation_year_number!= 0> <#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}",
</#if> </#if>
"Quantity": "Quantity":

View File

@@ -1,5 +1,5 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message HARDIS WMS --> <#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in ReflexPlatform -->
<#include "ActorPrefix.ftl"> <#include "ActorPrefix.ftl">

View File

@@ -1,5 +1,6 @@
[ [
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) /> <#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": { "Header": {
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
@@ -19,7 +20,7 @@
</#if> </#if>
</#if> </#if>
"RefDate": { "RefDate": {
"DateTime": "${ref_datetime}", "DateTime": "${ref_datetime2}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
} }
}, },

View File

@@ -1,6 +1,6 @@
[ [
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_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 /> <#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 1)?iso_utc />
{ {
"Header": { "Header": {
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"

View File

@@ -1,6 +1,6 @@
"SegmentationSelections": [ "SegmentationKeys": [
] ]

View File

@@ -17,22 +17,14 @@
<#-- *********************************************** Action = CREATE or UPDATE ******************** --> <#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign depot = JsonUtil.jsonToMap(dataRfx)> <#assign depot = JsonUtil.jsonToMap(dataRfx)>
[ <#stop>
{
}
]
<#break> <#break>
<#case "D"> <#case "D">
<#-- *********************************************** Action = DELETE *************************** --> <#-- *********************************************** Action = DELETE *************************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign depot = JsonUtil.jsonToMap(dataRfx)> <#assign depot = JsonUtil.jsonToMap(dataRfx)>
[ <#stop>
{
}
]
<#break> <#break>
<#default> <#default>

View File

@@ -16,7 +16,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign packBranch = JsonUtil.jsonToMap(dataRfx)> <#assign packBranch = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for Pack Branch"> <#stop>
<#break> <#break>
<#case "D"> <#case "D">
@@ -24,7 +24,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign packBranch = JsonUtil.jsonToMap(dataRfx)> <#assign packBranch = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for Pack Branch"> <#stop>
<#break> <#break>
<#default> <#default>
<#stop > <#stop >

View File

@@ -16,7 +16,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign packOrder = JsonUtil.jsonToMap(dataRfx)> <#assign packOrder = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for Pack Order"> <#stop>
<#break> <#break>
<#case "D"> <#case "D">
@@ -24,7 +24,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign packOrder = JsonUtil.jsonToMap(dataRfx)> <#assign packOrder = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for Pack Order"> <#stop>
<#break> <#break>
<#default> <#default>
<#stop > <#stop >

View File

@@ -22,6 +22,11 @@
}, },
"Payload": { "Payload": {
<#if despatched_ipg.carton_number != "000000000000000000">
"Reference": "${despatched_ipg.carton_number}",
<#else>
"Reference": "${despatched_ipg.hd_number}",
</#if>
"Information" :{ "Information" :{
<#if despatched_ipg.carton_number != "000000000000000000"> <#if despatched_ipg.carton_number != "000000000000000000">
"ContainerType": "${despatched_ipg.carton_type_code?json_string}" "ContainerType": "${despatched_ipg.carton_type_code?json_string}"

View File

@@ -77,6 +77,7 @@
<#include "RFXtoRP_HsrReceiptList_ExecutionflowReceiptCompleted.ftl"> <#include "RFXtoRP_HsrReceiptList_ExecutionflowReceiptCompleted.ftl">
} }
<#else> <#else>
<#if receipt.line_list ?? && receipt.line_list[0]??>
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
@@ -89,6 +90,10 @@
"datas" : "datas" :
<#include "RFXtoRP_HsrReceiptList_ExecutionflowReceiptCompleted.ftl"> <#include "RFXtoRP_HsrReceiptList_ExecutionflowReceiptCompleted.ftl">
} }
<#else>
<#-- No line-->
<#stop>
</#if>
</#if> </#if>
<#else> <#else>
<#if receipt.receipt_type == "030"> <#if receipt.receipt_type == "030">

View File

@@ -1,7 +1,16 @@
<#include "HfRpConfig.ftl"> <#include "HfRpConfig.ftl">
[ [
<#assign UUID = UUID.randomUUID()> <#assign UUID = UUID.randomUUID()>
<#assign strJsonBody = JsonUtil.espaceQuoteInJsonString(restResponseBody)> <#assign strJsonBody = JsonUtil.espaceQuoteInJsonString(restResponseBody)?replace("\n", "")?replace("\r", "")>
<#assign maxLen = 32000>
<#if strJsonBody?length gt maxLen>
<#assign strJsonBody = JsonUtil.espaceQuoteInJsonString(restResponseBody)?replace("\n", "")?replace("\r", "")?replace('"logical_key_list"\\s*:\\s*\\[[^\\]]*\\]', '"logical_key_list": []', 'r')>
</#if>
<#if strJsonBody?length gt maxLen>
<#assign safeJsonBody = "{\"truncated\": true, \"original_size\": " + strJsonBody?length + "}">
<#else>
<#assign safeJsonBody = strJsonBody>
</#if>
{ {
"Header": { "Header": {
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
@@ -23,16 +32,16 @@
}, },
"TechMessage": { "TechMessage": {
"Code": "${restResponsetMsg.status!"no Code"}", "Code": "${restResponsetMsg.status!"no Code"}",
"Label": ${strJsonBody} "Label": "${safeJsonBody?json_string}"
}, },
"UserMessage": { "UserMessage": {
"Code": "${restResponsetMsg.status!"no Code"}", "Code": "${restResponsetMsg.status!"no Code"}",
"Label": ${strJsonBody}, "Label": "${safeJsonBody?json_string}",
"Params": [] "Params": []
}, },
"DetailElements": [], "DetailElements": [],
"CorrelationID": "${id.correlationid!"no Correlationid"}", "CorrelationID": "${id.correlationid!"no Correlationid"}",
"ContextPayload": ${strJsonBody}, "ContextPayload": "${safeJsonBody?json_string}",
"Type": "${event}", "Type": "${event}",
"Task": "${id.apiRestReflexID!"no Task"}", "Task": "${id.apiRestReflexID!"no Task"}",
"OriginalID": "${id.refid!"no OriginalID"?trim?json_string}", "OriginalID": "${id.refid!"no OriginalID"?trim?json_string}",

View File

@@ -27,6 +27,11 @@
<#case "Updated"> <#case "Updated">
<#assign AddComma = false /> <#assign AddComma = false />
<#assign appointment = eventRP.data /> <#assign appointment = eventRP.data />
<#-- processing is stopped because the Updated event contains no relevant change to forward to the WMS. -->
<#if !(eventRP.commissionsUpdated!false) && !(eventRP.reasonUpdated!false) && !(eventRP.slotUpdated!false) && !(eventRP.carrierInformationUpdated!false)>
<#stop>
</#if>
[ [
<#if appointment?? && (!(appointment.WMSCreated??) || !appointment.WMSCreated) && appointment.Status?? && appointment.Status.Current?? && appointment.Status.Current.StatusCode?? && appointment.Status.Current.StatusCode == AppointmentStatusCode.APPOINTMENT_0150_ALLOCATION_ERROR> <#if appointment?? && (!(appointment.WMSCreated??) || !appointment.WMSCreated) && appointment.Status?? && appointment.Status.Current?? && appointment.Status.Current.StatusCode?? && appointment.Status.Current.StatusCode == AppointmentStatusCode.APPOINTMENT_0150_ALLOCATION_ERROR>
{ {

View File

@@ -37,15 +37,15 @@
"requested_delivery_start_datetime": "${DateTimeUTCtoRfxLocale(.now?iso_utc?string,time_zone_rfx)}", "requested_delivery_start_datetime": "${DateTimeUTCtoRfxLocale(.now?iso_utc?string,time_zone_rfx)}",
</#if> </#if>
"requested_delivery_date_type": "${requested_delivery_date_type}", "requested_delivery_date_type": "${requested_delivery_date_type}",
"consolidated_delivery": "${consolidated_delivery_flag}", "consolidated_delivery": "false",
"pick_sequence_code": "${pick_sequence_code}", "pick_sequence_code": "${pick_sequence_code}",
"intermediate_consignee": "false", "intermediate_consignee": "false",
"protected": "${protected_flag}", "protected": "false",
"automatic_generation": "${automatic_generation_flag}", "automatic_generation": "true",
"deactivate": "false", "deactivate": "false",
"optional_attributes": { "optional_attributes": {
<#include "RPtoRFX_PrepOrder_OptionalAttributes.ftl"> <#include "RPtoRFX_PrepOrder_OptionalAttributes.ftl">
"apt_with_end_consignee": "${apt_with_end_consignee_flag}", "apt_with_end_consignee": "false",
"apt_with_intermediate": "false", "apt_with_intermediate": "false",
"load_grouping": "${load_grouping}" "load_grouping": "${load_grouping}"
} }

View File

@@ -18,11 +18,7 @@
<#assign originator_code = ""/> <#assign originator_code = ""/>
<#assign preparation_type_code = ""/> <#assign preparation_type_code = ""/>
<#assign requested_delivery_date_type = ""/> <#assign requested_delivery_date_type = ""/>
<#assign consolidated_delivery_flag ="false"/>
<#assign pick_sequence_code = ""/> <#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--> <#-- A supprimer si utilisation de la table de correspondance-->
<#--To be deleted if using the correspondence table--> <#--To be deleted if using the correspondence table-->

View File

@@ -1 +1 @@
1.2.60+4 1.2.63+2