Compare commits

...

635 Commits

Author SHA1 Message Date
7b1f594de3 Merge branch 'release/2.0' into 'main-2.0'
release/2.0 into main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!258
2026-03-11 11:07:49 +00:00
af0dd3fc66 Release 2.0.20+4 2026-03-11 12:06:57 +01:00
a8c85b40b4 Merge branch 'SCPN1-10414-2.0' into 'release/2.0'
SCPN1-10414-2.0 into release/2.0

See merge request r-d-technique/tiers/reflex-wms-connector!257
2026-03-11 11:04:05 +00:00
88550b45ac SCPN1-10414 2026-03-11 11:53:06 +01:00
e0f46af99e SCPN1-10414 2026-03-11 11:49:47 +01:00
b040ae5672 Merge branch 'release/2.0' into 'main-2.0'
release/2.0 into main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!256
2026-03-04 14:00:24 +00:00
5dd16bf4b5 Release 2.0.20+3 2026-03-04 14:59:50 +01:00
d7e56e6ecb Merge branch 'release/2.0' into 'main-2.0'
release/2.0 into main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!251
2026-03-02 14:18:52 +00:00
89b7ce149b Release 2.0.20+2 2026-03-02 15:18:18 +01:00
e673f7c134 Merge branch 'SCPN1-10253-2.0' into 'release/2.0'
SCPN1-10253-2.0 into release/2.0

See merge request r-d-technique/tiers/reflex-wms-connector!252
2026-03-02 14:09:14 +00:00
8898467d7c SCPN1-10253 2026-03-02 15:08:12 +01:00
cd9db2ddb0 Merge branch 'SCPN1-10253-2.0' into 'release/2.0'
SCPN1-10253 "2.0" to release 2.0

See merge request r-d-technique/tiers/reflex-wms-connector!248
2026-03-02 13:54:50 +00:00
7844fdd015 SCPN1-10294 2026-03-02 14:47:24 +01:00
8d806117fa SCPN1-10253 2026-03-02 12:07:22 +01:00
84d0f73281 SCPN1-10253 2026-03-02 11:59:16 +01:00
290b232f39 Merge branch 'release/2.0' into 'main-2.0'
release/2.0 into main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!241
2026-02-05 16:19:10 +00:00
868cc19e12 Release 2.0.20+1 2026-02-05 17:16:59 +01:00
689c9e870b Merge branch 'release/2.0' into 'main-2.0'
release/2.0 into main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!236
2026-02-05 09:18:56 +00:00
c334ee1fdc Release 2.0.19+1 2026-02-05 10:15:17 +01:00
50ca244177 Merge branch 'release-2.0-SCPN1-10100' into 'release/2.0'
release-2.0-SCPN1-10100 into release/2.0

See merge request r-d-technique/tiers/reflex-wms-connector!239
2026-02-05 08:32:12 +00:00
45aac87589 SCPN1-10100 2026-02-02 12:25:10 +01:00
b78d04bfba Merge branch 'release/2.0' into 'main-2.0'
release/2.0 into main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!232
2026-01-27 07:56:59 +00:00
4e436a918d Release 2.0.18+2 2026-01-27 08:56:06 +01:00
b21e75c8e2 Merge branch 'release2.0-SCPN1-10095' into 'release/2.0'
release2.0-SCPN1-10095 into release/2.0

See merge request r-d-technique/tiers/reflex-wms-connector!230
2026-01-27 07:53:20 +00:00
caefae873c SCPN1-10095
(cherry picked from commit c324773fad1b60fcc2fad64c853f1c4945209336)
2026-01-27 08:37:08 +01:00
f5c5afac1b SCPN1-10095
(cherry picked from commit 5552265833aa9ec73aae44a0b3464e110f98d46d)
2026-01-27 08:36:54 +01:00
1864bef8bb SCPN1-10095
(cherry picked from commit 8fe3dd364c3bf521f33b858cbe0ea1d96fbbd192)
2026-01-26 16:01:53 +01:00
62688a15c4 Merge branch 'release/2.0' into 'main-2.0'
release/2.0 into main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!227
2026-01-22 14:41:19 +00:00
4b5e20e6a9 Release 2.0.18+1 2026-01-22 15:35:54 +01:00
5fa439f297 Merge branch 'release2.0-fixv12' into 'release/2.0'
release2.0-fixv12 into release/2.0

See merge request r-d-technique/tiers/reflex-wms-connector!226
2026-01-22 13:20:22 +00:00
39914dbdde fixv12 2026-01-21 17:17:41 +01:00
fde8ffe813 Merge branch 'develop' into release2.0-fixv12 2026-01-21 17:16:09 +01:00
833821a8a3 SCPN1-10068 2026-01-21 14:50:17 +01:00
c556124565 SCPN1-10068 2026-01-21 10:55:03 +01:00
83d1fbfcaa RDV 2026-01-19 16:11:06 +01:00
509d47a979 SCPN1-10047 2026-01-19 13:53:33 +01:00
8128e55ede SCPN1-10047 2026-01-19 11:40:13 +01:00
0ef7219e29 SCPN1-10047 2026-01-19 11:36:09 +01:00
9a130211ba SCPN1-10047 2026-01-16 17:16:19 +01:00
6def04b358 SCPN1-10047 2026-01-16 17:14:20 +01:00
cd63035277 SCPN1-10047 2026-01-16 17:04:51 +01:00
2f04415f2e SCPN1-10047 2026-01-16 17:00:58 +01:00
8821916dc6 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2026-01-16 16:58:41 +01:00
474061200b SCPN1-10047 2026-01-16 16:58:36 +01:00
2098be0ce7 fix error syntax 2026-01-16 16:58:08 +01:00
e8bcece299 SCPN1-10047 2026-01-16 16:20:16 +01:00
cff6c1fd3f SCPN1-10040 2026-01-15 15:27:29 +01:00
46260b8241 rollback
(cherry picked from commit 0a34359e1240232c51a57431b9a4b8f95d717db3)
2026-01-15 09:32:15 +01:00
3e3091f194 SCPN1-9991 2026-01-14 11:56:56 +01:00
efddfdc821 hsrAntRec 2026-01-13 18:09:02 +01:00
e03da2db8d hsrAntRec
(cherry picked from commit 4496a4a2ce4de3653a264b25bcab2bf1b0ee2174)
2026-01-13 18:01:42 +01:00
f5c8640d11 The loading and unloading appointment is not yet managed.
(cherry picked from commit 7e57d91cb63c44699f3e2f60298bb8d75a283f4d)
2026-01-09 15:37:48 +01:00
db3e72699e Merge branch 'release/2.0' into 'main-2.0'
release/2.0 into main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!223
2026-01-08 17:01:55 +00:00
adf81809db Release 2.0.17+2 2026-01-08 17:49:13 +01:00
cdcae921fd Merge branch 'release-2.0-fix-1.12-FTL' into 'release/2.0'
release-2.0-fix-1.12-FTL into release/2.0

See merge request r-d-technique/tiers/reflex-wms-connector!221
2026-01-08 16:45:18 +00:00
109b8eb119 SCPN1-9943
(cherry picked from commit a6fec0c33329e6cd6f9db7bd8c675edc127d6ce6)
2026-01-08 15:39:06 +01:00
a6fec0c333 SCPN1-9943 2026-01-08 15:29:01 +01:00
eaeed34a73 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main2.0

See merge request r-d-technique/tiers/reflex-wms-connector!219
2026-01-08 09:30:52 +00:00
45258af56e Release 2.0.17+1 2026-01-08 10:27:50 +01:00
fcddee4196 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main2.0

See merge request r-d-technique/tiers/reflex-wms-connector!216
2026-01-08 07:56:14 +00:00
11c4386aaa Release 2.0.16+1 2026-01-08 08:51:23 +01:00
4d4578a88c Release 2.0.15+1 2026-01-08 08:49:45 +01:00
c0ebc698c8 Edit VERSION 2026-01-08 07:39:38 +00:00
81c67a8426 Release 2.0.16 2026-01-08 08:25:22 +01:00
8a6260f54d Merge branch 'release-2.0-fix-1.12-FTL' into 'release/2.0'
release-2.0-fix-1.12-FTL

See merge request r-d-technique/tiers/reflex-wms-connector!215
2026-01-07 16:54:57 +00:00
aba0cf5629 Merge branch 'develop' into release-2.0-fix-1.12-FTL 2026-01-07 16:25:50 +01:00
6bdd925601 rdz 2026-01-07 16:02:19 +01:00
9e8e20f6ce RDV 2026-01-07 14:08:07 +01:00
5006beed8c RDV 2026-01-07 11:50:10 +01:00
e2eb764e2e RDV 2026-01-07 09:08:13 +01:00
6b86a61015 RDV 2026-01-06 16:42:13 +01:00
b1c46cd0f1 RDV 2026-01-06 16:29:08 +01:00
e7c3154c56 SCPN1-9905 2026-01-06 14:53:53 +01:00
706c73a530 RDV 2026-01-06 14:37:00 +01:00
955928a754 RDV 2026-01-05 17:23:25 +01:00
ec76673e95 RDV 2026-01-05 16:40:32 +01:00
e6cd04b6bf RDV 2026-01-05 16:37:45 +01:00
2e3cd66843 RDV 2026-01-05 16:05:59 +01:00
2987a4fb38 RDV 2026-01-05 15:58:24 +01:00
d4a389737e RDV 2026-01-05 15:44:34 +01:00
3a14a46b18 RDV 2026-01-05 15:41:23 +01:00
808b2072ce RDV 2026-01-05 14:55:37 +01:00
9c22f7786f RDV 2026-01-02 09:30:45 +01:00
dcbd037b22 RDV 2025-12-23 16:07:44 +01:00
d92fa3e2df Merge branch 'release/2.0' into 'main-2.0'
Release/2.0

See merge request r-d-technique/tiers/reflex-wms-connector!213
2025-12-23 14:40:06 +00:00
44a4f5f0cc Release 2.0.15+2 2025-12-23 15:37:44 +01:00
03b2104500 Merge branch 'develop' into 'release/2.0'
Develop

See merge request r-d-technique/tiers/reflex-wms-connector!211
2025-12-23 14:35:48 +00:00
e1b1b8ad2d RDV 2025-12-23 15:23:43 +01:00
f66912121e RDV 2025-12-23 15:17:25 +01:00
b361f1fcf7 RDV 2025-12-23 14:54:53 +01:00
51b5fd7d17 RDV 2025-12-23 13:59:33 +01:00
e1d6e3ca3f RDV 2025-12-23 13:56:04 +01:00
861cd70eb9 RDV 2025-12-23 12:11:23 +01:00
b14e6c21ff RDV 2025-12-23 12:03:15 +01:00
c352775cd4 RDV 2025-12-23 11:54:02 +01:00
f1b0d1a5d4 RDV 2025-12-23 11:53:50 +01:00
fad0c31ae8 RDV 2025-12-23 11:52:49 +01:00
f81591371f RDV 2025-12-23 11:43:58 +01:00
7d0d4d5538 RDV 2025-12-23 11:38:32 +01:00
481bbcb1af RDV 2025-12-23 11:31:35 +01:00
6e4cc5549a RDV 2025-12-23 11:12:41 +01:00
ce415efc4e RDV 2025-12-23 10:30:55 +01:00
a6262045f4 RDV 2025-12-23 10:15:16 +01:00
3a7cfb555f RDV 2025-12-23 09:33:10 +01:00
249f9e3fbe RDV 2025-12-22 16:33:31 +01:00
3bd0cd26fd RDV 2025-12-22 16:27:11 +01:00
369a8b7e10 RDV 2025-12-22 16:23:47 +01:00
a3fc98c8d9 RDV 2025-12-22 16:07:50 +01:00
613cfcd377 RDV 2025-12-22 15:54:53 +01:00
c0bec9085b RDV 2025-12-22 15:50:33 +01:00
72143d38bd RDV 2025-12-22 15:48:26 +01:00
4faf7a3753 RDV 2025-12-22 15:35:21 +01:00
6ae403817f RDV 2025-12-22 15:28:42 +01:00
a661bcc5e6 RDV 2025-12-22 15:09:49 +01:00
82c4aea28e RDV 2025-12-22 11:30:31 +01:00
420d1cd0ef RDV 2025-12-22 10:28:09 +01:00
7db9eae7eb Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main2.0

See merge request r-d-technique/tiers/reflex-wms-connector!208
2025-12-19 12:56:08 +00:00
b173ee9ef0 Release 2.0.15+1 2025-12-19 13:53:12 +01:00
9b7ba855d5 Merge branch 'ftl-2.0-for-release1.12.1' into 'release/2.0'
ftl-2.0-for-release1.12.1

See merge request r-d-technique/tiers/reflex-wms-connector!207
2025-12-19 12:44:29 +00:00
dbe31fbb78 Merge branch 'develop' into ftl-2.0-for-release1.12.1 2025-12-19 11:13:25 +01:00
3d957d8572 RDV 2025-12-19 10:22:51 +01:00
edd5562ed5 RDV 2025-12-19 09:44:37 +01:00
0917a0b435 RDV 2025-12-18 10:23:24 +01:00
c16b522308 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main2.0

See merge request r-d-technique/tiers/reflex-wms-connector!205
2025-12-18 08:09:23 +00:00
d94ba65307 Release 2.0.14+1 2025-12-18 09:05:13 +01:00
0c3d1e2136 Merge branch 'ftl-2.0-for-release1.12' into 'release/2.0'
Ftl 2.0 for release1.12

See merge request r-d-technique/tiers/reflex-wms-connector!202
2025-12-18 07:50:51 +00:00
f0145706a6 RDV 2025-12-17 21:52:57 +01:00
190d484c9b RDV 2025-12-17 21:02:25 +01:00
e69022df0a Merge branch 'develop' into ftl-2.0-for-release1.12
# Conflicts:
#	RFXtoRP_HliPrepaL.ftl
#	RFXtoRP_HsaLstCarSta.ftl
#	RFXtoRP_HsrCarrierApt.ftl
#	RFXtoRP_HsrPrepa_GoodsPrepared_HandlingUnitMetadata.ftl
#	RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl
#	RFXtoRP_HsrReceiptList_ExecutionflowDetected_HeaderMetadata.ftl
#	RFXtoRP_RestResponse.ftl
#	ReflexUtils.ftl
2025-12-17 18:00:16 +01:00
2603c4ee27 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!200
2025-12-17 16:46:39 +00:00
eea8276d78 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!199
2025-12-17 16:45:44 +00:00
437a39f115 modif sur les rdz 2025-12-17 17:44:23 +01:00
b2afedf9f8 modif sur les rdz 2025-12-17 17:24:26 +01:00
a3283f5531 RDV 2025-12-17 17:23:59 +01:00
608bbb4aee RDV 2025-12-17 17:16:45 +01:00
793abba25f RDV 2025-12-17 17:00:04 +01:00
0ac201dbc5 RDV 2025-12-17 13:29:07 +01:00
1006b619d8 RDV 2025-12-17 09:59:24 +01:00
9d3c536993 RDV 2025-12-17 09:48:14 +01:00
95ba5b5990 RDV 2025-12-17 09:31:47 +01:00
29aa9fa187 RDV 2025-12-17 09:31:24 +01:00
68e695c084 RDV 2025-12-17 08:57:15 +01:00
91d134d02d RDV 2025-12-16 17:49:00 +01:00
f46aa46ae4 RDV 2025-12-16 17:24:58 +01:00
e73fb15ffe RDV 2025-12-16 17:13:31 +01:00
3504515b03 RDV 2025-12-16 16:56:47 +01:00
55c3d24f79 RDV 2025-12-16 16:41:29 +01:00
d6331bd8ca RDV 2025-12-16 11:49:36 +01:00
32c47dcf22 RDV 2025-12-16 11:46:18 +01:00
574cc16f10 RDV 2025-12-16 11:36:07 +01:00
0db8396224 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-12-16 11:30:21 +01:00
f242bf0d95 RDV 2025-12-16 11:30:16 +01:00
80e25c18d1 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!197
2025-12-16 10:18:03 +00:00
f7d10368f2 modif sur les rdz 2025-12-16 11:17:22 +01:00
59d170c599 RDV 2025-12-16 11:17:02 +01:00
17ae3b23bf rdv 2025-12-16 10:37:07 +01:00
7f3d3abb08 RDV 2025-12-16 10:33:00 +01:00
29e35d8ed1 RDV 2025-12-16 10:24:29 +01:00
dbb4a21e66 RDV 2025-12-15 17:14:37 +01:00
34133aabec RDV 2025-12-15 16:16:19 +01:00
cd7f2ecb22 RDV 2025-12-15 15:53:57 +01:00
67fb97753d RDV 2025-12-15 15:40:35 +01:00
c654ef5cf9 RDV 2025-12-15 15:38:17 +01:00
8caed06a9e RDV 2025-12-15 15:31:42 +01:00
c15b087c68 RDV 2025-12-15 15:15:04 +01:00
84bb2ca294 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!196
2025-12-12 17:15:37 +00:00
ecb0ede86e modif sur les rdz 2025-12-12 18:15:09 +01:00
540a6c9da6 RDV 2025-12-12 17:05:09 +01:00
21516ad815 RDV 2025-12-12 16:57:47 +01:00
a4b2fb2eef RDV 2025-12-12 16:48:11 +01:00
8f66226519 RDV 2025-12-12 15:30:21 +01:00
f0f0078e08 RDV 2025-12-12 15:18:00 +01:00
85e1dfd7d3 RDV 2025-12-12 15:15:21 +01:00
51198beafd RDV 2025-12-12 15:02:57 +01:00
503481e410 RDV 2025-12-12 14:57:08 +01:00
57db370c4c RDV 2025-12-12 14:54:21 +01:00
c47da0ae86 RDV 2025-12-12 14:49:32 +01:00
fbd3e74906 RDV 2025-12-12 14:39:20 +01:00
de2a95e83c RDV 2025-12-12 14:32:13 +01:00
ca1989b91a RDV 2025-12-12 14:08:55 +01:00
863253b7e0 RDV 2025-12-12 11:20:31 +01:00
a75167d7f0 RDV 2025-12-11 16:16:13 +01:00
108d29b5b3 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-12-11 15:49:27 +01:00
be4dcf11f6 RDV 2025-12-11 15:49:22 +01:00
ce9e528b70 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!195
2025-12-11 13:31:32 +00:00
261549ed60 modif sur les rdz 2025-12-11 14:28:51 +01:00
825ca2bc54 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!194
2025-12-11 13:05:15 +00:00
9c5741cc7f modif sur les rdz 2025-12-11 14:03:56 +01:00
0113829f9b RDV 2025-12-10 18:57:29 +01:00
08e1ac8c11 RDV 2025-12-10 18:46:27 +01:00
18c8a344bf RDV 2025-12-10 18:40:28 +01:00
87a120bb55 RDV 2025-12-10 18:36:58 +01:00
b1d66f66aa RDV 2025-12-10 18:35:04 +01:00
b0e231a38d RDV 2025-12-10 18:23:52 +01:00
e8551aa698 RDV 2025-12-10 18:00:14 +01:00
b24fe76a81 RDV 2025-12-10 14:16:46 +01:00
26e143efb0 RDV 2025-12-10 11:10:47 +01:00
65b34e6fe4 RDV 2025-12-10 11:08:40 +01:00
cb5f3aaa4e RDV 2025-12-10 11:02:43 +01:00
719f0ed475 RDV 2025-12-10 11:00:25 +01:00
c78be4ac9b RDV 2025-12-10 10:55:35 +01:00
268642a1fa RDV 2025-12-10 10:51:42 +01:00
bb20aae908 RDV 2025-12-10 10:48:08 +01:00
23de1ee9b1 RDV 2025-12-10 10:43:31 +01:00
396ad187da RDV 2025-12-09 17:01:00 +01:00
832efcc8f6 RDV 2025-12-09 10:43:48 +01:00
92eecba160 RDV 2025-12-09 10:33:39 +01:00
c635353b69 RDV 2025-12-09 08:47:01 +01:00
63a668340d RDV 2025-12-08 15:01:33 +01:00
7feb4a8242 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-12-08 15:00:04 +01:00
f5b20c2ac3 RDV 2025-12-08 14:59:56 +01:00
3e9cc53ced Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!193
2025-12-05 09:00:46 +00:00
30cd227b41 modif sur les rdz 2025-12-05 09:50:29 +01:00
efc642999d RDV 2025-12-04 15:17:54 +01:00
0180dfb342 RDV 2025-12-04 15:09:30 +01:00
562d8fbba8 RDV 2025-12-04 14:36:34 +01:00
c382107adc RDV 2025-12-04 14:13:24 +01:00
f3c607ce94 Custom 2025-12-04 11:45:54 +01:00
de580e5b2c HsrPro 2025-12-04 10:22:19 +01:00
7be9de856a RestResponse 2025-12-04 10:21:13 +01:00
a933def832 Merge branch 'develop-rdz' into 'develop'
update custom-field

See merge request r-d-technique/tiers/reflex-wms-connector!192
2025-12-03 17:13:27 +00:00
133050bf8c update custom-field 2025-12-03 18:12:27 +01:00
14ce3c586f Customfields receipt 2025-12-03 16:20:02 +01:00
5c52f62b1e EF customfields 2025-12-03 15:35:54 +01:00
7246a2a117 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main2.0

See merge request r-d-technique/tiers/reflex-wms-connector!190
2025-12-03 09:18:55 +00:00
ad040f82d0 Release 2.0.13+1 2025-12-03 10:17:44 +01:00
fe0f78a42e RDV 2025-12-01 13:43:15 +01:00
44187e0c24 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-12-01 13:34:22 +01:00
b259f1762f RDV 2025-12-01 13:34:15 +01:00
5c23ec6dec Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!189
2025-12-01 09:19:13 +00:00
ad15120def modif sur les rdz 2025-12-01 10:09:35 +01:00
ff28804bd5 DEV 2025-11-28 17:49:45 +01:00
8a43500c2b Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!188
2025-11-28 15:05:36 +00:00
52b8e3d68d modif sur les rdz 2025-11-28 16:05:14 +01:00
a4c892b9e7 Merge branch 'develop-rdz' into 'develop'
Develop rdz

See merge request r-d-technique/tiers/reflex-wms-connector!187
2025-11-27 13:51:06 +00:00
16f533bed4 Merge branch 'develop' into develop-rdz
# Conflicts:
#	RFXtoRP_HsrCarrierApt_SiteForceUpdateAppointment.ftl
2025-11-27 14:50:26 +01:00
07482da77d modif sur les rdz 2025-11-27 14:47:27 +01:00
df3df0e933 RDV 2025-11-26 17:35:20 +01:00
135862972d RDV 2025-11-26 15:39:33 +01:00
b2ca7897eb RDV 2025-11-26 15:33:10 +01:00
d7c78145ea RDV 2025-11-26 14:43:05 +01:00
d355aa5676 RDV 2025-11-26 11:58:44 +01:00
a9aac3269e Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main2.0

See merge request r-d-technique/tiers/reflex-wms-connector!186
2025-11-26 08:44:03 +00:00
979b90fdb3 Release 2.0.12+1 2025-11-26 09:39:50 +01:00
64e46cace2 Merge branch 'develop-rdz' into 'develop'
Develop rdz

See merge request r-d-technique/tiers/reflex-wms-connector!184
2025-11-25 13:38:02 +00:00
c004d7f36c Merge branch 'develop' into develop-rdz 2025-11-25 14:37:37 +01:00
65b4ed7482 modif sur les rdz 2025-11-25 14:36:44 +01:00
2f09297593 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!183
2025-11-25 13:19:49 +00:00
22d11ff07e modif sur les rdz 2025-11-25 14:18:29 +01:00
d3ffb379b6 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!182
2025-11-25 12:47:28 +00:00
39f654c95a modif sur les rdz 2025-11-25 13:30:00 +01:00
97ed60c7fa RDV 2025-11-25 11:30:50 +01:00
d6724025ee RDV 2025-11-25 10:46:12 +01:00
178e73d81b RDV 2025-11-24 15:46:31 +01:00
7bf4f67caf Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!181
2025-11-24 14:05:13 +00:00
9150d2fe1b modif sur les rdz 2025-11-24 15:03:30 +01:00
e81c062092 RDV 2025-11-24 14:24:07 +01:00
efd6a52332 RDV 2025-11-24 13:40:17 +01:00
613bd9739b Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!180
2025-11-21 15:05:29 +00:00
e0c159215b modif sur les rdz 2025-11-21 16:05:12 +01:00
899b0fd4c2 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!179
2025-11-21 14:53:29 +00:00
df49304c05 modif sur les rdz 2025-11-21 14:45:29 +01:00
2f4280a4da RDV 2025-11-21 11:47:10 +01:00
806af7a011 RDV 2025-11-21 11:46:23 +01:00
1caf5b830f Merge branch 'develop-rdz' into 'develop'
Develop rdz

See merge request r-d-technique/tiers/reflex-wms-connector!178
2025-11-20 16:34:47 +00:00
6eea1ad67f Merge branch 'develop' into develop-rdz 2025-11-20 17:34:28 +01:00
243482af3b modif sur les rdz 2025-11-20 17:34:07 +01:00
a678df969c RDV 2025-11-20 17:02:30 +01:00
d4b7b7de82 RDV 2025-11-20 16:09:29 +01:00
0b03e04865 Merge branch 'develop-rdz' into 'develop'
no message

See merge request r-d-technique/tiers/reflex-wms-connector!177
2025-11-20 12:29:55 +00:00
9129186a5a no message 2025-11-20 13:29:39 +01:00
2a9162f31b Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!176
2025-11-20 12:12:46 +00:00
b691a8bf21 modif sur les rdz 2025-11-20 13:12:29 +01:00
359b416b97 RDV 2025-11-20 11:15:02 +01:00
c273754d49 RDV 2025-11-20 10:11:22 +01:00
64f3a77fb5 RDV 2025-11-20 09:33:41 +01:00
429d9588b2 RDV 2025-11-20 09:09:27 +01:00
e3bbaa0211 RDV 2025-11-19 17:57:11 +01:00
9a458be469 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-11-19 17:52:59 +01:00
8be4f0e949 RDV 2025-11-19 17:52:50 +01:00
c0aeb305af Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!175
2025-11-19 16:51:03 +00:00
39e2272e67 modif sur les rdz 2025-11-19 17:50:50 +01:00
4d9f26f260 RDV 2025-11-19 17:18:37 +01:00
7233859ed8 RDV 2025-11-19 17:16:16 +01:00
5f9f912347 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!174
2025-11-19 12:20:30 +00:00
f0d37c04ed modif sur les rdz 2025-11-19 13:20:18 +01:00
a5891999f2 RDV 2025-11-19 11:55:43 +01:00
d7693249ca Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!173
2025-11-19 10:45:29 +00:00
65ba8e94c9 modif sur les rdz 2025-11-19 11:45:12 +01:00
ced9c8adab Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!172
2025-11-19 09:59:07 +00:00
db60006e94 modif sur les rdz 2025-11-19 10:58:52 +01:00
52cbace27a Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-11-19 10:54:01 +01:00
2a129f1b9c RDV 2025-11-19 10:53:55 +01:00
45e2779b58 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!171
2025-11-19 09:53:32 +00:00
1bff43fe8d modif sur les rdz 2025-11-19 10:53:16 +01:00
08e9b9b9eb rdv 2025-11-19 10:48:56 +01:00
a176edd4c6 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!170
2025-11-19 09:11:01 +00:00
35440a5eb3 modif sur les rdz 2025-11-19 10:10:45 +01:00
2432b37d64 RDV 2025-11-18 15:36:02 +01:00
8cbfa04ac1 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-11-18 15:26:44 +01:00
28c5cabbc3 RDV 2025-11-18 15:25:06 +01:00
861766cbe4 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!169
2025-11-18 14:23:10 +00:00
1168bfc50f modif sur les rdz 2025-11-18 15:18:52 +01:00
3f1711728a RDV 2025-11-18 15:12:41 +01:00
256e747c48 RDV 2025-11-18 11:57:00 +01:00
d03f3bb7a0 RDV 2025-11-18 11:06:35 +01:00
9018609ca1 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!168
2025-11-18 09:49:02 +00:00
ae47fda38f modif sur les rdz 2025-11-18 10:48:46 +01:00
f57276f088 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!167
2025-11-18 09:42:04 +00:00
138dd801d2 modif sur les rdz 2025-11-18 10:41:35 +01:00
db0e4df78d Merge branch 'develop-rdz' into 'develop'
Develop rdz

See merge request r-d-technique/tiers/reflex-wms-connector!166
2025-11-17 16:59:10 +00:00
5df1ebe54b Merge branch 'develop' into develop-rdz 2025-11-17 17:58:40 +01:00
4bfd6e7a4f modif sur les rdz 2025-11-17 17:58:20 +01:00
cdab58da71 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!165
2025-11-17 16:39:36 +00:00
065d4c026b modif sur les rdz 2025-11-17 17:39:15 +01:00
b930c0eb40 Merge branch 'develop-rdz' into 'develop'
Develop rdz

See merge request r-d-technique/tiers/reflex-wms-connector!164
2025-11-17 16:32:00 +00:00
6c1a19ad04 Merge branch 'develop' into develop-rdz 2025-11-17 17:31:39 +01:00
7ff859420a modif sur les rdz 2025-11-17 17:31:23 +01:00
789e2e6c19 Merge branch 'develop-rdz' into 'develop'
modif sur les rdz

See merge request r-d-technique/tiers/reflex-wms-connector!163
2025-11-17 09:05:02 +00:00
1dcf91bf71 modif sur les rdz 2025-11-17 10:02:33 +01:00
068ef56d25 Merge branch 'develop-rdz' into 'develop'
Develop rdz

See merge request r-d-technique/tiers/reflex-wms-connector!162
2025-11-17 08:46:03 +00:00
c9050d837a Merge branch 'develop' into develop-rdz 2025-11-17 09:45:24 +01:00
e83186cc3f modif sur les rdz 2025-11-17 09:45:06 +01:00
355e170831 Merge branch 'develop-rdz' into 'develop'
Develop rdz

See merge request r-d-technique/tiers/reflex-wms-connector!161
2025-11-14 13:32:28 +00:00
53006d3fa1 Merge branch 'develop' into develop-rdz
# Conflicts:
#	RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl
2025-11-14 14:29:40 +01:00
4648c02a2c modif sur les rdz 2025-11-14 14:27:33 +01:00
8f8f26d2a2 mails 2025-11-13 10:09:11 +01:00
b4f11ef83d SCPN1-8643 2025-11-13 10:02:56 +01:00
a2fd6f1145 Merge branch 'develop' into develop-rdz
# Conflicts:
#	RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl
2025-11-12 17:14:12 +01:00
bd7b24fed7 modif sur les rdz 2025-11-12 17:10:56 +01:00
9c38272c6c SCPN1-9640 2025-11-12 16:37:15 +01:00
e09c0fecda SCPN1-9640 2025-11-12 16:33:27 +01:00
5477fbd66a SCPN1-8643 2025-11-12 16:30:59 +01:00
a151a0b655 Revert "SCPN1-9640"
This reverts commit 894031cc496634f5f5d2a63d043f4cc7a72b0613.
2025-11-10 14:45:26 +01:00
bf365ba170 SCPN1-9640 2025-11-10 14:23:57 +01:00
894031cc49 SCPN1-9640 2025-11-10 14:22:40 +01:00
d895bac137 version 1 des FTL des RDZ 2025-11-07 10:07:21 +01:00
ec844cbe49 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main2.0

See merge request r-d-technique/tiers/reflex-wms-connector!159
2025-11-06 10:11:10 +00:00
ab9e892640 Release 2.0.11+1 2025-11-06 11:09:15 +01:00
39c8280fa4 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main2.0

See merge request r-d-technique/tiers/reflex-wms-connector!157
2025-11-04 09:35:47 +00:00
00f34c1bc2 Release 2.0.10+2 2025-11-04 10:31:20 +01:00
0406c9b8cc Merge branch 'release2.0-SCPN1-9601' into 'release/2.0'
release 2.0 SCPN1-9601

See merge request r-d-technique/tiers/reflex-wms-connector!156
2025-11-04 09:28:21 +00:00
ceb33abfca SCPN1-9601
(cherry picked from commit 9214df8b96ef9f8864bae3d7ab49ca4fdc6f6c43)
2025-11-04 10:22:37 +01:00
9214df8b96 SCPN1-9601 2025-11-04 10:02:37 +01:00
bfbf654ee2 SCPN1-9577 2025-10-30 14:47:34 +01:00
0adef4a1f3 Brand 2025-10-30 11:50:35 +01:00
7cbc5111e9 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main2.0

See merge request r-d-technique/tiers/reflex-wms-connector!155
2025-10-29 09:49:58 +00:00
9521679a8d Release 2.0.10+1 2025-10-29 10:48:35 +01:00
0d3b459386 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main 2.0

See merge request r-d-technique/tiers/reflex-wms-connector!152
2025-10-24 08:41:23 +00:00
3dfb366ac7 Release 2.0.9+1 2025-10-24 10:38:43 +02:00
5b6d3749bc Merge branch 'release2.0-SCPN1-9399' into 'release/2.0'
SCPN1-9399 to release 2.0

See merge request r-d-technique/tiers/reflex-wms-connector!147
2025-10-24 08:34:57 +00:00
cc7da39c20 json_string order
(cherry picked from commit d116ab3856fd765f1f1f5588a6b2b2ecf5cde0a1)
2025-10-22 17:02:03 +02:00
e9c7594555 SCPN1-9399SCPN1-9399 2025-10-22 16:19:05 +02:00
18473a26a1 SCPN1-9399 2025-10-22 16:14:56 +02:00
a46b06fa3d SCPN1-9399 2025-10-22 14:59:19 +02:00
ebd45f67bc SCPN1-9399 2025-10-22 14:56:11 +02:00
d116ab3856 json_string order 2025-10-22 14:29:37 +02:00
d4bca7fabc Merge branch 'release/2.0' into release2.0-SCPN1-9399 2025-10-21 18:16:12 +02:00
c93657a95f SCPN1-9399 2025-10-21 16:19:01 +02:00
01b70e6bb2 SCPN1-9399
(cherry picked from commit f8c4e5d79dd5276f04ee743298c14e5b9c23654c)
2025-10-21 16:14:38 +02:00
498e9ab448 Coorection HliPrepaL
(cherry picked from commit 4f8317f007e3538622b4a2f78c59cd26fb0e0b28)
2025-10-21 16:14:27 +02:00
9d7b3ec2f1 readme
(cherry picked from commit 039e984ec05f6b57a4d3b4fd51180b1a3fd5c0b3)
2025-10-21 16:14:14 +02:00
4f7255d9e8 nouvelle marque
(cherry picked from commit eafbf7a6e32423b13609e55e72592fbaabf092f3)
2025-10-21 16:13:46 +02:00
b3366a3597 Brand 2025-10-21 15:36:15 +02:00
f8c4e5d79d SCPN1-9399 2025-10-21 11:39:54 +02:00
4f8317f007 Coorection HliPrepaL 2025-10-20 15:49:28 +02:00
b783e7dcc1 customFields delete payload 2025-10-17 14:25:35 +02:00
71fdf435bd Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 to main 2.0

See merge request r-d-technique/tiers/reflex-wms-connector!151
2025-10-16 13:50:08 +00:00
0336a69c3a Release 2.0.8+4 2025-10-16 15:47:04 +02:00
42cf113e71 Merge branch 'release-2.0-SCPN1-9437' into 'release/2.0'
SCPN1-9437 to release 2.0

See merge request r-d-technique/tiers/reflex-wms-connector!148
2025-10-16 13:39:30 +00:00
30c48670c3 SCPN1-9437
(cherry picked from commit 791a958b4d2a0d1a0fc5ebeb9535207d1d2177af)
2025-10-16 15:05:23 +02:00
794d9a3b69 SCPN1-9437
(cherry picked from commit 5bdd9fbfe16fdbf65dd018a643e69adece90546a)
2025-10-16 15:05:10 +02:00
549767f035 SCPN1-9437
(cherry picked from commit 93a0fbd79c9f5a0db9b5f2513819d209fee99f3a)
2025-10-16 15:04:55 +02:00
91916d9100 SCPN1-9437
(cherry picked from commit ae27efacf30349388d5d913cd11bceeed2b951e1)
2025-10-16 15:04:43 +02:00
039e984ec0 readme 2025-10-16 10:07:03 +02:00
791a958b4d SCPN1-9437 2025-10-14 17:09:53 +02:00
0732360ff3 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-10-14 12:05:49 +02:00
5bdd9fbfe1 SCPN1-9437 2025-10-14 12:05:44 +02:00
15430bea94 SCPN1-9400 2025-10-14 11:23:55 +02:00
93a0fbd79c SCPN1-9437 2025-10-13 15:31:14 +02:00
ae27efacf3 SCPN1-9437 2025-10-13 14:25:08 +02:00
b4677ea095 test 2025-10-13 13:31:57 +02:00
eafbf7a6e3 nouvelle marque 2025-10-13 12:03:45 +02:00
a262140b4b SCPN1-9400 2025-10-08 15:58:21 +02:00
dd3fb8c1a9 SCPN1-9094
(cherry picked from commit 8ca640ca383f3e43385e70ed28ee7d6bd004d347)
2025-10-08 09:29:28 +02:00
3525d80390 SCPN1-9094
(cherry picked from commit 4129dfdd5817f3513c68427a679a0a2968604b86)
2025-10-08 09:29:17 +02:00
6080d1a959 SCPN1-8956 2025-10-03 10:04:03 +02:00
a98b0ef16b Merge branch 'develop-SCPN1-9094' into 'develop'
Resolve SCPN1-9094 "Develop "

Closes SCPN1-9094

See merge request r-d-technique/tiers/reflex-wms-connector!144
2025-10-01 07:52:59 +00:00
8ca640ca38 SCPN1-9094 2025-09-29 17:44:43 +02:00
4129dfdd58 SCPN1-9094 2025-09-29 14:55:51 +02:00
7f55b4f86a Merge branch 'release/2.0' into 'main-2.0'
Release 2.0 to main 2.0

See merge request r-d-technique/tiers/reflex-wms-connector!142
2025-09-26 07:24:15 +00:00
b29f28997a Release 2.0.8+3 2025-09-26 09:23:02 +02:00
fc18c04521 Merge branch 'SCPN1-9348-2.0' into 'release/2.0'
SCPN1-9348-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!141
2025-09-26 07:12:06 +00:00
f4b0561643 SCPN1-9348
(cherry picked from commit a6628be34ea6a0a3bd9e0063fe13df8c29c99f58)
2025-09-25 16:31:24 +02:00
a6628be34e SCPN1-9348 2025-09-25 16:23:34 +02:00
ca5ba7c103 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 -> Main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!139
2025-09-24 08:25:40 +00:00
12e157078c Release 2.0.8+2 2025-09-24 10:22:52 +02:00
ac7936a675 Merge branch 'SCPN1-9338' into 'release/2.0'
SCPN1-9338

See merge request r-d-technique/tiers/reflex-wms-connector!138
2025-09-24 08:20:38 +00:00
36804fef81 Correction transfert
(cherry picked from commit 4fd4007794f1ef0e98bad7d3a8d38dd33cdbd238)
2025-09-24 10:13:06 +02:00
4fd4007794 Correction transfert 2025-09-23 10:17:39 +02:00
7e054d70d2 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 -> Main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!135
2025-09-09 07:31:32 +00:00
c1023741bb Release 2.0.8+1 2025-09-09 09:25:04 +02:00
db40be98f4 Merge branch 'SCPN1-9296-2.0' into 'release/2.0'
SCPN1-9296-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!133
2025-09-09 07:22:15 +00:00
6b7592559b Correction list
(cherry picked from commit 9b07206cf465356b47fa437c997672ce4f8f8789)
2025-09-09 08:59:50 +02:00
9b07206cf4 Correction list 2025-09-09 08:13:56 +02:00
9db774f2b1 Renotified
(cherry picked from commit 8d4721576fda47a1023ba24a67a56c212a1c082d)
2025-09-08 18:02:24 +02:00
8d4721576f Renotified 2025-09-08 16:43:25 +02:00
75ab1602d4 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 -> Main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!131
2025-09-08 08:57:49 +00:00
8cb5f4d0b5 Release 2.0.7+2 2025-09-08 10:43:06 +02:00
75f791bf62 Merge branch 'SCPN1-9288-2.0' into 'release/2.0'
SCPN1-9288

See merge request r-d-technique/tiers/reflex-wms-connector!129
2025-09-08 08:38:13 +00:00
aab63ed3ee Corrections 250908
(cherry picked from commit 6b0d53926f50d20d832a574f9065fab25430f022)
2025-09-08 10:31:29 +02:00
6b0d53926f Corrections 250908 2025-09-08 10:01:04 +02:00
7c15a16e57 SCPN1-9254 2025-08-29 11:48:14 +02:00
831e6f098b Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 -> Main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!127
2025-08-26 14:41:50 +00:00
3c579500ef Release 2.0.7+1 2025-08-26 16:23:14 +02:00
c04c8c581f Merge branch 'v11-connector-2.0' into 'release/2.0'
v11-connector-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!124
2025-08-26 13:56:52 +00:00
7cdacb981b Merge branch 'develop' into v11-connector-2.0
# Conflicts:
#	README.md
#	RFXtoRP_HsrReceiptList.ftl
#	RFXtoRP_HsrReceiptList_TransfertExecutionflowCancelled.ftl
#	RFXtoRP_HsrReceiptList_TransfertExecutionflowDetected.ftl
#	RFXtoRP_HsrReceiptList_TransfertExecutionflowReceiptCompleted.ftl
#	RFXtoRP_HsrReceiptList_TransfertReceiptExpected.ftl
#	RPtoRFX_PrepOrder.ftl
#	RPtoRFX_Receipt_LineMetadata.ftl
#	VERSION
2025-08-26 15:41:00 +02:00
18adbf609d Release 2.0.6+1 2025-08-26 11:03:29 +02:00
9a456ac412 modif hsaipgmove receipt number line 2025-08-25 16:47:37 +02:00
cb8f9d84b2 readme 2025-08-07 16:38:25 +02:00
f6fb052e8c Modif OptionalAttributes 2025-08-07 11:03:45 +02:00
828fe74f5b controle line-list 2025-08-06 11:03:31 +02:00
fa59170f4d Controle line_list 2025-08-06 10:12:28 +02:00
db7d673b07 ajout controle 2025-08-05 17:19:51 +02:00
92b4f80170 Modif 2025-08-05 17:10:28 +02:00
5063703e56 Enlever un controle sur le D transfert 2025-08-05 16:43:20 +02:00
544cecb4f2 Modif RPtoRFX 2025-08-05 13:54:38 +02:00
06bd2c2520 SCPN1-9104 2025-07-22 11:39:19 +02:00
c4d328235f SCPN1-9104 2025-07-22 11:36:46 +02:00
6adc190531 SCPN1-9104 2025-07-22 11:33:16 +02:00
4419794595 SCPN1-9104 2025-07-22 11:30:28 +02:00
2544ee3983 SCPN1-9104 2025-07-22 11:26:53 +02:00
3e978f8d75 SCPN1-9104 2025-07-22 11:20:18 +02:00
bef91763b1 SCPN1-9104 2025-07-22 11:11:07 +02:00
f7ff9071af SCPN1-9104 2025-07-22 11:03:32 +02:00
0f5052308b SCPN1-9104 2025-07-22 10:38:18 +02:00
842bdac857 SCPN1-9104 2025-07-22 10:23:40 +02:00
974cb0a3d4 supression commentaire 2025-07-18 17:02:50 +02:00
3d2670b9a2 SCPN1-9084 2025-07-15 14:57:59 +02:00
43855289ed hsadispute 2025-07-11 16:56:56 +02:00
25044dca56 hsadispute 2025-07-11 16:52:38 +02:00
7f6442450b hsadispute 2025-07-11 15:58:42 +02:00
9d6fabef0b hsadispute 2025-07-11 15:26:33 +02:00
577d5272e9 hsadispute 2025-07-11 15:19:18 +02:00
42fd531289 Hsadispute 2025-07-11 14:49:09 +02:00
bc7b677ada modif hsaipgmove 2025-07-10 12:00:51 +02:00
f829fa6310 modif réception 2025-07-10 11:57:52 +02:00
d9445d9ad5 modif 2025-07-10 11:39:46 +02:00
19de302683 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 -> Main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!123
2025-07-10 09:36:18 +00:00
6f361e1ffe Release 2.0.5+1 2025-07-10 11:32:33 +02:00
43e0a5ad0d Merge branch 'SCPN1-8991-8980-9059-2.0' into 'release/2.0'
SCPN1-8991-8980-9059-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!121
2025-07-10 09:31:47 +00:00
a605e98ccd modif hsadispute created 2025-07-10 11:04:16 +02:00
804ceb25f3 Modif Réception 2025-07-10 10:33:34 +02:00
17184ed314 SCPN1-9059 2025-07-10 09:55:20 +02:00
2a036decc0 SCPN1-9059 2025-07-10 09:54:08 +02:00
70b437619a SCPN1-9059 2025-07-09 18:17:05 +02:00
a60c20d707 SCPN1-8871 2025-07-09 16:42:20 +02:00
da69788478 SCPN1-9059 2025-07-09 15:10:20 +02:00
5d7427b0a0 SCPN1-9059 2025-07-09 15:00:03 +02:00
94e988ac56 Modif hsaIpgMove 2025-07-08 17:22:01 +02:00
a5e4cad965 Modif HsrPro Detected 2025-07-08 17:06:42 +02:00
c33c54ed92 Modif HsrPrepa Carrier Updated 2025-07-08 16:55:20 +02:00
03ca7d0ef7 modif Hsrprepa Carrier Updated 2025-07-08 16:53:43 +02:00
4ffaf0ec73 SCPN1-8871 2025-07-03 15:09:53 +02:00
bcd2d995c2 SCPN1-8987 2025-07-02 15:51:11 +02:00
578afb23ef SCPN1-8980
(cherry picked from commit f5971a6b06a141c4f3634ec76adf0e3f567e028c)
2025-07-02 14:37:45 +02:00
a85eb86c99 SCPN1-8991
(cherry picked from commit 9d7293d92eb9f4b07886ab11f7ed59a2a6f7aaa1)
(cherry picked from commit fb329894ccf8e618135eea2c9ca9f13c87316ec0)
2025-07-01 15:44:15 +02:00
fb329894cc SCPN1-8991
(cherry picked from commit 9d7293d92eb9f4b07886ab11f7ed59a2a6f7aaa1)
2025-07-01 15:43:18 +02:00
f5971a6b06 SCPN1-8980 2025-06-30 16:03:38 +02:00
4256228eb1 Modif 2025-06-25 11:00:55 +02:00
a610e0b077 modif 2025-06-24 18:10:49 +02:00
6fb9fd6685 SCPN1-8863 2025-06-24 18:04:55 +02:00
b40bde6d19 SCPN1-8863 2025-06-24 17:44:55 +02:00
cfc2c35e4f SCPN1-8863 2025-06-24 17:22:11 +02:00
bdc59a2c20 modifs transfert 2025-06-24 10:59:07 +02:00
6d4e2d5949 Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 -> Main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!115
2025-06-20 15:59:43 +00:00
706d1d057a Release 2.0.4+1 2025-06-20 17:57:11 +02:00
af99f0d11f Ajout controle 2025-06-16 11:38:53 +02:00
645a1cda86 ajout controle 2025-06-16 11:21:49 +02:00
18cecd64aa Ajout controle 2025-06-16 11:12:20 +02:00
93db70c433 Correction syntaxe 2025-06-16 11:06:43 +02:00
0e9d31ea17 Ajout controle 2025-06-16 11:03:02 +02:00
9c27dbf768 Ajout controle 2025-06-16 10:54:19 +02:00
877e31529a SCPN1-8871 2025-06-13 15:19:49 +02:00
6ebda9ab09 SCPN1-8871 2025-06-13 15:04:29 +02:00
54d0fc4575 SCPN1-8871 2025-06-13 11:58:42 +02:00
8d74d8f085 SCPN1-8871 2025-06-13 11:49:45 +02:00
53640ab313 SCPN1-8863 2025-06-12 13:40:35 +02:00
8d9072da4a SCPN1-8863 2025-06-12 13:06:35 +02:00
fa17314de3 SCPN1-8863 2025-06-12 11:52:26 +02:00
b01ba5205b SCPN1-8871 2025-06-11 15:09:44 +02:00
2abe538825 SCPN1-8871 2025-06-11 15:07:19 +02:00
f1ef756198 SCPN1-8871 2025-06-11 14:32:31 +02:00
ab6aef0026 SCPN1-8871 2025-06-11 14:15:45 +02:00
122122db8c SCPN1-8864 2025-06-11 12:09:43 +02:00
14b8a9a534 SCPN1-8864 2025-06-11 12:00:09 +02:00
372f5d2239 SCPN1-8864 2025-06-11 09:25:28 +02:00
4c3d6fbea6 SCPN1-8871 2025-06-10 17:07:09 +02:00
5e4bcbccbe SCPN1-8871 2025-06-10 15:49:55 +02:00
72ec763cc5 SCPN1-8871 2025-06-10 14:51:50 +02:00
a17bfd876c SCPN1-8871 2025-06-10 14:48:31 +02:00
bbe97fba7f SCPN1-8871 2025-06-10 14:47:59 +02:00
44830bcd10 SCPN1-8871 2025-06-10 14:34:34 +02:00
a6a42f79a6 SCPN1-8871 2025-06-10 13:29:55 +02:00
1be3af7cf1 SCPN1-8871 2025-06-10 11:50:03 +02:00
44e8afd18c SCPN1-8871 2025-06-09 17:36:12 +02:00
236dc49de2 SCPN1-8871 2025-06-09 17:23:29 +02:00
3f916b564d SCPN1-8871 2025-06-09 17:06:34 +02:00
5b74e7f1d3 SCPN1-8871 2025-06-09 16:56:53 +02:00
c3163e39d3 SCPN1-8871 2025-06-09 16:25:27 +02:00
34beb5fddf SCPN1-8871 2025-06-09 16:18:40 +02:00
1d6222e6cc SCPN1-8871 2025-06-09 15:56:49 +02:00
40f4396dfa SCPN1-8871 2025-06-09 15:37:47 +02:00
8d453bd599 SCPN1-8871 2025-06-09 15:28:26 +02:00
6e855c31dd SCPN1-8863 2025-06-06 17:23:27 +02:00
2e68e1e839 SCPN1-8863 2025-06-06 17:11:50 +02:00
8ea0c3a1c2 SCPN1-8863 2025-06-06 17:05:51 +02:00
6823a0aeb1 SCPN1-8863 2025-06-06 16:55:24 +02:00
fcc7d30336 SCPN1-8863 2025-06-06 16:44:41 +02:00
ca36d6688e SCPN1-8863 2025-06-06 16:25:00 +02:00
4d0382970f Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 -> Main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!113
2025-05-27 08:00:16 +00:00
20404a16df Release 2.0.3+1 2025-05-27 09:57:49 +02:00
7d4a28d5bb Merge branch 'SCPN1-8800-2.0' into 'release/2.0'
SCPN1-8800 into release 2.0

See merge request r-d-technique/tiers/reflex-wms-connector!111
2025-05-27 07:10:46 +00:00
78642ec0d6 SCPN1-8800
(cherry picked from commit 9a7f669192f1b9ed1fec6814568c4cacda7c0bc1)
2025-05-26 16:59:21 +02:00
9a7f669192 SCPN1-8800 2025-05-26 10:08:22 +02:00
218cf62dae Merge branch 'release/2.0' into 'main-2.0'
Release/2.0 -> Main-2.0

See merge request r-d-technique/tiers/reflex-wms-connector!109
2025-05-13 12:53:01 +00:00
425bf5cb16 Release 2.0.2+2 2025-05-13 14:44:01 +02:00
e7a39a2c5d Merge branch 'SCPN1-8728-8696' into 'release/2.0'
SCPN1-8728-8696

See merge request r-d-technique/tiers/reflex-wms-connector!106
2025-05-13 12:42:30 +00:00
d87942900b SCPN1-8728-8696 2025-05-13 11:19:35 +02:00
b0e7dc18d7 SCPN1-8696 2025-05-13 10:59:34 +02:00
6b1d598a75 SCPN1-8729 2025-05-12 13:41:38 +02:00
871648ca6d SCPN1-8728 2025-05-12 10:00:32 +02:00
003a4e1e59 SCPN1-8728 2025-05-12 09:51:54 +02:00
b7743f00fb SCPN1-8695 2025-04-28 13:44:29 +02:00
ffad895309 SCPN1-8696 2025-04-28 13:31:39 +02:00
c7bce6018b clean README 2025-04-25 08:56:02 +00:00
6ed0f8e9da Merge branch 'release/2.0' into 'main'
MR->Main

See merge request r-d-technique/tiers/reflex-wms-connector!104
2025-04-24 15:04:25 +00:00
362f34f2be Merge branch 'main' into 'release/2.0'
# Conflicts:
#   VERSION
2025-04-24 15:03:58 +00:00
1ced677ec6 SCPN1-8583 2025-04-24 15:48:02 +02:00
cd1fcf8876 Release 2.0.2+1 2025-04-24 14:29:13 +02:00
06ebe4b5e0 Merge branch 'release-2.0' into 'main'
MR->Main

See merge request r-d-technique/tiers/reflex-wms-connector!103
2025-04-19 21:41:53 +00:00
a33210827a update version 2025-04-17 14:13:41 +02:00
7b054e1f57 Merge branch 'release/2.0'
# Conflicts:
#	RFXtoRP_HsaCons.ftl
#	RFXtoRP_HsaDispute_Created.ftl
#	RFXtoRP_HsrPrepa.ftl
#	VERSION
2025-04-17 13:53:11 +02:00
2752e5b26e Release 2.0.1+2 2025-04-15 18:28:42 +02:00
6b0a3f0b24 Merge branch 'to-v10-connector2.0' into 'release/2.0'
Modif typologie

See merge request r-d-technique/tiers/reflex-wms-connector!101
2025-04-15 16:24:13 +00:00
c4f2161edb Modif typologie
(cherry picked from commit a1c4b8a4ac83c4d3e2d4a7d36578593622fddc16)
2025-04-15 18:23:06 +02:00
a1c4b8a4ac Modif typologie 2025-04-15 14:29:22 +02:00
80736c4a30 Release 2.0.1+1 2025-04-11 15:46:56 +02:00
269c22e434 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!97
2025-04-09 13:51:31 +00:00
e2a8404311 Release 2.0.0+1 2025-04-08 10:00:03 +02:00
b72199c8b2 Snapshot reflex-wms-connector 2.1.0-SNAPSHOT 2025-04-08 10:00:02 +02:00
11ab7068cd New Major version 2.y.z 2025-04-08 07:57:49 +00:00
3aee512fa1 adjsut version 2025-04-07 13:46:35 +02:00
40d767406a change executuionflow.Order.ID to eventRP.refid 2025-03-27 15:21:59 +01:00
d5efde68a9 modifs recipt 2025-03-24 15:59:20 +01:00
f31be2092e modifs 2025-03-21 17:19:13 +01:00
24564d199e claim 2025-03-21 17:09:37 +01:00
5397b211b4 depot actor 2025-03-21 11:31:45 +01:00
c3e584c43b claim reference empty 2025-03-21 11:22:43 +01:00
cdc4ab6c3c claim 2025-03-20 17:52:49 +01:00
9b4506912c modifs actor 2025-03-20 17:44:33 +01:00
e7fa9ec7b7 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-03-20 17:29:25 +01:00
53c400be49 SCPN1-8474 2025-03-20 17:28:57 +01:00
bb6e68a697 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-03-20 17:21:27 +01:00
969560a0d1 modifs claim 2025-03-20 17:21:20 +01:00
3f693dc4cb Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-03-20 17:10:26 +01:00
02e8dc2566 SCPN1-8474 2025-03-20 17:09:41 +01:00
546891463b modifs claim 2025-03-20 17:09:16 +01:00
c5afde166a SCPN1-8401 la correction a été perdue... 2025-03-19 17:50:55 +01:00
9e16ebae85 claim 2025-03-19 16:54:47 +01:00
546d46fc42 modifs 2025-03-19 15:11:14 +01:00
f14616784a modifs 2025-03-19 15:06:59 +01:00
2cae8c7a7c Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!94
2025-03-19 13:50:49 +00:00
4115d9ec5f SCPN1-8483
(cherry picked from commit 8ee7527ba4e01017073183ec99a8db8b0fc625c0)
2025-03-19 11:47:41 +01:00
9d99c0c65e displayID 2025-03-19 10:44:16 +01:00
ff25781b84 claim 2025-03-13 15:07:49 +01:00
a045b37b7b claim 2025-03-13 11:51:44 +01:00
337b011d4e claim 2025-03-13 11:47:09 +01:00
7b4dfe0288 claim 2025-03-13 11:39:29 +01:00
da75ead70f claim 2025-03-13 11:32:04 +01:00
b168b16931 claim 2025-03-13 11:28:34 +01:00
04ce7e61f8 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!92
2025-03-13 09:54:24 +00:00
f76d632303 claim 2025-03-13 10:20:22 +01:00
5963948635 update URL in readme.md 2025-03-12 15:05:01 +01:00
80965f3927 UTC 2025-03-12 10:14:55 +01:00
7ae70dae92 Ajout OrderID 2025-03-11 16:19:35 +01:00
dbffc01a70 SCPN1-8401
(cherry picked from commit 0cec20a8aa91ce5d958a9d6087d4778f86f2c5fd)
2025-03-07 14:17:28 +01:00
2681a4dc24 SCPN1-8401 (syntaxe error in RXftoRP-HsrReceiptList_ExecutionflowDetected.ftl et RXftoRP-HsrReceiptList_ExecutionflowReceiptComplet.ftl) 2025-03-06 16:13:36 +01:00
9380d39bb6 SCPN1-8401 (syntaxe error in RXftoRP-HsrPro_ExecutionflowDetected.ftl) 2025-03-04 14:28:12 +01:00
ba13f7cf59 add version 2.0 support 2025-03-03 11:01:03 +00:00
707078c27c Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!89
2025-02-26 08:55:27 +00:00
8257084a45 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!86
2025-02-18 09:56:58 +00:00
23149a2bfe Merge branch 'release/1.2' into 'main'
MR -> Main

See merge request r-d-technique/tiers/reflex-wms-connector!85
2025-02-12 11:54:04 +00:00
6857ee0697 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!80
2024-12-15 11:20:14 +00:00
a8ede37b09 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!79
2024-11-20 08:14:28 +00:00
41195c4b84 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!77
2024-11-18 16:23:15 +00:00
640c0f119a Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!75
2024-11-12 16:25:02 +00:00
b745622d48 Merge branch 'release/1.2' into 'main'
Release 1.2.29+1

See merge request r-d-technique/tiers/reflex-wms-connector!73
2024-11-06 14:02:45 +00:00
c017ca670c Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!72
2024-11-05 13:10:16 +00:00
7b22eea31d Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!70
2024-10-29 14:35:45 +00:00
3d29596c22 Merge branch 'release/1.2' into 'main'
SCPN1-7421

See merge request r-d-technique/tiers/reflex-wms-connector!69
2024-10-24 13:36:28 +00:00
6c52bee18a Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!68
2024-10-17 15:46:39 +00:00
a44ebe1430 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!66
2024-10-15 12:11:03 +00:00
2beeac8a8a Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!64
2024-10-03 14:41:49 +00:00
5b7f1808af Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!61
2024-09-30 12:13:58 +00:00
16b439d07c Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!60
2024-09-16 15:10:59 +00:00
03cbf4c93f Merge branch 'release/1.2' into 'main'
SCPN1-7065

See merge request r-d-technique/tiers/reflex-wms-connector!58
2024-09-02 09:04:17 +00:00
156b06dc3b Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!56
2024-08-08 15:11:09 +00:00
4a6998f885 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!55
2024-08-07 12:27:55 +00:00
4cc36121ec Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!53
2024-08-06 14:17:58 +00:00
8c8d20a6d5 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!51
2024-07-30 07:49:31 +00:00
cb262cfe37 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!50
2024-07-24 12:21:46 +00:00
1f4903ea3c Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!49
2024-07-22 09:14:39 +00:00
562928a7cc Merge branch 'release/1.2' into 'main'
MR->main Release 1.2.18+1

See merge request r-d-technique/tiers/reflex-wms-connector!47
2024-07-12 09:49:36 +00:00
da5513612b Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!46
2024-07-08 20:36:39 +00:00
24ae26673f Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!44
2024-06-06 08:06:19 +00:00
b290285e74 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!41
2024-05-31 08:17:26 +00:00
3f3253c58b Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!39
2024-05-17 07:21:36 +00:00
fdb7cf7d2c Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!37
2024-05-13 15:43:22 +00:00
5b18bb79d9 Merge branch 'release/1.2' into 'main'
Release 1.2.16+1

See merge request r-d-technique/tiers/reflex-wms-connector!35
2024-05-02 09:48:53 +00:00
2e95864d6f Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!34
2024-04-26 08:29:56 +00:00
01439a2f5f Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!32
2024-04-11 12:22:33 +00:00
1145f22401 Merge branch 'release/1.2' into 'main'
MR->main

See merge request r-d-technique/tiers/reflex-wms-connector!30
2024-04-10 15:21:08 +00:00
3cad254046 Merge branch 'release/1.2' into 'main'
MR-main

See merge request r-d-technique/tiers/reflex-wms-connector!27
2024-04-10 07:48:50 +00:00
0b36faa2ae Merge branch 'release/1.2' into 'main'
Release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!22
2024-04-06 07:27:04 +00:00
295731a1c1 Merge branch 'release/1.2' into 'main'
Release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!19
2024-02-29 15:00:34 +00:00
cc5a3521d3 Merge branch 'release/1.2' into 'main'
Modifs RPtoRFX 2301241050

See merge request r-d-technique/tiers/reflex-wms-connector!14
2024-01-26 13:01:15 +00:00
4f102c94be Merge branch 'release/1.2' into 'main'
Modifs RPtoRFX 1701240947

See merge request r-d-technique/tiers/reflex-wms-connector!11
2024-01-17 16:34:09 +00:00
9fc489a1ac Merge branch 'release/1.2' into 'main'
Release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!8
2024-01-10 15:18:26 +00:00
ac18cc3db9 Merge branch 'release/1.2' into 'main'
Release 1.2.8+2

See merge request r-d-technique/tiers/reflex-wms-connector!6
2024-01-03 14:22:52 +00:00
b0b4a1a953 Merge branch 'release/1.2' into 'main'
Release 1.2.8+1

See merge request r-d-technique/tiers/reflex-wms-connector!5
2023-12-07 10:23:47 +00:00
9e398a0ea6 Merge branch 'release/1.2' into 'main'
Release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!4
2023-12-01 16:59:41 +00:00
d66baafc55 Merge branch 'release/1.2' into 'main'
Release 1.2.6+1

See merge request r-d-technique/tiers/reflex-wms-connector!3
2023-11-23 09:26:37 +00:00
0da464c8b9 Merge branch 'release/1.2' into 'main'
Release 1.2.6

See merge request r-d-technique/tiers/reflex-wms-connector!2
2023-11-06 16:19:34 +00:00
8ea7fcca53 Merge branch 'release/1.2' into 'main'
Release/1.2

See merge request r-d-technique/tiers/reflex-wms-connector!1
2023-10-26 12:53:12 +00:00
144 changed files with 4580 additions and 813 deletions

View File

@ -1,11 +1,20 @@
# Reflex Platform Core FTLs # 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**.
These FTL core files aim to translate data flow from Reflex WMS into Reflex platform API. This connector does not contain any standalone executable code: it is intended to be used by **HARDIS WMS integration engines** or **data exchange pipelines**, where it applies the mapping rules defined in the `.ftl` files.
## Role of the FTL Files
- Each `.ftl` file corresponds to a **flow type** (order, stock, receipt, shipment, appointment etc.).
- These templates use the **FreeMarker** syntax to:
- Extract the required fields from the WMS source flow.
- Apply transformation rules (mapping, conversions, enrichments).
- Generate a **final structured JSON** for HARDIS SC NETWORK.
You can find more info about those files in the Reflex platform documentation center : https://docs.viz.reflex-platform.com/connectivity/howto/reflex-wms-connector/ ## Useful Resources
- [FreeMarker Documentation](https://freemarker.apache.org/docs/index.html)
- [HARDIS SC NETWORK](https://auth.reflex-platform.com/)

View File

@ -1,7 +1,7 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#-- sum_elt : nb element in snapshot (optional parameter) --> <#-- sum_elt : nb element in snapshot (optional parameter) -->
<#include "HfRpConfig.ftl"> <#include "HfRpConfig.ftl">

View File

@ -1,6 +1,12 @@
<#-- use protobuf of class HfDtlStockLs to find Reflex WMS fields names --> <#-- use protobuf of class HfDtlStockLs to find HARDIS WMS fields names -->
<#-- <#--
Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)
"SegmentationKeys": [ "SegmentationKeys": [
{ {
@ -16,7 +22,7 @@
<#if stock.batch_1 == ""> <#if stock.batch_1 == "">
"Value": { "String" : "no batch"} "Value": { "String" : "no batch"}
<#else> <#else>
"Value": { "String" : "${stock.batch_1}"} "Value": { "String" : "${stock.batch_1?json_string}"}
</#if> </#if>
}, },
{ {

View File

@ -1,5 +1,5 @@
<#-- **** <#-- ****
Reflex WMS provides some of their environment parameters through the class HfRpConfig HARDIS WMS provides some of their environment parameters through the class HfRpConfig
those parameters are stored in FTL file HfRpConfig.ftl for later use in some of the data ftl files those parameters are stored in FTL file HfRpConfig.ftl for later use in some of the data ftl files
*** --> *** -->

103
RFXtoRP_HliPrepaL.ftl Normal file
View File

@ -0,0 +1,103 @@
<#-- **** input parameters ***** -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#include "ReflexUtils.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#include "RFX_PartnerAPP_Settings.ftl">
<#assign aDateTime = .now>
<#switch cloudEventMsg.action>
<#case "C">
<#--<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparationOrder = JsonUtil.jsonToMap(dataRfx)>
<#if preparationOrder.total_lv_validated?? && preparationOrder.total_lv_validated !=0>
<#if preparationOrder.preparation_type_code=="010" || preparationOrder.preparation_type_code=="030">
<#if preparationOrder.preparation_line_lst??>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsPrepared>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl">
}
<#assign refIDHmap ={}>
<#assign hd_numberHmap ={}>
<#assign hd_numberHmapHUadded ={}>
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? ) as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg>
<#assign HUadded_packing_datetime = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) />
<#if (!hd_numberHmap[despatched_ipg.hd_number]?? && !hd_numberHmap[despatched_ipg.carton_number]??)&& (trackingNumberSource==2 || trackingNumberSource==3 || (despatched_ipg.consignment_unit_id!="" && trackingNumberSource==1))>
,
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl">
}
</#if>
<#if despatched_ipg.carton_number != "000000000000000000" && despatched_ipg.carton_number!=despatched_ipg.hd_number >
,
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitHUsAdded>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HandlingunitHUsAdded.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl">
}
<#if !hd_numberHmapHUadded[despatched_ipg.hd_number]?? && (trackingNumberSource==2 || trackingNumberSource==3 )>
<#assign hd_numberHmapHUadded += {despatched_ipg.hd_number,despatched_ipg.hd_number}>
,
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HUsAdded_TrackingHuLabelled.ftl">
}
</#if>
</#if>
</#list>
</#list>
<#assign refIDHmap ={}>
]
<#else>
<#-- No line-->
<#stop>
</#if>
<#else>
<#-- Preparation Type not supported-->
<#stop>
</#if>
<#else>
<#-- no confirmed quantity for the preparation - preparation closed-->
<#stop>
</#if>
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#stop>
<#break>
<#default>
<#stop>
</#switch>

163
RFXtoRP_HliReceiptLr.ftl Normal file
View File

@ -0,0 +1,163 @@
<#-- **** input parameters ***** -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#assign aDateTime = .now>
<#switch cloudEventMsg.action>
<#case "C">
<#-- *********************************************** Action = CREATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign receipt = JsonUtil.jsonToMap(dataRfx)>
<#if receipt.receipt_type?? && receipt.receipt_type = "030" && receipt.line_list??> <#-- if reception is a transfer type -->
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowLinesAdded>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HliReceiptLr_TransfertExecutionflowLinesAdded.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptExpected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertReceiptExpected.ftl">
}
]
<#else>
<#if receipt.line_list ??>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowLinesAdded>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HliReceiptLr_ExecutionflowLinesAdded.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptExpected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_ReceiptExpected.ftl">
}
]
<#else>
<#stop>
</#if>
</#if>
<#break>
<#case "U">
<#-- *********************************************** Action = UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign receipt = JsonUtil.jsonToMap(dataRfx)>
[
<#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "true" && receipt.confirmation_total_level_1==0 && receipt.confirmation_total_level_2==0 && receipt.confirmation_total_level_3==0>
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowCancelled.ftl">
}
<#else>
<#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "true">
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowReceiptCompleted.ftl">
}
<#else>
<#if receipt.receipt_confirmed?? && receipt.receipt_confirmed == "true" && receipt.confirmation_total_level_1==0 && receipt.confirmation_total_level_2==0 && receipt.confirmation_total_level_3==0>
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl">
}
<#else>
<#if receipt.receipt_confirmed ?? && receipt.receipt_confirmed == "true" >
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_ExecutionflowReceiptCompleted.ftl">
}
<#else>
<#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "false" && receipt.line_list??>
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowLinesAdded>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HliReceiptLr_TransfertExecutionflowLinesAdded.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptExpected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertReceiptExpected.ftl">
}
]
<#else>
<#stop> <#-- Receipt reference for transfer is empty-->
</#if>
<#else>
<#if receipt.line_list ??>
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowLinesAdded>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HliReceiptLr_TransfertExecutionflowLinesAdded.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptExpected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_ReceiptExpected.ftl">
}
<#else>
<#stop>
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign receipt = JsonUtil.jsonToMap(dataRfx)>
<#if receipt.line_list ??>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl">
}
]
<#else>
<#stop> <#-- No line-->
</#if>
<#break>
<#default>
<#stop >
</#switch>

View File

@ -0,0 +1,60 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
[
{
<#assign receipt_datetime = RfxDateTimetoUTCWithTimezone(receipt.receipt_datetime,time_zone_rfx) />
<#assign receipt_creation_datetime = RfxDateTimetoUTCWithTimezone(receipt.creation_datetime,time_zone_rfx) />
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "R${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year}${receipt.receipt_number}",
"RefDate": {
"DateTime": "${receipt_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": {
<#if receipt.line_list??>
"Lines" : [
<#list receipt.line_list as line>
{
"LineID": "${line.receipt_line_number}",
<#-- Line Metadata inclusion -->
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_LineMetadata.ftl">,
"RequestedContent":
{
"Goods":
{
"ItemID": "${line.item_code?trim?json_string!"0"}",
"LVBranchID": "${line.item_lv_code?json_string!"0"}",
<#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)>
<#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${line_without_detail_priority_date}",
<#else>
<#if (line.line_detail?? && line.line_detail?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)>
<#assign line_detail_priority_date = line.line_detail[0].priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${line_detail_priority_date}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
</#if>
<#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl">
},
"Quantity" :
{
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": "${line.order_quantity_in_lv!0}"
}
}
}
<#sep>,</#sep>
</#list>
]
</#if>
}
}
]

View File

@ -0,0 +1,193 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
<#assign receipt_datetime = RfxDateTimetoUTCWithTimezone(receipt.receipt_datetime,time_zone_rfx) />
<#assign receipt_creation_datetime = RfxDateTimetoUTCWithTimezone(receipt.creation_datetime,time_zone_rfx) />
<#assign refIDHmap_local ={}>
[
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
{
"Header": {"ProjectID": "${projectRP}"},
"ID": {
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="">
"RefID": "${receipt.origin_order_line_depot?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_reference?trim?json_string}",
<#else>
"RefID": "R${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year}${receipt.receipt_number}",
</#if>
"RefDate": {
"DateTime": "${receipt_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": {
<#if receipt.line_list??>
"Lines" : [
<#list receipt.line_list as line>
{
"LineID": "${line.receipt_line_number}",
<#-- Line Metadata inclusion -->
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_LineMetadata.ftl">,
"RequestedContent":
{
"Goods":
{
"ItemID": "${line.item_code?trim?json_string!"0"}",
"LVBranchID": "${line.item_lv_code?json_string!"0"}",
<#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)>
<#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${line_without_detail_priority_date}",
<#else>
<#if (line.line_detail?? && line.line_detail?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)>
<#assign line_detail_priority_date = line.line_detail[0].priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${line_detail_priority_date}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
</#if>
<#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl">
},
"Quantity" :
{
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": "${line.order_quantity_in_lv!0}"
}
}
}
<#sep>,</#sep>
</#list>
]
</#if>
}
}
<#else>
<#if receipt.line_list??>
<#list receipt.line_list as receipt_line >
<#if receipt_line.origin_order_line_reference!="">
<#if !refIDHmap_local[receipt_line.origin_order_line_reference]?? >
<#if refIDHmap_local?size != 0 >
,
</#if>
<#assign refIDHmap_local +={receipt_line.origin_order_line_reference,receipt_line.origin_order_line_reference}>
{
"Header": {"ProjectID": "${projectRP}"},
"ID": {
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="">
"RefID": "${receipt.origin_order_line_depot?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt_line.origin_order_line_reference?trim?json_string}",
<#else>
"RefID": "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt_line.origin_order_line_reference?trim?json_string}",
</#if>
"RefDate": {
"DateTime": "${receipt_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": {
"CreationDateTime": {
"DateTime": "${receipt_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
},
"OrderID":"${receipt_line.origin_order_line_reference?trim?json_string}",
<#if receipt.line_list??>
"Lines" : [
<#list receipt.line_list as line>
{
"LineID": "${line.receipt_line_number}",
<#-- Line Metadata inclusion -->
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_LineMetadata.ftl">,
"RequestedContent":
{
"Goods":
{
"ItemID": "${line.item_code?trim?json_string!"0"}",
"LVBranchID": "${line.item_lv_code?json_string!"0"}",
<#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)>
<#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${line_without_detail_priority_date}",
<#else>
<#if (line.line_detail?? && line.line_detail?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)>
<#assign line_detail_priority_date = line.line_detail[0].priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${line_detail_priority_date}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
</#if>
<#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl">
},
"Quantity" :
{
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": "${line.order_quantity_in_lv!0}"
}
}
}
<#sep>,</#sep>
</#list>
]
</#if>
}
}
</#if>
<#else>
{
"Header": {"ProjectID": "${projectRP}"},
"ID": {
"RefID": "R${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year?trim?json_string}${receipt.receipt_number?trim?json_string}",
"RefDate": {
"DateTime": "${receipt_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": {
"CreationDateTime": {
"DateTime": "${receipt_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
},
"OrderID":"${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year?trim?json_string}${receipt.receipt_number?trim?json_string}",
<#if receipt.line_list??>
"Lines" : [
<#list receipt.line_list as line>
{
"LineID": "${line.receipt_line_number}",
<#-- Line Metadata inclusion -->
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_LineMetadata.ftl">,
"RequestedContent":
{
"Goods":
{
"ItemID": "${line.item_code?trim?json_string!"0"}",
"LVBranchID": "${line.item_lv_code?json_string!"0"}",
<#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)>
<#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${line_without_detail_priority_date}",
<#else>
<#if (line.line_detail?? && line.line_detail?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)>
<#assign line_detail_priority_date = line.line_detail[0].priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${line_detail_priority_date}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
</#if>
<#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl">
},
"Quantity" :
{
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": "${line.order_quantity_in_lv!0}"
}
}
}
<#sep>,</#sep>
</#list>
]
</#if>
}
}
<#break>
</#if>
</#list>
</#if>
</#if>
]

65
RFXtoRP_HlrProL.ftl Normal file
View File

@ -0,0 +1,65 @@
<#-- **** input parameters ***** -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#assign aDateTime = .now>
<#switch cloudEventMsg.action>
<#case "C">
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparation_order = JsonUtil.jsonToMap(dataRfx)>
[
<#-- check preparation type code (internal order and reservation are ignored) -->
<#if preparation_order.preparation_type_code == "010" || preparation_order.preparation_type_code == "030">
<#if preparation_order.line_list??>
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowLinesAdded>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HlrProL_ExecutionflowLinesAdded.ftl">
}
<#else>
<#-- No line -->
<#stop>
</#if>
<#else>
<#-- Preparation order type not supported -->
<#stop>
</#if>
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparation_order = JsonUtil.jsonToMap(dataRfx)>
[
<#if preparation_order.preparation_type_code == "010" || preparation_order.preparation_type_code == "030" >
<#if preparation_order.line_list??>
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPro_ExecutionflowCancelled.ftl">
}
<#else>
<#-- No line -->
<#stop>
</#if>
<#else>
<#-- Preparation order type not supported -->
<#stop>
</#if>
]
<#break>
<#default>
<#stop >
</#switch>

View File

@ -0,0 +1,59 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
[
{
<#assign planned_final_delivery_start_datetime = RfxDateTimetoUTCWithTimezone(preparation_order.planned_final_delivery_start_datetime,time_zone_rfx) />
<#assign pro_creation_datetime = RfxDateTimetoUTCWithTimezone(preparation_order.creation_datetime,time_zone_rfx) />
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if preparation_order.originator_reference?? && preparation_order.originator_reference!="">
"RefID": "${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.originator_reference?trim?json_string}",
<#else>
"RefID": "O${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.preparation_order_year}${preparation_order.preparation_order_number}",
</#if>
"RefDate": {
"DateTime": "${pro_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": {
<#if preparation_order.line_list??>
"Lines" : [
<#list preparation_order.line_list as preparation_order_line >
{
<#if (preparation_order_line.originator_reference_line_number!0) != 0>
"LineID": "${preparation_order_line.originator_reference_line_number}",
<#else>
"LineID": "${preparation_order_line.preparation_order_line_number!0}",
</#if>
<#-- Line Metadata inclusion -->
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_LineMetadata.ftl">,
"RequestedContent":
{
"Goods":
{
"ItemID": "${preparation_order_line.item_code?trim?json_string!"0"}",
"LVBranchID": "${preparation_order_line.item_lv_code?json_string!"0"}",
<#if (preparation_order_line.optional_attributes.forced_priority_date?length != 0) && (preparation_order_line.optional_attributes.forced_priority_date?starts_with("00") == false)>
<#assign forced_priority_date = preparation_order_line.optional_attributes.forced_priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${forced_priority_date}",
</#if>
<#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_SegmentationKeys.ftl">
},
"Quantity" :
{
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": "${preparation_order_line.base_lv_quantity_to_prepare!0}"
}
}
}<#sep>,</#sep>
</#list>
]
</#if>
}
}
]

View File

@ -1,7 +1,10 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
@ -17,7 +20,7 @@
<#assign carrier = JsonUtil.jsonToMap(dataRfx)> <#assign carrier = JsonUtil.jsonToMap(dataRfx)>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated> <#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreatedv2>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsaCarrier_ActorCreated.ftl"> <#include "RFXtoRP_HsaCarrier_ActorCreated.ftl">

View File

@ -1,6 +1,3 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[ [
{ {
"Header": { "Header": {
@ -11,17 +8,13 @@
}, },
"Payload": { "Payload": {
"Name": "${carrier.carrier_designation?json_string}", "Name": "${carrier.carrier_designation?json_string}",
"ManagedStock": false,
"IsCarrier": true, "IsCarrier": true,
<#-- ***Partner ID could be added here *** -->
<#-- "PartnerID": "${}", -->
<#include "RFXtoRP_HsaCarrier_ActorCreated_Metadata.ftl">, <#include "RFXtoRP_HsaCarrier_ActorCreated_Metadata.ftl">,
"Address": "Address":
{ {
<#-- if Reflex WMS address is structured --> <#-- if HARDIS WMS address is structured -->
<#if carrier.carrier_structured_address?? > <#if carrier.carrier_structured_address?? >
"Name": "${carrier.carrier_structured_address.name_or_company?json_string}", "Name": "${carrier.carrier_structured_address.name_or_company?json_string}",
@ -37,8 +30,7 @@
</#if> </#if>
"ProvinceCode": "${carrier.carrier_structured_address.territorial_div_code?json_string}", "ProvinceCode": "${carrier.carrier_structured_address.territorial_div_code?json_string}",
"State": "${carrier.carrier_structured_address.country_designation?json_string}" "State": "${carrier.carrier_structured_address.country_designation?json_string}"
<#-- if HARDIS WMS address is not structured -->
<#-- if Reflex WMS address is not structured -->
<#else> <#else>
<#if carrier.address??> <#if carrier.address??>
"Name": "${carrier.address.company_name?json_string}", "Name": "${carrier.address.company_name?json_string}",

View File

@ -1,4 +1,10 @@
<#-- use protobuf of class HsaCarrier to find Reflex WMS fields names --> <#-- use protobuf of class HsaCarrier to find HARDIS WMS fields names -->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -1,6 +1,3 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[ [
{ {
"Header": { "Header": {

View File

@ -1,7 +1,10 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
@ -17,12 +20,13 @@
<#assign actor = JsonUtil.jsonToMap(dataRfx)> <#assign actor = JsonUtil.jsonToMap(dataRfx)>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated> <#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreatedv2>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsaCons_ActorCreated.ftl"> <#include "RFXtoRP_HsaCons_ActorCreated.ftl">
} }
] ]
<#break> <#break>
<#case "D"> <#case "D">

View File

@ -1,6 +1,3 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[ [
{ {
"Header": { "Header": {
@ -11,19 +8,13 @@
}, },
"Payload": { "Payload": {
"Name": "${actor.designation?json_string}", "Name": "${actor.designation?json_string}",
"ManagedStock": false,
"IsCarrier": false, "IsCarrier": false,
<#-- ***Partner ID could be added here *** -->
<#-- "PartnerID": "${}", -->
<#include "RFXtoRP_HsaCons_ActorCreated_Metadata.ftl">, <#include "RFXtoRP_HsaCons_ActorCreated_Metadata.ftl">,
"Address": "Address":
{ {
<#-- if HARDIS WMS is structured -->
<#-- if Reflex WMS is structured -->
<#if actor.consignee_structured_address??> <#if actor.consignee_structured_address??>
"Name": "${actor.consignee_structured_address.name_or_company?json_string}", "Name": "${actor.consignee_structured_address.name_or_company?json_string}",
@ -40,7 +31,7 @@
"ProvinceCode": "${actor.consignee_structured_address.territorial_div_code?json_string}", "ProvinceCode": "${actor.consignee_structured_address.territorial_div_code?json_string}",
"State": "${actor.consignee_structured_address.country_designation?json_string}" "State": "${actor.consignee_structured_address.country_designation?json_string}"
<#-- if Reflex WMS is not structured --> <#-- if HARDIS WMS is not structured -->
<#else> <#else>
<#if actor.address?? > <#if actor.address?? >

View File

@ -1,4 +1,10 @@
<#-- use protobuf of class HsaCons to find Reflex WMS fields names --> <#-- use protobuf of class HsaCons to find HARDIS WMS fields names -->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -1,6 +1,3 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[ [
{ {
"Header": { "Header": {

32
RFXtoRP_HsaDesPatch.ftl Normal file
View File

@ -0,0 +1,32 @@
<#-- **** input parameters ***** -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#assign aDateTime = .now>
<#switch cloudEventMsg.action>
<#case "C">
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign desPatch = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for desPatch">
<#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>
<#default>
<#stop >
</#switch>

32
RFXtoRP_HsaDespNt.ftl Normal file
View File

@ -0,0 +1,32 @@
<#-- **** input parameters ***** -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#assign aDateTime = .now>
<#switch cloudEventMsg.action>
<#case "C">
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign despNt = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for despNt">
<#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>
<#default>
<#stop >
</#switch>

View File

@ -1,7 +1,7 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
@ -22,7 +22,9 @@
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsaDispute_Created.ftl"> <#include "RFXtoRP_HsaDispute_Created.ftl">
}, }
<#if TableReasonCode[dispute.dispute_reason_code]??>
,
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ClaimMessageSent> <#assign apiReflexPlatformID = ApiReflexPlatformID.ClaimMessageSent>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
@ -32,6 +34,7 @@
<#else> <#else>
<#stop> <#stop>
</#if> </#if>
</#if>
] ]
<#break> <#break>

View File

@ -0,0 +1,10 @@
<#-- use protobuf of class HsaDispute to find HARDIS WMS fields names -->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
"MetaData": [ ]

View File

@ -21,7 +21,7 @@
}, },
"Payload": { "Payload": {
<#if dispute.dispute_reference?? && dispute.dispute_reference!=""> <#if dispute.dispute_reference?? && dispute.dispute_reference!="">
"Title":"${dispute.dispute_reference?trim?json_string}", "Title":"${dispute.dispute_reference?json_string}",
<#else> <#else>
"Title":"", "Title":"",
</#if> </#if>
@ -39,29 +39,53 @@
</#if> </#if>
"Value": "${dispute.dispute_amount}" "Value": "${dispute.dispute_amount}"
}, },
<#if dispute.dispute_type_code=="050" > <#-- Claim metadata inclusion -->
<#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0> <#include "RFXtoRP_HsaDispute_ClaimMetadata.ftl">,
"EntityID":"${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference?trim?json_string}",
<#else>
<#stop "preparation order list is empty" >
</#if>
<#else>
<#if dispute.dispute_type_code=="070" || dispute.dispute_type_code=="030" >
"EntityID":"${dispute.dispute_reception.reception_reference?trim?json_string}",
<#else>
<#stop "Type not supported" >
</#if>
</#if>
<#-- To configure --> <#-- To configure -->
<#include "RFXtoRP_HsaDispute_TableReasonCodeToClaimTypeID.ftl"> <#include "RFXtoRP_HsaDispute_TableReasonCodeToClaimTypeID.ftl">
<#if dispute.dispute_type_code=="050" > <#-- Preparation -->
<#if dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference?? && dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference!="">
"EntityID":"${dispute.dispute_preparation.preparation_order_list[0].preparation_order_physical_depot_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_activity_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference?trim?json_string}",
"DisplayID":"${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_reference?trim?json_string}",
<#else>
"EntityID":"O${dispute.dispute_preparation.preparation_order_list[0].preparation_order_physical_depot_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_activity_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_year_number?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_number?trim?json_string}",
"DisplayID":"O${dispute.dispute_preparation.preparation_order_list[0].preparation_order_physical_depot_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_activity_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_year_number?trim?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_number?trim?json_string}",
</#if>
<#else>
<#if dispute.dispute_type_code=="030" || dispute.dispute_type_code=="070" >
<#if dispute.dispute_reception.reception_type_code=="030"> <#-- Receipt transfer type -->
<#if dispute.dispute_reception.reception_supplier.supplier_transfer_physical_depot?? && dispute.dispute_reception.reception_supplier.supplier_transfer_physical_depot!="" >
"EntityID":"${dispute.dispute_reception.reception_supplier.supplier_transfer_physical_depot?json_string}${dispute.dispute_reception.reception_supplier.supplier_activity_code?json_string}${dispute.dispute_reception.reception_contractor_code?json_string}${dispute.dispute_reception.reception_reference?json_string}",
"DisplayID":"${dispute.dispute_reception.reception_reference?json_string}",
<#else>
<#if dispute.dispute_reception.reception_reference?? && dispute.dispute_reception.reception_reference!="">
"EntityID":"R${dispute.dispute_reception.reception_physical_depot_code?json_string}${dispute.dispute_reception.reception_activity_code?json_string}${dispute.dispute_reception.reception_contractor_code?json_string}${dispute.dispute_reception.reception_year_number?json_string}${dispute.dispute_reception.reception_number?json_string}",
"DisplayID":"${dispute.dispute_reception.reception_reference?json_string}",
<#else>
"EntityID":"R${dispute.dispute_reception.reception_physical_depot_code?json_string}${dispute.dispute_reception.reception_activity_code?json_string}${dispute.dispute_reception.reception_contractor_code?json_string}${dispute.dispute_reception.reception_year_number?json_string}${dispute.dispute_reception.reception_number?json_string}",
"DisplayID":"R${dispute.dispute_reception.reception_physical_depot_code?json_string}${dispute.dispute_reception.reception_activity_code?json_string}${dispute.dispute_reception.reception_contractor_code?json_string}${dispute.dispute_reception.reception_year_number?json_string}${dispute.dispute_reception.reception_number?json_string}",
</#if>
</#if>
<#else>
<#if dispute.dispute_reception.reception_type_code=="010" || dispute.dispute_reception.reception_type_code=="020" >
"EntityID":"R${dispute.dispute_reception.reception_physical_depot_code?json_string}${dispute.dispute_reception.reception_activity_code?json_string}${dispute.dispute_reception.reception_contractor_code?json_string}${dispute.dispute_reception.reception_year_number?json_string}${dispute.dispute_reception.reception_number?json_string}",
"DisplayID":"${dispute.dispute_reception.reception_reference?json_string}",
<#else>
<#stop "WMS type code not supported">
</#if>
</#if>
</#if>
</#if>
<#if TableReasonCode[dispute.dispute_reason_code]??> <#if TableReasonCode[dispute.dispute_reason_code]??>
"ClaimTypeID":"${TableReasonCode[dispute.dispute_reason_code]}" "ClaimTypeID":"CLAIMTYPE_${projectRP}_EXECUTIONFLOW_${TableReasonCode[dispute.dispute_reason_code]}"
<#else> <#else>
<#stop "Claim reason code not supported" > <#stop "Claim reason code not supported" >
</#if> </#if>
} }
} }
] ]

View File

@ -1,7 +1,15 @@
<#-- Specify table for reason code --> <#-- Specify table for reason code -->
<#assign TableReasonCode = {}/> <#-- Table example for reason code to claim type ID -->
<#-- <#assign TableReasonCode = { -->
<#-- "001":"ID_CLAIMTYPE_1",-->
<#-- "M1":"ID_CLAIMTYPE_2",-->
<#-- }/>-->
<#assign TableReasonCode = {
"M1" :"CAS"
}
/>

View File

@ -47,7 +47,6 @@
<#if (reflexMvtStockInterface.ipg_move_type == "100" || <#if (reflexMvtStockInterface.ipg_move_type == "100" ||
reflexMvtStockInterface.ipg_move_type == "110" || reflexMvtStockInterface.ipg_move_type == "110" ||
reflexMvtStockInterface.ipg_move_type == "120") > reflexMvtStockInterface.ipg_move_type == "120") >
<#if reflexMvtStockInterface.receipt_reference?? && reflexMvtStockInterface.receipt_reference!="">
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsReceived> <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsReceived>
@ -56,10 +55,6 @@
<#include "RFXtoRP_HsaIpgMove_GoodsReceived.ftl"> <#include "RFXtoRP_HsaIpgMove_GoodsReceived.ftl">
} }
] ]
<#else>
<#-- Case of IPG move type volontarilly ignored-->
<#stop " Reference receipt is empty">
</#if>
<#else> <#else>
<#stop> <#stop>
</#if> </#if>

View File

@ -21,22 +21,41 @@
"Goods": { "Goods": {
"ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}", "ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
"LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}", "LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}",
<#if (reflexMvtStockInterface.ipg_priority_date!="") && (reflexMvtStockInterface.ipg_priority_date?starts_with("00")== false) > <#if (priority_date!="") && (priority_date?starts_with("00")== false) >
"PriorityDate": "${priority_date}", "PriorityDate": "${priority_date}",
<#else> <#else>
"PriorityDate": "1970-01-01T00:00:00Z", "PriorityDate": "1970-01-01T00:00:00Z",
</#if> </#if>
<#-- Goods received Segmentation Keys inclusion --> <#-- Goods received Segmentation Keys inclusion -->
<#include "RFXtoRP_HsaIpgMove_GoodsReceived_SegmentationKeys.ftl"> <#include "RFXtoRP_HsaIpgMove_GoodsReceived_SegmentationKeys.ftl">
}, },
<#if reflexMvtStockInterface.ipg_move_type?? & reflexMvtStockInterface.ipg_move_type=="120"> <#-- if it is a transfer-type movement -->
<#if reflexMvtStockInterface.receipt_reference!=""> <#if reflexMvtStockInterface.origin_order_line_reference?? && reflexMvtStockInterface.origin_order_line_reference!="">
"ExecutionflowID": "${reflexMvtStockInterface.receipt_reference?trim?json_string}", "ExecutionflowID": "${reflexMvtStockInterface.original_receipt_physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.origin_order_line_reference?trim?json_string}",
"OrderID": "${reflexMvtStockInterface.origin_order_line_reference?trim?json_string}",
<#else> <#else>
"ExecutionflowID": "${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.ipg_move_year_number}${reflexMvtStockInterface.extended_ipg_move_number}", <#if reflexMvtStockInterface.receipt_reference?? && reflexMvtStockInterface.receipt_reference!="">
"ExecutionflowID": "${reflexMvtStockInterface.original_receipt_physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_reference?trim?json_string}",
"OrderID": "${reflexMvtStockInterface.receipt_reference?trim?json_string}",
<#else>
"ExecutionflowID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}",
"OrderID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}",
</#if> </#if>
</#if>
<#else>
<#if reflexMvtStockInterface.receipt_reference?? && reflexMvtStockInterface.receipt_reference!="">
"ExecutionflowID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}",
"OrderID": "${reflexMvtStockInterface.receipt_reference?trim?json_string}",
<#else>
"ExecutionflowID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}",
"OrderID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}",
</#if>
</#if>
<#if reflexMvtStockInterface.origin_order_line_number_reference?? && reflexMvtStockInterface.origin_order_line_number_reference!=0>
"LineID": "${reflexMvtStockInterface.origin_order_line_number_reference}",
<#else>
"LineID": "${reflexMvtStockInterface.receipt_line_number}", "LineID": "${reflexMvtStockInterface.receipt_line_number}",
</#if>
"ActorID": "${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)}", "ActorID": "${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)}",
"Quantity": { "Quantity": {
"LVID": "${quantity_in_base_lv_RP_Cst}", "LVID": "${quantity_in_base_lv_RP_Cst}",

View File

@ -1,7 +1,12 @@
<#-- use protobuf of class HsaIpgMove to find Reflex WMS fields names --> <#-- use protobuf of class HsaIpgMove to find HARDIS WMS fields names -->
<#-- <#--
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)
"SegmentationKeys": [ "SegmentationKeys": [
{ {

View File

@ -54,7 +54,7 @@
"ExternalMoveRef" : "${reflexMvtStockInterface.ipg_move_year_number} - ${reflexMvtStockInterface.ipg_move_number}", "ExternalMoveRef" : "${reflexMvtStockInterface.ipg_move_year_number} - ${reflexMvtStockInterface.ipg_move_number}",
"Type": "${MoveType_KV[reflexMvtStockInterface.ipg_move_type]!reflexMvtStockInterface.ipg_move_type}", "Type": "${MoveType_KV[reflexMvtStockInterface.ipg_move_type]!reflexMvtStockInterface.ipg_move_type}",
<#if reflexMvtStockInterface.ipg_move_type == "520" > <#if reflexMvtStockInterface.ipg_move_type == "520" >
"Reason": " Transfert ${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)} to ${RFXtoRPprefixDepot(reflexMvtStockInterface.transfer_consignee_physical_depot_code?trim?json_string)}", "Reason": " Direct Transfert ${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)} to ${RFXtoRPprefixDepot(reflexMvtStockInterface.transfer_consignee_physical_depot_code?trim?json_string)}",
<#else> <#else>
"Reason": "${reflexMvtStockInterface.miscellaneous_receipts_despatches_code?json_string}", "Reason": "${reflexMvtStockInterface.miscellaneous_receipts_despatches_code?json_string}",
</#if> </#if>

View File

@ -1,5 +1,11 @@
<#-- use protobuf of class HsaIpgMove to find Reflex WMS fields names --> <#-- use protobuf of class HsaIpgMove to find HARDIS WMS fields names -->
<#-- <#--
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)
"SegmentationKeys": [ "SegmentationKeys": [
{ {
"Key": "Grade", "Key": "Grade",

View File

@ -1,7 +1,7 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
@ -18,14 +18,10 @@
<#assign item = JsonUtil.jsonToMap(dataRfx)> <#assign item = JsonUtil.jsonToMap(dataRfx)>
[ [
{ {
<#if item.logistical_variant_list?? >
<#assign apiReflexPlatformID = ApiReflexPlatformID.ItemCreated> <#assign apiReflexPlatformID = ApiReflexPlatformID.ItemCreated>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsaItm_ItemCreated.ftl"> <#include "RFXtoRP_HsaItm_ItemCreated.ftl">
<#else>
<#stop "no LV for the item">
</#if>
} }
] ]
<#break> <#break>

View File

@ -12,7 +12,7 @@
{ {
"LVID": "${lv.logistical_variant_code?json_string}", "LVID": "${lv.logistical_variant_code?json_string}",
"Name" : "${lv.lv_type_code?json_string}", "Name" : "${lv.lv_type_code?json_string}",
<#if lv.id_list??> <#if lv.id_list?? && (lv.id_list?size == lv.id_list?filter(l ->l??)?size)>
"Codes": [ "Codes": [
<#list lv.id_list as id> <#list lv.id_list as id>
{ {

View File

@ -1,4 +1,10 @@
<#-- use protobuf of class HsaItmLv to find Reflex Wms fields names --> <#-- use protobuf of class HsaItmLv to find HARDIS WMS fields names -->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -21,15 +21,22 @@
}, },
<#-- Item metadata inclusion --> <#-- Item metadata inclusion -->
<#include "RFXtoRP_HsaItm_ItemCreated_ItemMetadata.ftl">, <#include "RFXtoRP_HsaItm_ItemCreated_ItemMetadata.ftl">
<#-- Item Photo URI could be added here --> <#-- 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.url?json_string}", ,
"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> </#if>
<#-- Loop for the Logistical Variants - LV --> <#-- Loop for the Logistical Variants - LV -->
<#if item.logistical_variant_list??> <#if item.logistical_variant_list?? && (item.logistical_variant_list?size == item.logistical_variant_list?filter(l ->l??)?size)>
,
"LogisticVariants": [ "LogisticVariants": [
<#list item.logistical_variant_list as logistical_variant> <#list item.logistical_variant_list as logistical_variant>
@ -37,7 +44,7 @@
"LVID": "${logistical_variant.logistical_variant_code?json_string}", "LVID": "${logistical_variant.logistical_variant_code?json_string}",
"Name" : "${logistical_variant.lv_type_code?json_string}", "Name" : "${logistical_variant.lv_type_code?json_string}",
<#if logistical_variant.id_list??> <#if logistical_variant.id_list?? && (logistical_variant.id_list?size == logistical_variant.id_list?filter(l ->l??)?size)>
"Codes": [ "Codes": [
<#list logistical_variant.id_list as id> <#list logistical_variant.id_list as id>
{ {

View File

@ -1,4 +1,10 @@
<#-- use protobuf of class HsaItm to find Reflex Wms fields names --> <#-- use protobuf of class HsaItm to find HARDIS WMS fields names -->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -1,4 +1,10 @@
<#-- use protobuf of class HsaItm to find Reflex Wms fields names --> <#-- use protobuf of class HsaItm to find HARDIS WMS fields names -->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -2,39 +2,88 @@
<#-- input : message RFX --> <#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in ReflexPlatform -->
<#include "ActorPrefix.ftl">
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
<#assign organisationRP = organisation> <#assign organisationRP = organisation>
<#assign aDateTime = .now> <#assign aDateTime = .now>
<#stop>
<#switch cloudEventMsg.action> <#switch cloudEventMsg.action>
<#case "C"> <#case "C">
<#case "U"> <#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** --> <#-- *********************************************** Action = Update ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign depot = JsonUtil.jsonToMap(dataRfx)> <#assign carrier_apt_status = JsonUtil.jsonToMap(dataRfx)>
<#if !carrier_apt_status.status?? || carrier_apt_status.appointment_year_number==0>
<#stop >
</#if>
[ [
{ {
<#switch carrier_apt_status.status.carrier_status_code>
} <#case "010"> <#--Carrier Expected -->
] <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierExpected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaLstCarSta_CarrierExpected.ftl">
<#break> <#break>
<#case "020"> <#--Carrier Arrived-->
<#case "D"> <#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierArrived>
<#-- *********************************************** Action = DELETE *************************** --> "apiReflexPlatformID" : "${apiReflexPlatformID}",
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> "datas" :
<#assign depot = JsonUtil.jsonToMap(dataRfx)> <#include "RFXtoRP_HsaLstCarSta_CarrierArrived.ftl">
[ <#break>
{ <#case "040"> <#--Unloading Started -->
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentUnloadingStarted>
} "apiReflexPlatformID" : "${apiReflexPlatformID}",
] "datas" :
<#include "RFXtoRP_HsaLstCarSta_UnloadingStarted.ftl">
<#break>
<#case "050"> <#--Unloading Completed-->
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentUnloadingCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaLstCarSta_UnloadingCompleted.ftl">
<#break>
<#case "060"> <#--Loading Started-->
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentLoadingStarted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaLstCarSta_LoadingStarted.ftl">
<#break>
<#case "070"> <#--Loading Completed-->
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentLoadingCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaLstCarSta_LoadingCompleted.ftl">
<#break>
<#case "090"> <#--Carrier Departed-->
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierDeparted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaLstCarSta_CarrierDeparted.ftl">
<#break> <#break>
<#default> <#default>
<#stop 'this updated appointment Status not implemented'>
</#switch>
}
]
<#break>
<#case "D">
<#-- *********************************************** Action = Delete ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign carrier_apt_status = JsonUtil.jsonToMap(dataRfx)>
<#stop 'Delete Appointment Status not implemented' >
<#break>
<#default>
<#stop > <#stop >
</#switch> </#switch>

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#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>
<#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}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt_status.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#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>
<#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}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt_status.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#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>
<#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}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt_status.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#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>
<#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}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt_status.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#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>
<#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}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt_status.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#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>
<#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}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt_status.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt_status.status.creation_datetime,time_zone_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#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>
<#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}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt_status.physical_depot?json_string)}"
}
}
]

View File

@ -1,7 +1,7 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
@ -16,8 +16,8 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparationStatusInterface = JsonUtil.jsonToMap(dataRfx) /> <#assign preparationStatusInterface = JsonUtil.jsonToMap(dataRfx) />
[ [
<#if preparationStatusInterface.preparation_type_code=="010" || preparationStatusInterface.preparation_type_code=="030">
<#--**Pick batch runned (200) **--> <#--**Pick batch runned (200) **-->
<#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!="">
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "200" > <#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "200" >
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationExpected> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationExpected>
@ -65,7 +65,7 @@
</#if> </#if>
</#if> </#if>
<#else> <#else>
<#stop "PRO reference is empty"> <#stop >
</#if> </#if>
] ]
<#break> <#break>

View File

@ -8,7 +8,11 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!="">
"RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
<#else>
"RefID": "O${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_year}${preparationStatusInterface.preparation_order_number}",
</#if>
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -7,7 +7,11 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!="">
"RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
<#else>
"RefID": "O${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_year}${preparationStatusInterface.preparation_order_number}",
</#if>
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -7,7 +7,11 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!="">
"RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
<#else>
"RefID": "O${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_year}${preparationStatusInterface.preparation_order_number}",
</#if>
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -7,7 +7,11 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!="">
"RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
<#else>
"RefID": "O${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_year}${preparationStatusInterface.preparation_order_number}",
</#if>
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -7,7 +7,11 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}", <#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!="">
"RefID": "${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
<#else>
"RefID": "O${preparationStatusInterface.physical_depot_code?trim?json_string}${preparationStatusInterface.activity_code?trim?json_string}${preparationStatusInterface.preparation_order_originator_code?trim?json_string}${preparationStatusInterface.preparation_order_year}${preparationStatusInterface.preparation_order_number}",
</#if>
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -2,6 +2,9 @@
<#-- input : message RFX --> <#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in ReflexPlatform -->
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
@ -17,7 +20,7 @@
<#assign actor = JsonUtil.jsonToMap(dataRfx)> <#assign actor = JsonUtil.jsonToMap(dataRfx)>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated> <#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreatedv2>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsaSup_ActorCreated.ftl"> <#include "RFXtoRP_HsaSup_ActorCreated.ftl">

View File

@ -1,6 +1,3 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[ [
{ {
"Header": { "Header": {
@ -11,18 +8,14 @@
}, },
"Payload": { "Payload": {
"Name": "${actor.designation?json_string}", "Name": "${actor.designation?json_string}",
"ManagedStock": false,
"IsCarrier": false, "IsCarrier": false,
<#-- ***Partner ID could be added here *** -->
<#-- "PartnerID": "${}", -->
<#include "RFXtoRP_HsaSup_ActorCreated_Metadata.ftl">, <#include "RFXtoRP_HsaSup_ActorCreated_Metadata.ftl">,
"Address": "Address":
{ {
<#-- if Reflex WMS address is structured --> <#-- if HARDIS WMS address is structured -->
<#if actor.supplier_structured_address?? > <#if actor.supplier_structured_address?? >
"Name": "${actor.supplier_structured_address.name_or_company?json_string}", "Name": "${actor.supplier_structured_address.name_or_company?json_string}",
"StreetAddressOne" : "${actor.supplier_structured_address.street_and_PO?json_string}", "StreetAddressOne" : "${actor.supplier_structured_address.street_and_PO?json_string}",
"StreetAddressTwo" : "${actor.supplier_structured_address.additionnal_data?json_string}", "StreetAddressTwo" : "${actor.supplier_structured_address.additionnal_data?json_string}",
@ -36,8 +29,7 @@
</#if> </#if>
"ProvinceCode": "${actor.supplier_structured_address.territorial_div_code?json_string}", "ProvinceCode": "${actor.supplier_structured_address.territorial_div_code?json_string}",
"State": "${actor.supplier_structured_address.country_designation?json_string}" "State": "${actor.supplier_structured_address.country_designation?json_string}"
<#-- if HARDIS WMS address is not structured -->
<#-- if Reflex WMS address is not structured -->
<#else> <#else>
<#if actor.optional_attributes?? > <#if actor.optional_attributes?? >
"Name": "${actor.optional_attributes.company_name?json_string}", "Name": "${actor.optional_attributes.company_name?json_string}",
@ -47,7 +39,6 @@
"CountryCode" : "" "CountryCode" : ""
</#if> </#if>
</#if> </#if>
}, },
<#if actor.optional_attributes?? > <#if actor.optional_attributes?? >
"Phones": ["${actor.optional_attributes.telephone?json_string}", "Phones": ["${actor.optional_attributes.telephone?json_string}",

View File

@ -1,4 +1,10 @@
<#-- use protobuf of class HsaSup to find Reflex WMS fields names --> <#-- use protobuf of class HsaSup to find HARDIS WMS fields names -->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -1,6 +1,3 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[ [
{ {
"Header": { "Header": {

View File

@ -1,7 +1,10 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS-WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in ReflexPlatform -->
<#include "ActorPrefix.ftl">
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
@ -9,32 +12,132 @@
<#assign aDateTime = .now> <#assign aDateTime = .now>
<#stop> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign carrier_apt = JsonUtil.jsonToMap(dataRfx)>
<#switch cloudEventMsg.action> <#switch cloudEventMsg.action>
<#case "C"> <#case "C">
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** --> <#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteForceBookAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl">
} }
] ]
<#break> <#break>
<#case "U">
<#case "D"> <#-- *********************************************** Action = Update ********************-->
<#-- *********************************************** Action = DELETE *************************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCustomFieldsUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl">
},
<#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>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_SiteCancelAppointment.ftl">
}
]
<#else>
<#if carrier_apt.status?? && carrier_apt.status.status_code=="100"> <#--Carrier Arrived-->
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierArrived>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_CarrierArrived.ftl">
}
]
<#else>
<#if carrier_apt.status?? && carrier_apt.status.status_code=="210"> <#--Unloading Started -->
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentUnloadingStarted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_UnloadingStarted.ftl">
}
]
<#else>
<#if carrier_apt.status?? && carrier_apt.status.status_code=="290"><#--Unloading Completed-->
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentUnloadingCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_UnloadingCompleted.ftl">
}
]
<#else>
<#if carrier_apt.status?? && carrier_apt.status.status_code=="310"><#--Loading Started-->
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentLoadingStarted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_LoadingStarted.ftl">
}
]
<#else>
<#if carrier_apt.status?? && carrier_apt.status.status_code=="390"><#--Loading Completed-->
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentLoadingCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_LoadingCompleted.ftl">
}
]
<#else>
<#if carrier_apt.status?? && carrier_apt.status.status_code=="500"><#--Carrier Departed-->
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierDeparted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_CarrierDeparted.ftl">
}
]
<#else>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteWMSUpdateAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl">
}
]
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
]
<#break>
<#case "D">
<#-- *********************************************** Action = Delete ******************** -->
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteCancelAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_SiteCancelAppointment.ftl">
} }
] ]
<#break> <#break>
<#default> <#default>
<#stop > <#stop >
</#switch> </#switch>

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

@ -0,0 +1,60 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) />
{
"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>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
},
"CustomFields": [
{
"Key": "depot",
"Value": "${carrier_apt.physical_depot?json_string}"
},
{
"Key": "year",
"Value": "${carrier_apt.year_number?json_string}"
},
{
"Key": "number",
"Value": "${carrier_apt.appointment_number?json_string}"
},
{
"Key": "reference",
"Value": "${carrier_apt.appointment_reference?json_string}"
},
{
"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}"
}
]
},
"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.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

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
{
"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>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
{
"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>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,3 @@
"CarrierInformation": [
]

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
{
"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>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
{
"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>
"RefDate": {
"DateTime": "${ref_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,5 @@
"MetaData": [
]

View File

@ -0,0 +1,5 @@
"Quantities": [
]

View File

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

View File

@ -0,0 +1,22 @@
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
[
{
<#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>
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"Header": {
"ProjectID": "${projectRP}"
},
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
}
]

View File

@ -0,0 +1,156 @@
[
{
"Header":{
"ProjectID": "${projectRP}"
},
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
<#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>
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"TimeZone":"${time_zone_rfx}",
<#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">
<#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 />
</#if>
</#if>
</#if>
"AppointmentType": "${appointmentType}",
"Emails": ["${carrier_apt.creation_user_email?json_string}"],
"CustomFields": [
{
"Key": "depot",
"Value": "${carrier_apt.physical_depot?json_string}"
},
{
"Key": "year",
"Value": "${carrier_apt.year_number?json_string}"
},
{
"Key": "number",
"Value": "${carrier_apt.appointment_number?json_string}"
},
{
"Key": "reference",
"Value": "${carrier_apt.appointment_reference?json_string}"
},
{
"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">,
<#include "RFXtoRP_HsrCarrierApt_CarrierInformation.ftl">,
<#include "RFXtoRP_HsrCarrierApt_MetadataAppointment.ftl">,
<#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0)>
"Commissions": [
<#list carrier_apt.physical_receipt_list?filter(l ->l??) as physical_receipt>
{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
<#if physical_receipt.physical_receipt_reference?? && physical_receipt.physical_receipt_reference!="">
"OrderID": "${physical_receipt.physical_receipt_reference?json_string}",
<#else>
"OrderID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year}${physical_receipt.receipt_number}",
</#if>
"ExecutionflowID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year?json_string}${physical_receipt.receipt_number?json_string}",
"ProjectID": "${projectRP}",
<#include "RFXtoRP_HsrCarrierApt_Quantities.ftl">
}<#sep>,</#sep>
</#list>
],
<#else>
"Commissions": [
{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
"ProjectID": "${projectRP}",
<#include "RFXtoRP_HsrCarrierApt_Quantities.ftl">
}
],
<#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-->
"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">
<#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

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
{
"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}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
</#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}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,30 @@
[
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
{
"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}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
<#else>
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
</#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}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload":{
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
}
}
]

View File

@ -0,0 +1,149 @@
[
{
<#assign creation_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) />
"Header":{
"ProjectID": "${projectRP}"
},
<#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>
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
<#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">
<#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 />
</#if>
</#if>
</#if>
</#if>
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
"TimeZone":"${time_zone_rfx}",
"CustomFields": [
{
"Key": "depot",
"Value": "${carrier_apt.physical_depot?json_string}"
},
{
"Key": "year",
"Value": "${carrier_apt.year_number?json_string}"
},
{
"Key": "number",
"Value": "${carrier_apt.appointment_number?json_string}"
},
{
"Key": "reference",
"Value": "${carrier_apt.appointment_reference?json_string}"
},
{
"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) && ((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}",
<#else>
"OrderID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year}${physical_receipt.receipt_number}",
</#if>
"ExecutionflowID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year?json_string}${physical_receipt.receipt_number?json_string}",
"ProjectID": "${projectRP}"
}<#sep>,</#sep>
</#list>
],
<#else>
<#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-->
"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">
<#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,7 +1,7 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
@ -17,7 +17,7 @@
<#assign depot = JsonUtil.jsonToMap(dataRfx)> <#assign depot = JsonUtil.jsonToMap(dataRfx)>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated> <#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreatedv2>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrDepot_ActorCreated.ftl"> <#include "RFXtoRP_HsrDepot_ActorCreated.ftl">

View File

@ -11,20 +11,12 @@
}, },
"Payload": { "Payload": {
"Name": "${depot.physical_depot_designation?json_string}", "Name": "${depot.physical_depot_designation?json_string}",
"ManagedStock": true,
"IsCarrier": false, "IsCarrier": false,
<#-- ***Partner ID could be added here *** -->
<#-- "PartnerID": "${}", -->
<#include "RFXtoRP_HsrDepot_ActorCreated_Metadata.ftl">, <#include "RFXtoRP_HsrDepot_ActorCreated_Metadata.ftl">,
"Address": "Address":
{ {
<#-- if Reflex WMS address is structured --> <#-- if HARDIS WMS address is structured -->
<#if depot.physical_depot_structured_address?? > <#if depot.physical_depot_structured_address?? >
"Name": "${depot.physical_depot_structured_address.name_or_company?json_string}", "Name": "${depot.physical_depot_structured_address.name_or_company?json_string}",
"StreetAddressOne" : "${depot.physical_depot_structured_address.street_and_PO?json_string}", "StreetAddressOne" : "${depot.physical_depot_structured_address.street_and_PO?json_string}",
"StreetAddressTwo" : "${depot.physical_depot_structured_address.additionnal_data?json_string}", "StreetAddressTwo" : "${depot.physical_depot_structured_address.additionnal_data?json_string}",
@ -38,8 +30,7 @@
</#if> </#if>
"ProvinceCode": "${depot.physical_depot_structured_address.territorial_div_code?json_string}", "ProvinceCode": "${depot.physical_depot_structured_address.territorial_div_code?json_string}",
"State": "${depot.physical_depot_structured_address.country_designation?json_string}" "State": "${depot.physical_depot_structured_address.country_designation?json_string}"
<#-- if HARDIS WMS address is not structured -->
<#-- if Reflex WMS address is not structured -->
<#else> <#else>
<#if depot.physical_depot_address??> <#if depot.physical_depot_address??>
"Name": "${depot.physical_depot_address.company_name?json_string}", "Name": "${depot.physical_depot_address.company_name?json_string}",
@ -55,7 +46,7 @@
"${depot.physical_depot_address.other_number?json_string}" "${depot.physical_depot_address.other_number?json_string}"
], ],
</#if> </#if>
"Typology": "TYPOLOGY_UNKNOWN" "Typology": "TYPOLOGY_WAREHOUSE"
} }
} }
] ]

View File

@ -1,4 +1,10 @@
<#-- use protobuf of class HsrDepot to find Reflex WMS fields names --> <#-- use protobuf of class HsrDepot to find HARDIS WMS fields names -->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -1,7 +1,7 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>

32
RFXtoRP_HsrPackBranch.ftl Normal file
View File

@ -0,0 +1,32 @@
<#-- **** input parameters ***** -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#assign aDateTime = .now>
<#switch cloudEventMsg.action>
<#case "C">
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign packBranch = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for Pack Branch">
<#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>
<#default>
<#stop >
</#switch>

32
RFXtoRP_HsrPackOrder.ftl Normal file
View File

@ -0,0 +1,32 @@
<#-- **** input parameters ***** -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#assign aDateTime = .now>
<#switch cloudEventMsg.action>
<#case "C">
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign packOrder = JsonUtil.jsonToMap(dataRfx)>
<#stop "no generic FTL file available yet for Pack Order">
<#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>
<#default>
<#stop >
</#switch>

View File

@ -1,11 +1,12 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#include "ReflexUtils.ftl"> <#include "ReflexUtils.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
<#assign organisationRP = organisation> <#assign organisationRP = organisation>
<#include "RFX_PartnerAPP_Settings.ftl">
<#assign aDateTime = .now> <#assign aDateTime = .now>
@ -16,7 +17,9 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparationOrder = JsonUtil.jsonToMap(dataRfx)> <#assign preparationOrder = JsonUtil.jsonToMap(dataRfx)>
<#if preparationOrder.total_lv_validated !=0> <#if preparationOrder.total_lv_validated?? && preparationOrder.total_lv_validated !=0>
<#if preparationOrder.preparation_type_code=="010" || preparationOrder.preparation_type_code=="030">
<#if preparationOrder.preparation_line_lst??>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsPrepared> <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsPrepared>
@ -24,14 +27,13 @@
"datas" : "datas" :
<#include "RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl"> <#include "RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl">
}, },
<#include "RFXtoRP_HsrPrepa_ExecutionflowMetadataUpdated.ftl">
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched> <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl"> <#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl">
} }
<#if preparationOrder.load_data?? && preparationOrder.load_data.carrier_code?? && preparationOrder.load_data.carrier_code!=""> <#if preparationOrder.load_data?? && preparationOrder.load_data.carrier_code?? && preparationOrder.load_data.carrier_code!="">
, ,
{ {
@ -39,23 +41,16 @@
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrPrepa_CarrierUpdated.ftl"> <#include "RFXtoRP_HsrPrepa_CarrierUpdated.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.OrderCarrierUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl">
} }
</#if> </#if>
<#assign refIDHmap ={}> <#assign refIDHmap ={}>
<#assign hd_numberHmap ={}> <#assign hd_numberHmap ={}>
<#assign hd_numberHmapHUadded ={}> <#assign hd_numberHmapHUadded ={}>
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.preparation_order_originator_reference!="") as preparation_line> <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? ) as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg> <#list preparation_line.despatched_ipg_list as despatched_ipg>
<#assign HUadded_packing_datetime = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) /> <#assign HUadded_packing_datetime = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) />
<#if !hd_numberHmap[despatched_ipg.hd_number]?? > <#if (!hd_numberHmap[despatched_ipg.hd_number]?? || !hd_numberHmap[despatched_ipg.carton_number]??) && (trackingNumberSource==2 || trackingNumberSource==3 || (despatched_ipg.consignment_unit_id!="" && trackingNumberSource==1))>
<#assign hd_numberHmap += {despatched_ipg.hd_number,despatched_ipg.hd_number}>
, ,
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled> <#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled>
@ -78,7 +73,7 @@
"datas" : "datas" :
<#include "RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl"> <#include "RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl">
} }
<#if !hd_numberHmapHUadded[despatched_ipg.hd_number]??> <#if !hd_numberHmapHUadded[despatched_ipg.hd_number]?? && (trackingNumberSource==2 || trackingNumberSource==3 )>
<#assign hd_numberHmapHUadded += {despatched_ipg.hd_number,despatched_ipg.hd_number}> <#assign hd_numberHmapHUadded += {despatched_ipg.hd_number,despatched_ipg.hd_number}>
, ,
{ {
@ -95,7 +90,16 @@
<#assign refIDHmap ={}> <#assign refIDHmap ={}>
] ]
<#else> <#else>
<#stop "no confirmed quantity for the preparation - preparation closed"> <#-- No line-->
<#stop>
</#if>
<#else>
<#-- Preparation Type not supported-->
<#stop>
</#if>
<#else>
<#-- no confirmed quantity for the preparation - preparation closed-->
<#stop>
</#if> </#if>

View File

@ -3,8 +3,12 @@
<#include "ActorPrefix.ftl"> <#include "ActorPrefix.ftl">
[ [
<#assign refIDHmap_local ={}> <#assign refIDHmap_local ={}>
<#list preparationOrder.preparation_line_lst?filter(l ->l.preparation_order_originator_reference!="") as preparation_line> <#list preparationOrder.preparation_line_lst as preparation_line>
<#assign OrderOriginReference = preparation_line.preparation_order_originator_reference?trim?json_string> <#if preparation_line.preparation_order_originator_reference?? && preparation_line.preparation_order_originator_reference!="">
<#assign OrderOriginReference = "${preparation_line.pro_physical_depot_code?trim?json_string}${preparationOrder.activity_code?trim?json_string}${preparation_line.pro_originator_code?trim?json_string}${preparation_line.preparation_order_originator_reference?trim?json_string}">
<#else>
<#assign OrderOriginReference = "O${preparation_line.pro_physical_depot_code?trim?json_string}${preparationOrder.activity_code?trim?json_string}${preparation_line.pro_originator_code?trim?json_string}${preparation_line.pro_year}${preparation_line.pro_number}">
</#if>
<#if !refIDHmap_local[OrderOriginReference]?? > <#if !refIDHmap_local[OrderOriginReference]?? >
<#if refIDHmap_local?size != 0 > <#if refIDHmap_local?size != 0 >
, ,

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

@ -1,7 +1,10 @@
<#-- use protobuf of class HsrPrepa to find Reflex WMS fields names --> <#-- use protobuf of class HsrPrepa to find HARDIS WMS fields names -->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
<#--
"MetaData" :[
]
-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -1,5 +1,11 @@
<#-- use protobuf of class Hsrprepa to find Reflex WMS fields names --> <#-- use protobuf of class Hsrprepa to find HARDIS WMS fields names -->
<#-- <#--
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)
"SegmentationKeys": [ "SegmentationKeys": [
{ {
"Key": "Grade", "Key": "Grade",

View File

@ -3,7 +3,7 @@
[ [
<#assign dispatched3_datetime = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) /> <#assign dispatched3_datetime = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) />
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line3> <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.despatched_ipg_list?size != 0) as preparation_line3>
<#list preparation_line3.despatched_ipg_list?filter(j ->j.carton_number!="000000000000000000") as despatched_ipg3> <#list preparation_line3.despatched_ipg_list?filter(j ->j.carton_number!="000000000000000000") as despatched_ipg3>
<#if !refIDHmap[despatched_ipg3.carton_number]?? > <#if !refIDHmap[despatched_ipg3.carton_number]?? >
<#if refIDHmap?size != 0 > <#if refIDHmap?size != 0 >

View File

@ -1,9 +1,10 @@
<#-- use protobuf of class HsrPrepa to find Reflex WMS fields names --> <#-- use protobuf of class HsrPrepa to find HARDIS WMS fields names -->
<#-- <#-- Best practices:
"MetaData" :[ If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
]
-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -3,7 +3,7 @@
[ [
<#assign dispatched_datetime = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) /> <#assign dispatched_datetime = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) />
<#assign refIDHmap_local ={}> <#assign refIDHmap_local ={}>
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.preparation_order_originator_reference!="") as preparation_line> <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.despatched_ipg_list?size != 0) as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg> <#list preparation_line.despatched_ipg_list as despatched_ipg>
<#if !refIDHmap_local[despatched_ipg.hd_number]?? > <#if !refIDHmap_local[despatched_ipg.hd_number]?? >
<#if refIDHmap_local?size != 0 > <#if refIDHmap_local?size != 0 >

View File

@ -2,7 +2,7 @@
<#include "HfRpConfig.ftl"> <#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl"> <#include "ActorPrefix.ftl">
[ [
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.preparation_order_originator_reference!="") as preparation_line> <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.despatched_ipg_list?size != 0 ) as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg> <#list preparation_line.despatched_ipg_list as despatched_ipg>
<#assign packing_datetime = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) /> <#assign packing_datetime = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) />
{ {
@ -112,7 +112,14 @@
<#-- Segmentation Keys inclusion --> <#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl"> <#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl">
}, },
"ExecutionflowID": "${preparation_line.preparation_order_originator_reference?trim?json_string}", <#if preparation_line.preparation_order_originator_reference?? && preparation_line.preparation_order_originator_reference!="">
"OrderID": "${preparation_line.preparation_order_originator_reference?trim?json_string}",
"ExecutionflowID": "${preparation_line.pro_physical_depot_code?trim?json_string}${preparationOrder.activity_code?trim?json_string}${preparation_line.pro_originator_code?trim?json_string}${preparation_line.preparation_order_originator_reference?trim?json_string}",
<#else>
"OrderID": "O${preparation_line.pro_physical_depot_code?trim?json_string}${preparationOrder.activity_code?trim?json_string}${preparation_line.pro_originator_code?trim?json_string}${preparation_line.pro_year}${preparation_line.pro_number}",
"ExecutionflowID": "O${preparation_line.pro_physical_depot_code?trim?json_string}${preparationOrder.activity_code?trim?json_string}${preparation_line.pro_originator_code?trim?json_string}${preparation_line.pro_year}${preparation_line.pro_number}",
</#if>
<#if (preparation_line.pro_originator_reference_line_number!0) != 0> <#if (preparation_line.pro_originator_reference_line_number!0) != 0>
"LineID": "${preparation_line.pro_originator_reference_line_number}", "LineID": "${preparation_line.pro_originator_reference_line_number}",
<#else> <#else>

View File

@ -1,29 +0,0 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
[
<#assign refIDHmap_local ={}>
<#list preparationOrder.preparation_line_lst?filter(l ->l.preparation_order_originator_reference!="") as preparation_line>
<#assign OrderOriginReference = preparation_line.preparation_order_originator_reference?trim?json_string>
<#if !refIDHmap_local[OrderOriginReference]?? >
<#if refIDHmap_local?size != 0 >
,
</#if>
<#assign refIDHmap_local +={OrderOriginReference,OrderOriginReference}>
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID":{
"RefID": "${OrderOriginReference}"
},
"Payload":{
"Carrier": {
"ActorID": "${RFXtoRPprefixCarrier(preparationOrder.load_data.carrier_code?trim?json_string)}"
}
}
}
</#if>
</#list>
<#assign refIDHmap_local ={}>
]

View File

@ -1,6 +1,7 @@
<#include "HfRpConfig.ftl"> <#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl"> <#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl"> <#include "ActorPrefix.ftl">
<#include "RFX_PartnerAPP_Settings.ftl">
[ [
<#assign dispatched_datetime4 = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) /> <#assign dispatched_datetime4 = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) />
{ {
@ -8,6 +9,20 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
<#switch trackingNumberSource>
<#case 1>
<#if despatched_ipg.consignment_unit_id!="">
"RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}",
</#if>
<#break>
<#case 2>
<#if despatched_ipg.carton_number != "000000000000000000">
"RefID":"${despatched_ipg.carton_number}",
<#else>
"RefID":"${despatched_ipg.hd_number}",
</#if>
<#break>
<#case 3>
<#if despatched_ipg.consignment_unit_id!=""> <#if despatched_ipg.consignment_unit_id!="">
"RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}", "RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}",
<#else> <#else>
@ -17,6 +32,18 @@
"RefID":"${despatched_ipg.hd_number}", "RefID":"${despatched_ipg.hd_number}",
</#if> </#if>
</#if> </#if>
<#break>
<#default>
<#if despatched_ipg.consignment_unit_id!="">
"RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}",
<#else>
<#if despatched_ipg.carton_number != "000000000000000000">
"RefID":"${despatched_ipg.carton_number}",
<#else>
"RefID":"${despatched_ipg.hd_number}",
</#if>
</#if>
</#switch>
"RefDate": { "RefDate": {
"DateTime": "${dispatched_datetime4}", "DateTime": "${dispatched_datetime4}",
@ -26,8 +53,10 @@
"Payload": { "Payload": {
<#if despatched_ipg.carton_number != "000000000000000000"> <#if despatched_ipg.carton_number != "000000000000000000">
"HandlingunitID": "${despatched_ipg.carton_number}" "HandlingunitID": "${despatched_ipg.carton_number}"
<#assign hd_numberHmap += {despatched_ipg.carton_number,despatched_ipg.carton_number}>
<#else> <#else>
"HandlingunitID": "${despatched_ipg.hd_number}" "HandlingunitID": "${despatched_ipg.hd_number}"
<#assign hd_numberHmap += {despatched_ipg.hd_number,despatched_ipg.hd_number}>
</#if> </#if>
<#if preparationOrder.load_data?? && preparationOrder.load_data.carrier_code?? && preparationOrder.load_data.carrier_code!="" > <#if preparationOrder.load_data?? && preparationOrder.load_data.carrier_code?? && preparationOrder.load_data.carrier_code!="" >
, ,

View File

@ -1,7 +1,7 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
@ -16,29 +16,28 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparation_order = JsonUtil.jsonToMap(dataRfx)> <#assign preparation_order = JsonUtil.jsonToMap(dataRfx)>
[ [
<#if preparation_order.originator_reference?? && preparation_order.originator_reference!="">
<#-- check preparation type code (internal order and reservation are ignored) --> <#-- check preparation type code (internal order and reservation are ignored) -->
<#if preparation_order.preparation_type_code == "010" || preparation_order.preparation_type_code == "030"> <#if preparation_order.preparation_type_code == "010" || preparation_order.preparation_type_code == "030">
<#-- Only if preparation order not confirmed --> <#if preparation_order.line_list??>
<#if preparation_order.preparation_order_confirmed == "false" >
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrPro_ExecutionflowDetected.ftl"> <#include "RFXtoRP_HsrPro_ExecutionflowDetected.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCustomFieldsUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPro_ExecutionflowCustomFieldsUpdated.ftl">
} }
<#else> <#else>
<#-- preparation order already confirmed --> <#-- No line -->
<#stop>
</#if>
<#else>
<#-- preparation order type not supported -->
<#stop> <#stop>
</#if> </#if>
<#else> <#else>
<#stop "PRO reference is empty"> <#-- Preparation order type not supported -->
<#stop>
</#if> </#if>
] ]
<#break> <#break>
@ -48,7 +47,8 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparation_order = JsonUtil.jsonToMap(dataRfx)> <#assign preparation_order = JsonUtil.jsonToMap(dataRfx)>
[ [
<#if preparation_order.originator_reference?? && preparation_order.originator_reference!=""> <#if preparation_order.preparation_type_code == "010" || preparation_order.preparation_type_code == "030" >
<#if preparation_order.line_list??>
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
@ -56,12 +56,15 @@
<#include "RFXtoRP_HsrPro_ExecutionflowCancelled.ftl"> <#include "RFXtoRP_HsrPro_ExecutionflowCancelled.ftl">
} }
<#else> <#else>
<#stop "PRO reference is empty"> <#-- No line -->
<#stop>
</#if>
<#else>
<#-- Preparation order type not supported -->
<#stop>
</#if> </#if>
] ]
<#break> <#break>
<#default> <#default>
<#stop > <#stop >
</#switch> </#switch>

View File

@ -7,7 +7,11 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparation_order.originator_reference?trim?json_string}", <#if preparation_order.originator_reference?? && preparation_order.originator_reference!="">
"RefID": "${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.originator_reference?trim?json_string}",
<#else>
"RefID": "O${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.preparation_order_year}${preparation_order.preparation_order_number}",
</#if>
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@ -0,0 +1,44 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"Payload" :{},
"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}"
}
],
<#if preparation_order.originator_reference?? && preparation_order.originator_reference!="">
"RefID": "${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.originator_reference?trim?json_string}"
<#else>
"RefID": "O${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.preparation_order_year}${preparation_order.preparation_order_number}"
</#if>
}
}
]

View File

@ -9,7 +9,37 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparation_order.originator_reference?trim?json_string}", "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}"
}
],
<#if preparation_order.originator_reference?? && preparation_order.originator_reference!="">
"RefID": "${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.originator_reference?trim?json_string}",
<#else>
"RefID": "O${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.preparation_order_year}${preparation_order.preparation_order_number}",
</#if>
"RefDate": { "RefDate": {
"DateTime": "${pro_creation_datetime}", "DateTime": "${pro_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
@ -31,17 +61,13 @@
}, },
"ShipFromAcked": true, "ShipFromAcked": true,
"ShipTo": { "ShipTo": {
<#if <#if preparation_order.preparation_type_code == "030" && preparation_order.optional_attributes.intermediate_consignee_transfer_physical_depot?? && preparation_order.optional_attributes.intermediate_consignee_transfer_physical_depot!="" && preparation_order.optional_attributes.transfer_intermediate_consignee=="true">
<#-- preparation_order.address.type_code == "" && "ActorID": "${RFXtoRPprefixDepot(preparation_order.optional_attributes.intermediate_consignee_transfer_physical_depot?json_string)}"
preparation_order.address.title_code == "" && <#else>
preparation_order.address.first_name == "" && <#if preparation_order.preparation_type_code == "030" && preparation_order.optional_attributes.transfer_intermediate_consignee=="false" && preparation_order.transfer_physical_depot_code?? && preparation_order.transfer_physical_depot_code!="">
preparation_order.address.last_name == "" && "ActorID": "${RFXtoRPprefixDepot(preparation_order.transfer_physical_depot_code?json_string)}"
preparation_order.address.mail_address == "" && <#else>
preparation_order.address.contact_type_code == "" && <#if preparation_order.address.address_type_code == "" &&
preparation_order.address.mobile_phone_number == "" &&
preparation_order.address.land_line_phone_number == "" &&
preparation_order.address.fax_number == "" && -->
preparation_order.address.address_type_code == "" &&
preparation_order.address.name_or_company_name == "" && preparation_order.address.name_or_company_name == "" &&
preparation_order.address.additional_address_data_1 == "" && preparation_order.address.additional_address_data_1 == "" &&
preparation_order.address.additional_address_data_2 == "" && preparation_order.address.additional_address_data_2 == "" &&
@ -57,13 +83,8 @@
"Address" : "Address" :
{ {
"City" : "${(preparation_order.address.post_code_area_name!"")?json_string}", "City" : "${(preparation_order.address.post_code_area_name!"")?json_string}",
<#assign isCountryCode = JsonUtil.isCountryCode(preparation_order.address.iso_country_code?upper_case) /> "CountryCode" : "${preparation_order.address.iso_country_code!""}",
<#if isCountryCode> "PostalCode" : "${preparation_order.address.postal_code!""}",
"CountryCode" : "${(preparation_order.address.iso_country_code!"")?json_string}",
<#else>
"CountryCode" : "",
</#if>
"PostalCode" : "${(preparation_order.address.postal_code!"")?json_string}",
"StreetAddressOne" : "${(preparation_order.address.street_and_number_and_po_box!"")?json_string}", "StreetAddressOne" : "${(preparation_order.address.street_and_number_and_po_box!"")?json_string}",
"StreetAddressTwo" : "${(preparation_order.address.additional_address_data_1!"")?json_string}", "StreetAddressTwo" : "${(preparation_order.address.additional_address_data_1!"")?json_string}",
"StreetAddressThree" : "${(preparation_order.address.additional_address_data_2!"")?json_string}" "StreetAddressThree" : "${(preparation_order.address.additional_address_data_2!"")?json_string}"
@ -77,8 +98,14 @@
"Phones" : ["${(preparation_order.address.mobile_phone_number!"")?json_string}","${(preparation_order.address.land_line_phone_number!"")?json_string}", "${(preparation_order.address.fax_number!"")?json_string}" ] "Phones" : ["${(preparation_order.address.mobile_phone_number!"")?json_string}","${(preparation_order.address.land_line_phone_number!"")?json_string}", "${(preparation_order.address.fax_number!"")?json_string}" ]
} }
</#if> </#if>
</#if>
</#if>
}, },
<#if preparation_order.originator_reference?? && preparation_order.originator_reference!="">
"OrderID": "${preparation_order.originator_reference?trim?json_string}",
<#else>
"OrderID": "O${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.preparation_order_year}${preparation_order.preparation_order_number}",
</#if>
<#if preparation_order.line_list??> <#if preparation_order.line_list??>
"Lines" : [ "Lines" : [
<#list preparation_order.line_list as preparation_order_line > <#list preparation_order.line_list as preparation_order_line >
@ -117,8 +144,14 @@
{ {
"RequestedDeliveryDateTime" : "RequestedDeliveryDateTime" :
{ {
<#if preparation_order.intermediate_consignee_code?? && preparation_order.intermediate_consignee_code!="" && preparation_order.intermediate_delivery_start_datetime?? && preparation_order.intermediate_delivery_start_datetime!="0000-00-00T00:00:00">
<#assign intermediate_delivery_start_datetime = RfxDateTimetoUTCWithTimezone(preparation_order.intermediate_delivery_start_datetime,time_zone_rfx) />
"DateTime": "${intermediate_delivery_start_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
<#else>
"DateTime": "${planned_final_delivery_start_datetime}", "DateTime": "${planned_final_delivery_start_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
</#if>
} }
} }
} }

View File

@ -1,14 +1,10 @@
<#-- use protobuf of class HsrPro to find Reflex Wms fields names --> <#-- use protobuf of class HsrPro to find HARDIS WMS fields names -->
<#--
"MetaData": [
{
"Key": "OrderType",
"Value": { "String" : "${preparation_order.optional_attributes.reason_code}"}
}
],
-->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -1,4 +1,10 @@
<#-- use protobuf of class HsrPro to find Reflex Wms fields names --> <#-- use protobuf of class HsrPro to find HARDIS WMS fields names -->
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)-->
"MetaData": [ ] "MetaData": [ ]

View File

@ -1,5 +1,11 @@
<#-- use protobuf of class HsrPro to find Reflex WMS fields names --> <#-- use protobuf of class HsrPro to find HARDIS WMS fields names -->
<#-- <#--
<#-- Best practices:
If the SK is of type:
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
- boolean: possible values: true and false
- datetime: expected format: 2025-10-30T10:12:10.000Z
- decimal number: the separator is a point (e.g. 10.5)
"SegmentationKeys": [ "SegmentationKeys": [
{ {

View File

@ -1,7 +1,7 @@
<#-- **** input parameters ***** --> <#-- **** input parameters ***** -->
<#-- input : message RFX --> <#-- input : message HARDIS WMS -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
@ -15,10 +15,30 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign receipt = JsonUtil.jsonToMap(dataRfx)> <#assign receipt = JsonUtil.jsonToMap(dataRfx)>
<#if receipt.receipt_reference ?? && receipt.receipt_reference!=""> <#if receipt.receipt_type?? && receipt.receipt_type = "030" && receipt.line_list??> <#-- if reception is a transfer type -->
<#if receipt.receipt_type = "030"> [
<#stop "ignored message because receipt type = transfert"> {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowDetected.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptExpected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertReceiptExpected.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCustomFieldsUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertCustomFieldsUpdated.ftl">
}
]
<#else> <#else>
<#if receipt.line_list ??>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
@ -32,12 +52,17 @@
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrReceiptList_ReceiptExpected.ftl"> <#include "RFXtoRP_HsrReceiptList_ReceiptExpected.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCustomFieldsUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_CustomFieldsUpdated.ftl">
} }
] ]
</#if>
<#else> <#else>
<#stop "Receipt reference is empty"> <#stop>
</#if>
</#if> </#if>
<#break> <#break>
<#case "U"> <#case "U">
@ -45,8 +70,31 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign receipt = JsonUtil.jsonToMap(dataRfx)> <#assign receipt = JsonUtil.jsonToMap(dataRfx)>
[ [
<#if receipt.receipt_reference?? && receipt.receipt_reference!=""> <#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "true" && receipt.confirmation_total_level_1==0 && receipt.confirmation_total_level_2==0 && receipt.confirmation_total_level_3==0>
<#if receipt.receipt_confirmed == "true" > {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowCancelled.ftl">
}
<#else>
<#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "true">
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowReceiptCompleted.ftl">
}
<#else>
<#if receipt.receipt_confirmed?? && receipt.receipt_confirmed == "true" && receipt.confirmation_total_level_1==0 && receipt.confirmation_total_level_2==0 && receipt.confirmation_total_level_3==0>
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl">
}
<#else>
<#if receipt.receipt_confirmed ?? && receipt.receipt_confirmed == "true" >
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptCompleted> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
@ -54,9 +102,29 @@
<#include "RFXtoRP_HsrReceiptList_ExecutionflowReceiptCompleted.ftl"> <#include "RFXtoRP_HsrReceiptList_ExecutionflowReceiptCompleted.ftl">
} }
<#else> <#else>
<#if receipt.receipt_type = "030"> <#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "false" && receipt.line_list??>
<#stop "ignored message because receipt type = transfert"> <#if receipt.receipt_reference?? && receipt.receipt_reference!="">
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowDetected.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptExpected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrReceiptList_TransfertReceiptExpected.ftl">
}
]
<#else> <#else>
<#stop> <#-- Receipt reference for transfer is empty-->
</#if>
<#else>
<#if receipt.line_list ??>
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
@ -69,10 +137,13 @@
"datas" : "datas" :
<#include "RFXtoRP_HsrReceiptList_ReceiptExpected.ftl"> <#include "RFXtoRP_HsrReceiptList_ReceiptExpected.ftl">
} }
</#if>
</#if>
<#else> <#else>
<#stop "Receipt reference is empty"> <#stop>
</#if>
</#if>
</#if>
</#if>
</#if>
</#if> </#if>
] ]
<#break> <#break>
@ -81,8 +152,8 @@
<#-- *********************************************** Action = DELETE ******************** --> <#-- *********************************************** Action = DELETE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign receipt = JsonUtil.jsonToMap(dataRfx)> <#assign receipt = JsonUtil.jsonToMap(dataRfx)>
<#if receipt.line_list ??>
[ [
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
@ -90,10 +161,10 @@
"datas" : "datas" :
<#include "RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl"> <#include "RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl">
} }
<#else>
<#stop "Receipt reference is empty">
</#if>
] ]
<#else>
<#stop> <#-- No line-->
</#if>
<#break> <#break>

View File

@ -0,0 +1,40 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"Payload" :{},
"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}"
}
],
"RefID": "R${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year}${receipt.receipt_number}"
}
}
]

View File

@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${receipt.receipt_reference?trim?json_string}", "RefID": "R${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year}${receipt.receipt_number}",
"RefDate": { "RefDate": {
"DateTime": "${receipt_status_datetime}", "DateTime": "${receipt_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

Some files were not shown because too many files have changed in this diff Show More