Compare commits

...

78 Commits

Author SHA1 Message Date
35550c4e34 Release 1.2.58+3 2026-03-04 14:59:22 +01:00
39d0354d3f Merge branch 'SCPN1-10253-1.2' into 'release/1.2'
SCPN1-10253-1.2 into release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!254
2026-03-04 13:55:00 +00:00
d9dd53966a SCPN1-10253 2026-03-03 11:33:37 +01:00
f321bdd645 Release 1.2.58+2 2026-03-02 15:17:46 +01:00
b6f0c14942 Merge branch 'SCPN1-10253-1.2' into 'release/1.2'
SCPN1-10253-1.2 into release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!249
2026-03-02 13:54:41 +00:00
0f63aade04 SCPN1-10294 2026-03-02 14:48:40 +01:00
ce046a5684 SCPN1-10253
(cherry picked from commit 8d806117fa)
2026-03-02 12:07:40 +01:00
31526f0553 SCPN1-10253 2026-03-02 11:55:24 +01:00
c542805488 Release 1.2.58+1 2026-02-05 17:13:36 +01:00
29713e51d4 Release 1.2.57+1 2026-02-05 10:17:24 +01:00
5fcc1a071d Merge branch 'release-1.2-SCPN1-10100' into 'release/1.2'
release-1.2-SCPN1-10100 into release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!238
2026-02-05 08:31:43 +00:00
c694bd1b63 SCPN1-10100
(cherry picked from commit d507003c2b)
2026-02-05 08:55:09 +01:00
8dc7e1895f SCPN1-10100 2026-02-02 11:59:14 +01:00
74522e1b11 Release 1.2.56+2 2026-01-27 08:55:35 +01:00
71a7001af1 Merge branch 'release1.2-SCPN1-10095' into 'release/1.2'
release1.2-SCPN1-10095 into release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!231
2026-01-27 07:53:04 +00:00
f8e00cf7ba SCPN1-10095
(cherry picked from commit 3b36b44aea)
2026-01-27 08:36:29 +01:00
cf964959af SCPN1-10095
(cherry picked from commit fcad79967e)
2026-01-26 16:01:29 +01:00
7d55f08194 Release 1.2.56+1 2026-01-22 15:34:14 +01:00
f96d8b9f09 Release 1.2.55+1 2026-01-22 15:32:21 +01:00
642ce4e4e2 Merge branch 'release1.2-fixv12' into 'release/1.2'
release1.2-fixv12 into release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!228
2026-01-22 13:20:11 +00:00
50dca97d7a Merge branch 'develop-1.2' into release1.2-fixv12 2026-01-21 17:19:37 +01:00
ff5d6bc4d3 SCPN1-10068 2026-01-21 14:48:58 +01:00
f49eb55d6a Merge branch 'develop-1.2' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop-1.2 2026-01-21 10:56:20 +01:00
2ed20478c4 SCPN1-10068 2026-01-21 10:56:14 +01:00
d3cb8ecc15 rollback 2026-01-20 15:09:51 +01:00
e53d81e534 fix error syntax 2026-01-16 16:55:43 +01:00
2ece576560 SCPN1-10040 2026-01-15 17:21:47 +01:00
629d465343 SCPN1-10040 2026-01-15 15:37:58 +01:00
0a34359e12 rollback 2026-01-15 09:31:58 +01:00
d908f7db77 SCPN1-9991 2026-01-14 11:03:00 +01:00
7329a2aa1c Release 1.2.54+3 2026-01-14 09:26:14 +01:00
e83b921cf3 Merge branch 'SCPN1-9990' into 'release/1.2'
SCPN1-9682

See merge request r-d-technique/tiers/reflex-wms-connector!224
2026-01-14 08:19:10 +00:00
f496ad60bd SCPN1-9682
(cherry picked from commit ca9706e5aa)
2026-01-14 09:16:08 +01:00
ca9706e5aa SCPN1-9682 2026-01-14 09:05:37 +01:00
5977dc3af0 hsrAntRec
(cherry picked from commit efddfdc821)
2026-01-13 18:09:24 +01:00
4496a4a2ce hsrAntRec 2026-01-13 18:01:25 +01:00
7e57d91cb6 The loading and unloading appointment is not yet managed. 2026-01-09 15:37:25 +01:00
c89575e040 Release 1.2.54+2 2026-01-08 17:52:51 +01:00
6657cec64c Merge branch 'release-1.2-fix-1.12-FTL' into 'release/1.2'
release-1.2-fix-1.12-FTL into release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!220
2026-01-08 16:45:55 +00:00
c0f25565a0 SCPN1-9943
(cherry picked from commit a6fec0c333)
(cherry picked from commit 6e89261c27)
2026-01-08 15:38:46 +01:00
6e89261c27 SCPN1-9943
(cherry picked from commit a6fec0c333)
2026-01-08 15:29:55 +01:00
Vincent LE MAÎTRE
466e852f24 Release 1.2.54+1 2026-01-08 10:28:20 +01:00
Vincent LE MAÎTRE
8d5dafdeb5 Release 1.2.53+1 2026-01-08 08:52:16 +01:00
bbfe3aa53a Merge branch 'release-1.2-fix-1.12-FTL' into 'release/1.2'
release-1.2-fix-1.12-FTL

See merge request r-d-technique/tiers/reflex-wms-connector!214
2026-01-07 16:55:36 +00:00
9ef729bba9 Merge branch 'develop-1.2' into release-1.2-fix-1.12-FTL 2026-01-07 16:26:10 +01:00
d486819b60 rdz 2026-01-07 15:59:35 +01:00
d552dced98 RDV 2026-01-07 14:48:39 +01:00
ad8aae90fd RDV 2026-01-07 14:08:00 +01:00
ecc40ff1f5 RDV 2026-01-07 12:00:14 +01:00
7c04741bc6 RDV 2026-01-07 11:50:16 +01:00
3541a6cf8d RDV 2026-01-07 11:38:30 +01:00
0274bd65da RDV 2026-01-07 11:35:25 +01:00
6f73a656ed RDV 2026-01-07 11:16:57 +01:00
df7e596a93 RDV 2026-01-07 09:08:23 +01:00
5abbd7b0a2 RDV 2026-01-05 17:39:23 +01:00
a2d3922fb3 RDV 2026-01-05 16:06:09 +01:00
50366dab9e RDV 2026-01-02 09:30:57 +01:00
d03dfcf6f4 Release 1.2.52+2 2025-12-23 15:37:19 +01:00
daf6b99496 Merge branch 'develop-1.2' into 'release/1.2'
Develop 1.2

See merge request r-d-technique/tiers/reflex-wms-connector!210
2025-12-23 14:35:41 +00:00
ef2ae50b62 RDV 2025-12-23 15:23:35 +01:00
a314097423 RDV 2025-12-23 15:17:33 +01:00
6853819d49 RDV 2025-12-23 14:54:14 +01:00
7579ff4e68 RDV 2025-12-23 14:05:16 +01:00
5dd35ca77e RDV 2025-12-23 09:33:19 +01:00
2c5df0ae88 RDV 2025-12-23 08:42:42 +01:00
9bf87976ea RDV 2025-12-22 16:03:14 +01:00
e1c65e7efc RDV 2025-12-22 10:27:57 +01:00
055ff16537 RDV 2025-12-22 10:23:17 +01:00
fed3cf4311 RDV 2025-12-22 10:22:53 +01:00
8645b5de3d Release 1.2.52+1 2025-12-19 13:54:13 +01:00
028d845e87 Merge branch 'ftl-1.2-for-release1.12.1' into 'release/1.2'
ftl-1.2-for-release1.12.1

See merge request r-d-technique/tiers/reflex-wms-connector!206
2025-12-19 12:44:38 +00:00
d573b10846 RDV 2025-12-19 11:22:06 +01:00
9b9dc2cf97 Merge branch 'develop-1.2' into ftl-1.2-for-release1.12.1 2025-12-19 11:20:23 +01:00
f7de24d247 RDV 2025-12-19 11:17:48 +01:00
bfb1be01e9 Merge branch 'develop-1.2' into ftl-1.2-for-release1.12.1 2025-12-19 11:13:43 +01:00
9a252d63c7 RDV 2025-12-19 10:23:00 +01:00
94af964830 RDV 2025-12-19 09:44:27 +01:00
57c5ed1c9b RDV 2025-12-18 10:26:13 +01:00
53 changed files with 938 additions and 410 deletions

View File

@@ -1,6 +1,6 @@
# HARDIS SC NETWORK Core FTLs
## Overview
The **HARDIS WMS Connector** is a set of **FreeMarker templates (FTL)** designed to transform **outgoing JSON flows from HARDIS WMS** into **flows compatible with HARDIS SC NETWORK**.
The **HARDIS WMS Connector** is a set of **FreeMarker templates (FTL)** designed to transform **outgoing JSON flows from HARDIS WMS** into **flows compatible with HARDIS SC NETWORK**.

View File

@@ -24,9 +24,14 @@
<#include "RFXtoRP_HsaItm_ItemCreated_ItemMetadata.ftl">
<#-- Item Photo URI could be added here -->
<#if item.url?? && item.url!="">
<#if item.saved_picture_path?? && item.saved_picture_path!="" && item.saved_picture_path?starts_with("http") == true>
,
"PhotoURI": "${item.saved_picture_path?json_string}"
<#else>
<#if item.url?? && item.url!="" && item.url?starts_with("http") == true>
,
"PhotoURI": "${item.url?json_string}"
</#if>
</#if>
<#-- Loop for the Logistical Variants - LV -->

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#if carrier_apt_status.constant_appointment?? && carrier_apt_status.constant_appointment== "true">
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference!="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}-${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
<#else>
"RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}",
</#if>
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#if carrier_apt_status.constant_appointment?? && carrier_apt_status.constant_appointment== "true">
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference!="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}-${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
<#else>
"RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}",
</#if>
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#if carrier_apt_status.constant_appointment?? && carrier_apt_status.constant_appointment== "true">
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference!="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}-${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
<#else>
"RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}",
</#if>
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#if carrier_apt_status.constant_appointment?? && carrier_apt_status.constant_appointment== "true">
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference!="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}-${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
<#else>
"RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}",
</#if>
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#if carrier_apt_status.constant_appointment?? && carrier_apt_status.constant_appointment== "true">
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference!="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}-${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
<#else>
"RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}",
</#if>
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#if carrier_apt_status.constant_appointment?? && carrier_apt_status.constant_appointment== "true">
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference!="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}-${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
<#else>
"RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}",
</#if>
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#if carrier_apt_status.constant_appointment?? && carrier_apt_status.constant_appointment== "true">
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference!="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}-${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
<#else>
"RefID": "${carrier_apt_status.physical_depot?json_string}${carrier_apt_status.appointment_year_number?json_string}${carrier_apt_status.appointment_number?json_string}",
</#if>
<#if carrier_apt_status.appointment_reference?? && carrier_apt_status.appointment_reference !="">
"RefID": "${carrier_apt_status.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt_status.appointment_year_number?json_string}-${carrier_apt_status.appointment_number?json_string}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -12,36 +12,23 @@
<#assign aDateTime = .now>
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign carrier_apt = JsonUtil.jsonToMap(dataRfx)>
<#switch cloudEventMsg.action>
<#case "C">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign carrier_apt = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteForceBookAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierExpected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_AppointmentCarrierExpected.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCustomFieldsUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl">
}
]
<#break>
<#case "U">
<#-- *********************************************** Action = Update ********************-->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign carrier_apt = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCustomFieldsUpdated>
@@ -49,7 +36,9 @@
"datas" :
<#include "RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl">
},
<#if carrier_apt.status?? && carrier_apt.status.status_code=="999">
<#include "RFXtoRP_HsrCarrierApt_AppointmentMetadataUpdated.ftl">
<#include "RFXtoRP_HsrCarrierApt_AppointmentCarrierInformationUpdated.ftl">
<#if carrier_apt.status?? && (carrier_apt.status.status_code=="999" || carrier_apt.status.status_code=="040" || carrier_apt.status.status_code=="030")>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteCancelAppointment>
@@ -119,25 +108,14 @@
}
]
<#else>
<#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteWMSUpdateAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl">
}
]
<#else>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteForceRescheduleAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_UpdateSlotAppointment.ftl">
}
]
</#if>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteWMSUpdateAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl">
}
]
</#if>
</#if>
</#if>
@@ -149,8 +127,6 @@
<#break>
<#case "D">
<#-- *********************************************** Action = Delete ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign carrier_apt = JsonUtil.jsonToMap(dataRfx)>
[
<#-- Ajout des lignes-->
{

View File

@@ -1,26 +0,0 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#else>
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
"RefID": "${carrier_apt.appointment_reference?json_string}${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
<#else>
"RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
}
}
]

View File

@@ -0,0 +1,9 @@
<#-- A décommenter si besoin de les utiliser-->
<#-- Uncomment if you need to use them-->
<#--{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierInformationUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_AppointmentCarrierInformationUpdatedToConfigure.ftl">
},
-->

View File

@@ -0,0 +1,42 @@
<#--
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
}
"Payload": {
"ActorID": "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
<#--To configure-->
<#-- "CarrierInformation": [
{
"Key": "string",
"Value": {
"Bool": "true / false",
"Float": 3.1415,
"Int": 42,
"String": "Hello World !",
"Timestamp": {
"AuthorTimeZone": "Europe/Paris",
"DateTime": "2023-01-01T00:00:00Z"
}
}
]
}
}
]
-->

View File

@@ -5,14 +5,18 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#else>
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
"RefID": "${carrier_apt.appointment_reference?json_string}${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
<#else>
"RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
</#if>
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
@@ -38,6 +42,14 @@
{
"Key": "carrier",
"Value": "${carrier_apt.planned_carrier?json_string}"
},
{
"Key": "loading",
"Value": "${carrier_apt.load_appointment?json_string}"
},
{
"Key": "unloading",
"Value": "${carrier_apt.unloading_appointment?json_string}"
}
]
},

View File

@@ -0,0 +1,9 @@
<#-- A décommenter si besoin de les utiliser-->
<#-- Uncomment if you need to use them-->
<#--{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentMetaDataUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_AppointmentMetadataUpdatedToConfigure.ftl">
},
-->

View File

@@ -0,0 +1,42 @@
<#--
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}"
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}"
</#if>
<#else>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}"
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}"
</#if>
</#if>
},
"Payload": {
"ActorID": "ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
<#--To configure-->
<#-- "MetaData": [
{
"Key": "string",
"Value": {
"Bool": "true / false",
"Float": 3.1415,
"Int": 42,
"String": "Hello World !",
"Timestamp": {
"AuthorTimeZone": "Europe/Paris",
"DateTime": "2023-01-01T00:00:00Z"
}
}
]
}
}
]
-->

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
"RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}",
</#if>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
"RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}",
</#if>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
"RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}",
</#if>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
"RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}",
</#if>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -1,15 +1,19 @@
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
[
{
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
<#else>
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
<#else>
"AppointmentID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
</#if>
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"Header": {
"ProjectID": "${projectRP}"
},

View File

@@ -4,13 +4,17 @@
"ProjectID": "${projectRP}"
},
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
<#else>
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"AppointmentID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"TimeZone":"${time_zone_rfx}",
@@ -25,7 +29,7 @@
</#if>
<#else>
<#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true" >
<#if carrier_apt.planned_load_start_datetime?starts_with("00") || carrier_apt.planned_load_start_datetime?contains("-00-") || carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-")>
<#if carrier_apt.planned_load_start_datetime?starts_with("00") || carrier_apt.planned_load_start_datetime?contains("-00-") || carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-")>
<#stop "planned_load_start_datetime or planned_load_end_datetime field of appointmend is not initialized" >
</#if>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_LOADING>
@@ -35,10 +39,17 @@
</#if>
<#else>
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
<#stop "Not managed">
<#if carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-") || carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-") >
<#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend is not initialized" >
</#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)>
<#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend are not valid" >
</#if>
<#else>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN>
<#assign duration = 0 /> <#-- à confirmer -->
<#assign duration = 0 />
</#if>
</#if>
</#if>
@@ -64,6 +75,14 @@
{
"Key": "carrier",
"Value": "${carrier_apt.planned_carrier?json_string}"
},
{
"Key": "loading",
"Value": "${carrier_apt.load_appointment?json_string}"
},
{
"Key": "unloading",
"Value": "${carrier_apt.unloading_appointment?json_string}"
}
],
<#include "RFXtoRP_HsrCarrierApt_SegmentationSelections.ftl">,
@@ -76,10 +95,10 @@
"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}",
"ExecutionflowID":"${physical_receipt.physical_receipt_reference?json_string}",
"ExecutionflowID": "${physical_receipt.physical_receipt_reference?trim?json_string}",
<#else>
"OrderID": "${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": "${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}",
"ExecutionflowID": "${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}",
</#if>
"ProjectID": "${projectRP}",
<#include "RFXtoRP_HsrCarrierApt_Quantities.ftl">
@@ -94,12 +113,21 @@
<#include "RFXtoRP_HsrCarrierApt_Quantities.ftl">
}
],
<#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!="">
"Reason": "${carrier_apt.appointment_designation?json_string}",
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
"Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}",
<#else>
"Reason": "No commission",
<#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}",
</#if>
</#if>
</#if>
</#if>
"Slots": [{
<#-- calcul de de la durée en fonction des start et end time-->
"DurationInSeconds": "${duration}",
@@ -107,7 +135,6 @@
<#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-")>
<#stop "planned_unloading_start_datetime field of appointmend is not initialized" >
</#if>
"StartDateTime": "${carrier_apt.planned_unloading_start_datetime}"
<#else>
<#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true">
@@ -116,7 +143,14 @@
</#if>
"StartDateTime": "${carrier_apt.planned_load_start_datetime}"
<#else>
<#stop "Not managed">
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
<#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-")>
<#stop "planned_unloading_start_datetime field of appointmend is not initialized" >
</#if>
"StartDateTime": "${carrier_apt.planned_unloading_start_datetime}"
<#else>
<#stop "Appointment type not supported" >
</#if>
</#if>
</#if>
}]

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
"RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}",
</#if>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,11 +5,19 @@
"ProjectID": "${projectRP}"
},
"ID": {
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference !="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
"RefID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number?json_string}${carrier_apt.appointment_number?json_string}",
</#if>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"RefID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -5,13 +5,17 @@
"Header":{
"ProjectID": "${projectRP}"
},
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
<#else>
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
<#else>
"AppointmentID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
<#else>
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false">
@@ -35,14 +39,24 @@
</#if>
<#else>
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
<#stop "Not managed">
<#else>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN>
<#assign duration = 0 /> <#-- à confirmer -->
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
<#if carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-") || carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-") >
<#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend is not initialized" >
</#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)>
<#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend are not valid" >
</#if>
<#else>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN>
<#assign duration = 0 /> <#-- à confirmer -->
</#if>
</#if>
</#if>
</#if>
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
"TimeZone":"${time_zone_rfx}",
"CustomFields": [
{
"Key": "depot",
@@ -63,26 +77,46 @@
{
"Key": "carrier",
"Value": "${carrier_apt.planned_carrier?json_string}"
},
{
"Key": "loading",
"Value": "${carrier_apt.load_appointment?json_string}"
},
{
"Key": "unloading",
"Value": "${carrier_apt.unloading_appointment?json_string}"
}
],
<#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0)>
<#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"))>
"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}",
"ExecutionflowID":"${physical_receipt.physical_receipt_reference?json_string}",
<#else>
"OrderID": "${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}",
"ExecutionflowID": "${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}",
</#if>
"ProjectID": "${projectRP}"
<#if physical_receipt.physical_receipt_reference?? && physical_receipt.physical_receipt_reference!="">
"OrderID": "${physical_receipt.physical_receipt_reference?json_string}",
"ExecutionflowID":"${physical_receipt.physical_receipt_reference?json_string}",
<#else>
"OrderID": "${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": "${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}",
</#if>
"ProjectID": "${projectRP}"
}<#sep>,</#sep>
</#list>
],
<#else>
<#stop>
<#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}",
</#if>
</#if>
</#if>
</#if>
"Slots": [{
<#-- calcul de de la durée en fonction des start et end time-->
@@ -101,7 +135,12 @@
"StartDateTime": "${carrier_apt.planned_load_start_datetime}"
<#else>
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
<#stop "Not managed">
<#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-")>
<#stop "planned_unloading_start_datetime field of appointmend is not initialized" >
</#if>
"StartDateTime": "${carrier_apt.planned_unloading_start_datetime}"
<#else>
<#stop "Appointment type not supported" >
</#if>
</#if>
</#if>

View File

@@ -1,68 +0,0 @@
[
{
<#assign creation_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) />
"Header":{
"ProjectID": "${projectRP}"
},
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
<#else>
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
<#else>
"AppointmentID": "${carrier_apt.physical_depot?json_string}${carrier_apt.year_number}${carrier_apt.appointment_number}",
</#if>
</#if>
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false">
<#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-") || carrier_apt.planned_unloading_end_datetime?starts_with("00") || carrier_apt.planned_unloading_end_datetime?contains("-00-")>
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend is not initialized" >
</#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)>
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend are not valid" >
</#if>
<#else>
<#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true" >
<#if carrier_apt.planned_load_start_datetime?starts_with("00") || carrier_apt.planned_load_start_datetime?contains("-00-") || carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-")>
<#stop "planned_load_start_datetime or planned_load_end_datetime field of appointmend is not initialized" >
</#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>
<#else>
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
<#stop "Not managed">
<#else>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN>
<#assign duration = 0 /> <#-- à confirmer -->
</#if>
</#if>
</#if>
"Slots": [{
<#-- calcul de de la durée en fonction des start et end time-->
"DurationInSeconds": "${duration}",
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false" >
<#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-")>
<#stop "planned_unloading_start_datetime field of appointmend is not initialized" >
</#if>
"StartDateTime": "${carrier_apt.planned_unloading_start_datetime}"
<#else>
<#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true">
<#if carrier_apt.planned_load_start_datetime?starts_with("00") || carrier_apt.planned_load_start_datetime?contains("-00-")>
<#stop "planned_load_start_datetime field of appointmend is not initialized" >
</#if>
"StartDateTime": "${carrier_apt.planned_load_start_datetime}"
<#else>
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
<#stop "Not managed">
</#if>
</#if>
</#if>
}]
}
]

View File

@@ -26,6 +26,7 @@
"datas" :
<#include "RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl">
},
<#include "RFXtoRP_HsrPrepa_ExecutionflowMetadataUpdated.ftl">
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched>

View File

@@ -0,0 +1,27 @@
<#--
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID":{
"RefID": "${Your_Object_ID}"
},
"Payload":{
"MetaData": [
{
"Key": "string",
"Value": {
"Bool": "true / false",
"Float": 3.1415,
"Int": 42,
"String": "Hello World !",
"Timestamp": {
"AuthorTimeZone": "Europe/Paris",
"DateTime": "2023-01-01T00:00:00Z"
}
}
}
]
}
}
-->

View File

@@ -0,0 +1,10 @@
<#-- A décommenter si besoin de les utiliser-->
<#-- Uncomment if you need to use them-->
<#--
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowMetaDataUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_ExecutionflowMetaDataUpdatedToConfigure.ftl">
},
-->

View File

@@ -9,6 +9,32 @@
"ProjectID": "${projectRP}"
},
"ID": {
"CustomFields": [
{
"Key": "depot_code",
"Value": "${preparation_order.physical_depot_code?trim?json_string}"
},
{
"Key": "activity_code",
"Value": "${preparation_order.activity_code?trim?json_string}"
},
{
"Key": "originator_code",
"Value": "${preparation_order.originator_code?trim?json_string}"
},
{
"Key": "reference",
"Value": "${preparation_order.originator_reference?trim?json_string}"
},
{
"Key": "order_year",
"Value": "${preparation_order.preparation_order_year}"
},
{
"Key": "order_number",
"Value": "${preparation_order.preparation_order_number}"
}
],
"RefID": "${preparation_order.originator_reference?trim?json_string}",
"RefDate": {
"DateTime": "${pro_creation_datetime}",

View File

@@ -9,6 +9,32 @@
"ProjectID": "${projectRP}"
},
"ID": {
"CustomFields": [
{
"Key": "depot_code",
"Value": "${receipt.physical_depot_code?trim?json_string}"
},
{
"Key": "activity_code",
"Value": "${receipt.activity_code?trim?json_string}"
},
{
"Key": "originator_code",
"Value": "${receipt.originator_code?trim?json_string}"
},
{
"Key": "reference",
"Value": "${receipt.receipt_reference?trim?json_string}"
},
{
"Key": "order_year",
"Value": "${receipt.receipt_year}"
},
{
"Key": "order_number",
"Value": "${receipt.receipt_number}"
}
],
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
"RefID": "${receipt.receipt_reference?trim?json_string}",
<#else>

View File

@@ -33,7 +33,7 @@
"DetailElements": [],
"CorrelationID": "${id.correlationid!"no Correlationid"}",
"ContextPayload": ${strJsonBody},
"Type": "RP_EXECUTIONFLOW_EVENT",
"Type": "${event}",
"Task": "${id.apiRestReflexID!"no Task"}",
"OriginalID": "${id.refid!"no OriginalID"?trim?json_string}",
"StackTrace": ""

View File

@@ -12,7 +12,7 @@
<#assign aDateTime = .now>
<#assign no_apiRestReflexID = "no apiRestReflexID">
<#assign no_status = -99999>
<#assign event = "UNKNOW_EVENT" >
<#switch id.apiRestReflexID!no_apiRestReflexID>
<#case no_apiRestReflexID>
@@ -44,6 +44,7 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_EXECUTIONFLOW_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
@@ -84,6 +85,7 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_EXECUTIONFLOW_EVENT">
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
@@ -107,6 +109,7 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_EXECUTIONFLOW_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
@@ -132,6 +135,7 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_EXECUTIONFLOW_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
@@ -149,10 +153,10 @@
<#if preparationOrderPostResponse.status?? && (preparationOrderPostResponse.status == "SUCCESS" || preparationOrderPostResponse.status == "WARN") >
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDeleted>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowShipToAcked>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_Receipt_ExecutionflowDeleted.ftl">
<#include "RFXtoRP_Receipt_ShipToAcked.ftl">
}
]
<#else>
@@ -162,6 +166,7 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_EXECUTIONFLOW_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
@@ -184,6 +189,7 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_EXECUTIONFLOW_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
@@ -209,13 +215,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
<#break>
@@ -236,13 +243,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
</#if>
@@ -258,13 +266,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
</#switch>
@@ -284,13 +293,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
<#break>
@@ -311,13 +321,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
</#if>
@@ -333,13 +344,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
</#switch>
@@ -359,13 +371,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
<#break>
@@ -386,13 +399,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
</#if>
@@ -408,20 +422,23 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
</#switch>
<#break>
<#-- *********************************************** ApiRestID = appointment_post_physical_receipt_associations ******************** -->
<#-- *********************************************** ApiRestID = appointment_post_physical_receipt_associations/dissociations ******************** -->
<#case "appointment_post_physical_receipt_associations_by_ref">
<#case "appointment_post_physical_receipt_associations_by_number">
<#case "appointment_post_physical_receipt_dissociations_by_ref">
<#case "appointment_post_physical_receipt_dissociations_by_number">
<#switch restResponsetMsg.status!no_status>
<#case no_status>
[
@@ -434,13 +451,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
<#break>
@@ -461,13 +479,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
</#if>
@@ -483,13 +502,14 @@
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#assign event = "RP_APPOINTMENT_EVENT" />
<#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
}
]
</#switch>

View File

@@ -0,0 +1,22 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${id.refid!"no RefID"?trim?json_string}",
"RefDate": {
"DateTime": "${aDateTime?iso_utc}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": {
"ActorID":"${RFXtoRPprefixDepot(id.actorID)?trim?json_string}"
}
}
]

View File

@@ -24,45 +24,74 @@
]
<#break>
<#-- *********************************************** Action = CommissionsUpdated ******************** -->
<#case "CommissionsUpdated">
<#case "Updated">
<#assign AddComma = false />
<#assign appointment = eventRP.data />
[
<#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">
}
[
<#if eventRP.commissionsUpdated>
<#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING" && eventRP.addedCommissions?? && eventRP.addedCommissions !="">
<#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">
}
</#if>
<#assign AddComma = true />
</#if>
<#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING" && eventRP.removedCommissions?? && eventRP.removedCommissions!="">
<#if AddComma == true>
,
</#if>
<#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>
<#assign AddComma = true />
</#if>
</#if>
<#-- *********************************************** Action = reasonUpdated or slotUpdated ******************** -->
<#if eventRP.reasonUpdated || eventRP.slotUpdated || eventRP.carrierInformationUpdated>
<#if AddComma == true>
,
</#if>
]
<#break>
<#-- *********************************************** Action = SlotUpdated ******************** -->
<#case "SlotUpdated">
<#assign appointment = eventRP.data />
[
<#if eventRP.appointmentCustomFields?has_content>
{
<#assign apiRestReflexID = ApiRestReflexID.appointment_put_update_by_number>
"apiRestReflexID" : "${apiRestReflexID}",
"datas" :
<#include "RPtoRFX_CarrierAppointmentSlotUpdatedByNumber.ftl">
<#include "RPtoRFX_CarrierAppointmentSlotOrCarrierInformationUpdatedByNumber.ftl">
}
<#else>
{
<#assign apiRestReflexID = ApiRestReflexID.appointment_put_update_by_ref>
"apiRestReflexID" : "${apiRestReflexID}",
"datas" :
<#include "RPtoRFX_CarrierAppointmentSlotUpdatedByRef.ftl">
<#include "RPtoRFX_CarrierAppointmentSlotOrCarrierInformationUpdatedByRef.ftl">
}
</#if>
<#assign AddComma = true />
</#if>
]
<#break>
<#-- *********************************************** Action = SlotUpdated ******************** -->

View File

@@ -1,5 +1,5 @@
{
"id" : {"refid" : "${eventRP.refid?json_string}"},
"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}/status",
"method" : "PUT",
"uri_substitutions": {

View File

@@ -1,5 +1,5 @@
{
"id" : {"refid" : "${eventRP.refid?json_string}"},
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}/status",
"method" : "PUT",
"uri_substitutions": {

View File

@@ -1,2 +1,2 @@
<#-- To custom with cancellation reason code-->
<#-- To custom with cancellation reason code, the reason code must be cancellation type-->
"cancellation_reason_code": ""

View File

@@ -1,5 +1,5 @@
{
"id" : {"refid" : "${eventRP.refid?json_string}"},
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments",
"method" : "POST",
"uri_substitutions": {
@@ -12,15 +12,25 @@
<#case "APPOINTMENT_TYPE_LOADING">
"unloading_appointment" : "false",
"load_appointment" : "true",
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#break>
<#if appointment.TimeZone?? && appointment.TimeZone!="">
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#else>
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
</#if>
<#break>
<#case "APPOINTMENT_TYPE_UNLOADING">
"unloading_appointment" : "true",
"load_appointment" : "false",
"planned_unloading_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#break>
<#if appointment.TimeZone?? && appointment.TimeZone!="">
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#else>
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
</#if>
<#break>
<#default>
<#stop "appointment.AppointmentType not implemented" >
</#switch>
@@ -46,13 +56,9 @@
</#if>
<#else>
<#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING">
<#if appointment.Commissions[0].OrderID ?? && appointment.Commissions[0].OrderID!="">
"appointment_designation":"LOADING",
<#else>
"appointment_designation":"${(appointment.Reason!"")?json_string}",
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
"constant_appointment": "false"
}

View File

@@ -0,0 +1,21 @@
<#-- Note : you can use Order Line Metadata, using the define map : Line_MetaData_Map -->
<#-- Note : you can use Order Line Segmentation keys, using the define map : SegmentationKeys_Map -->
<#-- How to use MD or SK map
<#if appointment.CarrierInformation??>
<#assign CarrierInformation_Map = JsonUtil.sequenceToMap(appointment.CarrierInformation, "Key", "Value") />
<#if CarrierInformation_Map["Immatriculation"]??>
<#assign registration_number1 = CarrierInformation_Map["Immatriculation"].String!""/>
"registration_number":"${registration_number1}",
<#else>
"registration_number":"no plate number",
</#if>
</#if>
If your SK is :
Boolean : .Bool
Float : .Float
Timestamp : .Timestamp.DateTime or .Timestamp.AuthorTimeZone
Int : .Int
String : .String
-->

View File

@@ -2,8 +2,15 @@
<#-- Note : you can use Order Line Segmentation keys, using the define map : SegmentationKeys_Map -->
<#-- How to use MD or SK map
Example :
<#assign owner_code = SegmentationKeys_Map["Owner"].String!""/>
<#if appointment.CarrierInformation??>
<#assign CarrierInformation_Map = JsonUtil.sequenceToMap(appointment.CarrierInformation, "Key", "Value") />
<#if CarrierInformation_Map["Immatriculation"]??>
<#assign registration_number1 = CarrierInformation_Map["Immatriculation"].String!""/>
"registration_number":"${registration_number1}",
<#else>
"registration_number":"no plate number",
</#if>
</#if>
If your SK is :
Boolean : .Bool

View File

@@ -1,5 +1,5 @@
{
"id" : {"refid" : "${eventRP.refid?json_string}"},
"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}/physical_receipt_associations",
"method" : "POST",
"uri_substitutions": {
@@ -9,25 +9,18 @@
},
"payload" :
{
<#if appointment.Commissions??>
<#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING">
"physical_receipt_list": [
<#list eventRP.executionflowCustomFields.entrySet()?filter(l ->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>
</#list>
]
<#else>
<#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING">
"appointment_designation":"LOADING"
</#if>
</#if>
</#if>
<#assign executionflowCustomFields = eventRP.executionflowCustomFields >
"physical_receipt_list": [
<#list eventRP.addedCommissions as addedCommission>
{
"receipt_activity": "${executionflowCustomFields[addedCommission.ExecutionflowID].activity_code?json_string}",
"originator_code": "${executionflowCustomFields[addedCommission.ExecutionflowID].originator_code?json_string}",
"physical_receipt_reference": "${executionflowCustomFields[addedCommission.ExecutionflowID].reference?json_string}",
"receipt_year": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_year?json_string}",
"receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}"
}
<#sep>,</#sep>
</#list>
]
}
}

View File

@@ -1,5 +1,5 @@
{
"id" : {"refid" : "${eventRP.refid?json_string}"},
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}/physical_receipt_associations",
"method" : "POST",
"uri_substitutions": {
@@ -8,25 +8,18 @@
},
"payload" :
{
<#if appointment.Commissions??>
<#if appointment.AppointmentType == "APPOINTMENT_TYPE_UNLOADING">
"physical_receipt_list": [
<#list eventRP.executionflowCustomFields.entrySet()?filter(l ->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>
</#list>
]
<#else>
<#if appointment.AppointmentType == "APPOINTMENT_TYPE_LOADING">
"appointment_designation":"LOADING"
</#if>
</#if>
</#if>
<#assign executionflowCustomFields = eventRP.executionflowCustomFields >
"physical_receipt_list": [
<#list eventRP.addedCommissions as addedCommission>
{
"receipt_activity": "${executionflowCustomFields[addedCommission.ExecutionflowID].activity_code?json_string}",
"originator_code": "${executionflowCustomFields[addedCommission.ExecutionflowID].originator_code?json_string}",
"physical_receipt_reference": "${executionflowCustomFields[addedCommission.ExecutionflowID].reference?json_string}",
"receipt_year": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_year?json_string}",
"receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}"
}
<#sep>,</#sep>
</#list>
]
}
}

View File

@@ -0,0 +1,26 @@
{
"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}/physical_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 executionflowCustomFields = eventRP.executionflowCustomFields >
"physical_receipt_list": [
<#list eventRP.removedCommissions as removedCommission>
{
"receipt_activity": "${executionflowCustomFields[removedCommission.ExecutionflowID].activity_code?json_string}",
"originator_code": "${executionflowCustomFields[removedCommission.ExecutionflowID].originator_code?json_string}",
"physical_receipt_reference": "${executionflowCustomFields[removedCommission.ExecutionflowID].reference?json_string}",
"receipt_year": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_year?json_string}",
"receipt_number": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_number?json_string}"
}
<#sep>,</#sep>
</#list>
]
}
}

View File

@@ -0,0 +1,25 @@
{
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}/physical_receipt_dissociations",
"method" : "POST",
"uri_substitutions": {
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
"appointment_reference":"${eventRP.refid?json_string}"
},
"payload" :
{
<#assign executionflowCustomFields = eventRP.executionflowCustomFields >
"physical_receipt_list": [
<#list eventRP.removedCommissions as removedCommission>
{
"receipt_activity": "${executionflowCustomFields[removedCommission.ExecutionflowID].activity_code?json_string}",
"originator_code": "${executionflowCustomFields[removedCommission.ExecutionflowID].originator_code?json_string}",
"physical_receipt_reference": "${executionflowCustomFields[removedCommission.ExecutionflowID].reference?json_string}",
"receipt_year": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_year?json_string}",
"receipt_number": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_number?json_string}"
}
<#sep>,</#sep>
</#list>
]
}
}

View File

@@ -0,0 +1,38 @@
{
"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}",
"method" : "PUT",
"uri_substitutions": {
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
"appointment_year":"${eventRP.appointmentCustomFields.year?json_string}",
"appointment_number":"${eventRP.appointmentCustomFields.number?json_string}"
},
"payload" :
{
"unloading_appointment" : "${eventRP.appointmentCustomFields.unloading?json_string}",
"load_appointment" : "${eventRP.appointmentCustomFields.loading?json_string}",
<#switch appointment.AppointmentType>
<#case "APPOINTMENT_TYPE_LOADING">
<#if appointment.TimeZone?? && appointment.TimeZone!="">
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#else>
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
</#if>
<#break>
<#case "APPOINTMENT_TYPE_UNLOADING">
<#if appointment.TimeZone?? && appointment.TimeZone!="">
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#else>
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
</#if>
<#break>
<#default>
<#stop "appointment.AppointmentType not implemented" >
</#switch>
"appointment_designation":"${(appointment.Reason!"")!?json_string}"
}
}

View File

@@ -0,0 +1,39 @@
{
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}",
"method" : "PUT",
"uri_substitutions": {
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
"appointment_reference":"${eventRP.refid?json_string}"
},
"payload" :
{
<#switch appointment.AppointmentType>
<#case "APPOINTMENT_TYPE_LOADING">
"unloading_appointment" : "false",
"load_appointment" : "true",
<#if appointment.TimeZone?? && appointment.TimeZone!="">
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#else>
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
</#if>
<#break>
<#case "APPOINTMENT_TYPE_UNLOADING">
"unloading_appointment" : "true",
"load_appointment" : "false",
<#if appointment.TimeZone?? && appointment.TimeZone!="">
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#else>
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
</#if>
<#break>
<#default>
<#stop "appointment.AppointmentType not implemented" >
</#switch>
"appointment_designation":"${(appointment.Reason!"")!?json_string}"
}
}

View File

@@ -0,0 +1,39 @@
{
"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}",
"method" : "PUT",
"uri_substitutions": {
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
"appointment_year":"${eventRP.appointmentCustomFields.year?json_string}",
"appointment_number":"${eventRP.appointmentCustomFields.number?json_string}"
},
"payload" :
{
<#include "RPtoRFX_CarrierAppointmentDataUpdated.ftl">
"unloading_appointment" : "${eventRP.appointmentCustomFields.unloading?json_string}",
"load_appointment" : "${eventRP.appointmentCustomFields.loading?json_string}",
<#switch appointment.AppointmentType>
<#case "APPOINTMENT_TYPE_LOADING">
<#if appointment.TimeZone?? && appointment.TimeZone!="">
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#else>
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
</#if>
<#break>
<#case "APPOINTMENT_TYPE_UNLOADING">
<#if appointment.TimeZone?? && appointment.TimeZone!="">
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#else>
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
</#if>
<#break>
<#default>
<#stop "appointment.AppointmentType not implemented" >
</#switch>
"appointment_designation":"${(appointment.Reason!"")!?json_string}"
}
}

View File

@@ -0,0 +1,40 @@
{
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}",
"method" : "PUT",
"uri_substitutions": {
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
"appointment_reference":"${eventRP.refid?json_string}"
},
"payload" :
{
<#include "RPtoRFX_CarrierAppointmentDataUpdated.ftl">
<#switch appointment.AppointmentType>
<#case "APPOINTMENT_TYPE_LOADING">
"unloading_appointment" : "false",
"load_appointment" : "true",
<#if appointment.TimeZone?? && appointment.TimeZone!="">
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#else>
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
</#if>
<#break>
<#case "APPOINTMENT_TYPE_UNLOADING">
"unloading_appointment" : "true",
"load_appointment" : "false",
<#if appointment.TimeZone?? && appointment.TimeZone!="">
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#else>
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
</#if>
<#break>
<#default>
<#stop "appointment.AppointmentType not implemented" >
</#switch>
"appointment_designation":"${(appointment.Reason!"")!?json_string}"
}
}

View File

@@ -1,30 +0,0 @@
{
"id" : {"refid" : "${eventRP.refid?json_string}"},
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}",
"method" : "PUT",
"uri_substitutions": {
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
"appointment_year":"${eventRP.appointmentCustomFields.year?json_string}",
"appointment_number":"${eventRP.appointmentCustomFields.number?json_string}"
},
"payload" :
{
<#switch appointment.AppointmentType>
<#case "APPOINTMENT_TYPE_LOADING">
"unloading_appointment" : "false",
"load_appointment" : "true",
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#break>
<#case "APPOINTMENT_TYPE_UNLOADING">
"unloading_appointment" : "true",
"load_appointment" : "false",
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#break>
<#default>
<#stop "appointment.AppointmentType not implemented" >
</#switch>
"appointment_designation":"${(appointment.Reason!"")!?json_string}"
}
}

View File

@@ -1,29 +0,0 @@
{
"id" : {"refid" : "${eventRP.refid?json_string}"},
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}",
"method" : "PUT",
"uri_substitutions": {
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
"appointment_reference":"${eventRP.refid?json_string}"
},
"payload" :
{
<#switch appointment.AppointmentType>
<#case "APPOINTMENT_TYPE_LOADING">
"unloading_appointment" : "false",
"load_appointment" : "true",
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#break>
<#case "APPOINTMENT_TYPE_UNLOADING">
"unloading_appointment" : "true",
"load_appointment" : "false",
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
"planned_unloading_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
<#break>
<#default>
<#stop "appointment.AppointmentType not implemented" >
</#switch>
"appointment_designation":"${(appointment.Reason!"")!?json_string}"
}
}

View File

@@ -9,6 +9,23 @@
<#return dateutc?datetime.iso?iso_nz(locale)>
</#function>
<#-- -------------------------------------------------------------------------------------------- -->
<#-- Add second to dateTime ex: AddSecondsToDatetime("2025-11-17T09:15:00Z"?datetime.iso, 61) -->
<#-- -------------------------------------------------------------------------------------------- -->
<#function AddSecondsToDatetime date seconds>
<#assign timeInMilliseconds = (1000 * seconds) >
<#assign aDate = date?long + timeInMilliseconds>
<#return aDate?number_to_datetime>
</#function>
<#-- -------------------------------------------------------------------------------------------- -->
<#-- Duration between two datetimes in second -->
<#-- -------------------------------------------------------------------------------------------- -->
<#function DurationBetweenTwoDatetimeInSeconds startDate endDate>
<#return (endDate?long - startDate?long) / 1000 >
</#function>
<#-- --------------------------------------------------------------------------------------- -->
<#-- Split email reflex into json array string -->
<#-- Example : splitemail "john.doe@hardis-group.com,; name@hardis-group.com" -->

View File

@@ -1 +1 @@
1.2.51+1
1.2.58+3