Compare commits

..

35 Commits

Author SHA1 Message Date
Vincent LE MAÎTRE
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
7942a0dfc0 Release 1.2.60+4 2026-04-28 10:17:47 +02:00
16a6ad77c1 Merge branch 'release-1.2-SCPN1-10682' into 'release/1.2'
release-1.2-SCPN1-10682

See merge request r-d-technique/tiers/reflex-wms-connector!275
2026-04-28 08:12:57 +00:00
8d87e02969 SCPN1-10682
(cherry picked from commit 51fdb6d382)
2026-04-28 09:53:57 +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
959a0d02a8 Release 1.2.60+3 2026-04-24 11:12:50 +02:00
ed1d989b2d Merge branch 'Release-1.2-SCPN1-10159' into 'release/1.2'
Release-1.2-SCPN1-10159 into release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!271
2026-04-24 09:05:06 +00:00
f490cce345 Merge branch 'develop-1.2' into Release-1.2-SCPN1-10159 2026-04-24 09:58:40 +02:00
2a70e2ca76 back SCPN1 10519
(cherry picked from commit 2b25c4853d)
2026-04-24 09:43:40 +02:00
a25e4046a3 back SCPN1-10519 2026-04-24 09:31:22 +02:00
012c4007c7 Release 1.2.60+2 2026-04-23 09:11:07 +02:00
f131a91b36 Merge branch 'release1.2-SCPN1-10621' into 'release/1.2'
SCPN1-10586

See merge request r-d-technique/tiers/reflex-wms-connector!268
2026-04-23 07:07:11 +00:00
b7d97fbd63 SCPN1-10586 2026-04-22 17:59:40 +02:00
20 changed files with 78 additions and 102 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -60,7 +60,7 @@
</#if>
"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}",
</#if>
"Quantity":

View File

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

View File

@@ -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 @@
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"DateTime": "${ref_datetime2}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},

View File

@@ -36,35 +36,7 @@
<#break>
<#case "U">
<#-- *********************************************** Action = Update ********************-->
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
<#assign ID = "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}" />
<#else>
<#assign ID = "${carrier_apt.year_number}-${carrier_apt.appointment_number}" />
</#if>
<#else>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
<#assign ID = "${carrier_apt.appointment_reference?json_string}" />
<#else>
<#assign ID = "${carrier_apt.year_number}-${carrier_apt.appointment_number}" />
</#if>
</#if>
<#assign payload = '{"Header": {"ProjectID": "${projectRP}:${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"},"IDs": [{"RefID": "${ID}"}],"Options": {"Only": ["ID.RefID","Payload.WMSCreated"]}}'/>
<#assign queryApiReflexPlatformID = QueryApiReflexPlatformID.AppointmentGetByIds>
<#assign response = QueryApiReflexPlatformCall.call(queryApiReflexPlatformID,payload) />
<#assign appointmentRP = JsonUtil.jsonToMap(response)>
<#if !appointmentRP?? || !appointmentRP.Objects?? || !appointmentRP.Objects[0]?? || !appointmentRP.Objects[0].ID.RefID?? || !appointmentRP.Objects[0].Payload?? || !appointmentRP.Objects[0].Payload.WMSCreated?? || !appointmentRP.Objects[0].Payload.WMSCreated>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.BookingForceBookAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl">
}
]
<#else>
[
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCustomFieldsUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
@@ -159,7 +131,6 @@
</#if>
</#if>
]
</#if>
<#break>
<#case "D">
<#-- *********************************************** Action = Delete ******************** -->

View File

@@ -61,8 +61,12 @@
</#if>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNLOADING>
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_unloading_end_datetime?datetime.iso) />
<#if (duration <= 0)>
<#if (duration < 0)>
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend are not valid" >
<#else>
<#if (duration == 0)>
<#assign duration = 1 />
</#if>
</#if>
<#else>
<#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true" >
@@ -71,8 +75,12 @@
</#if>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_LOADING>
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_load_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) />
<#if (duration <= 0)>
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend are not valid" >
<#if (duration < 0)>
<#stop "planned_load_start_datetime or planned_load_end_datetime field of appointmend are not valid" >
<#else>
<#if (duration == 0)>
<#assign duration = 1 />
</#if>
</#if>
<#else>
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
@@ -81,8 +89,12 @@
</#if>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNLOADING>
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) />
<#if (duration <= 0)>
<#if (duration < 0)>
<#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend are not valid" >
<#else>
<#if (duration == 0)>
<#assign duration = 1 />
</#if>
</#if>
<#else>
<#stop "Appointment type not supported" >

View File

@@ -1,6 +1,6 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) />
<#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 60)?iso_utc />
<#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}"

View File

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

View File

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

View File

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

View File

@@ -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}",

View File

@@ -27,11 +27,11 @@
<#case "Updated">
<#assign AddComma = false />
<#assign appointment = eventRP.data />
<#if !eventRP.commissionsUpdated!false && !eventRP.reasonUpdated!false && !eventRP.slotUpdated!false && !eventRP.carrierInformationUpdated!false>
<#stop>
</#if>
[
<<<<<<< HEAD
<#if eventRP.commissionsUpdated>
<#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING" && eventRP.addedCommissions?? && eventRP.addedCommissions !="">
=======
<#if appointment?? && (!(appointment.WMSCreated??) || !appointment.WMSCreated) && appointment.Status?? && appointment.Status.Current?? && appointment.Status.Current.StatusCode?? && appointment.Status.Current.StatusCode == AppointmentStatusCode.APPOINTMENT_0150_ALLOCATION_ERROR>
{
<#assign apiRestReflexID = ApiRestReflexID.appointment_post_create>
@@ -42,7 +42,6 @@
<#else>
<#if eventRP.commissionsUpdated>
<#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != "">
>>>>>>> develop-1.2
<#if eventRP.appointmentCustomFields?has_content>
{
<#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_number>
@@ -58,21 +57,12 @@
<#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl">
}
</#if>
<<<<<<< HEAD
<#assign AddComma = true />
</#if>
<#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING" && eventRP.removedCommissions?? && eventRP.removedCommissions!="">
<#if AddComma == true>
,
</#if>
=======
<#assign AddComma = true />
</#if>
<#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!="">
<#if AddComma == true>
,
</#if>
>>>>>>> develop-1.2
<#if eventRP.appointmentCustomFields?has_content>
{

View File

@@ -37,15 +37,15 @@
"requested_delivery_start_datetime": "${DateTimeUTCtoRfxLocale(.now?iso_utc?string,time_zone_rfx)}",
</#if>
"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}"
}

View File

@@ -18,11 +18,7 @@
<#assign originator_code = ""/>
<#assign preparation_type_code = ""/>
<#assign requested_delivery_date_type = ""/>
<#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-->

View File

@@ -1 +1 @@
1.2.60+1
1.2.61+1