Compare commits

..

956 Commits

Author SHA1 Message Date
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 0a34359e12)
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 4496a4a2ce)
2026-01-13 18:01:42 +01:00
f5c8640d11 The loading and unloading appointment is not yet managed.
(cherry picked from commit 7e57d91cb6)
2026-01-09 15:37:48 +01: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 a6fec0c333)
2026-01-08 15:39:06 +01:00
a6fec0c333 SCPN1-9943 2026-01-08 15:29:01 +01:00
45258af56e Release 2.0.17+1 2026-01-08 10:27:50 +01: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
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
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
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
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
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 894031cc49.
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
ab9e892640 Release 2.0.11+1 2025-11-06 11:09:15 +01: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 9214df8b96)
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
9521679a8d Release 2.0.10+1 2025-10-29 10:48:35 +01: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 d116ab3856)
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 f8c4e5d79d)
2025-10-21 16:14:38 +02:00
498e9ab448 Coorection HliPrepaL
(cherry picked from commit 4f8317f007)
2025-10-21 16:14:27 +02:00
9d7b3ec2f1 readme
(cherry picked from commit 039e984ec0)
2025-10-21 16:14:14 +02:00
4f7255d9e8 nouvelle marque
(cherry picked from commit eafbf7a6e3)
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
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 791a958b4d)
2025-10-16 15:05:23 +02:00
794d9a3b69 SCPN1-9437
(cherry picked from commit 5bdd9fbfe1)
2025-10-16 15:05:10 +02:00
549767f035 SCPN1-9437
(cherry picked from commit 93a0fbd79c)
2025-10-16 15:04:55 +02:00
91916d9100 SCPN1-9437
(cherry picked from commit ae27efacf3)
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 8ca640ca38)
2025-10-08 09:29:28 +02:00
3525d80390 SCPN1-9094
(cherry picked from commit 4129dfdd58)
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
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 a6628be34e)
2025-09-25 16:31:24 +02:00
a6628be34e SCPN1-9348 2025-09-25 16:23:34 +02: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 4fd4007794)
2025-09-24 10:13:06 +02:00
4fd4007794 Correction transfert 2025-09-23 10:17:39 +02: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 9b07206cf4)
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 8d4721576f)
2025-09-08 18:02:24 +02:00
8d4721576f Renotified 2025-09-08 16:43:25 +02: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 6b0d53926f)
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
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
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 f5971a6b06)
2025-07-02 14:37:45 +02:00
a85eb86c99 SCPN1-8991
(cherry picked from commit 9d7293d92e)
(cherry picked from commit fb329894cc)
2025-07-01 15:44:15 +02:00
fb329894cc SCPN1-8991
(cherry picked from commit 9d7293d92e)
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
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
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 9a7f669192)
2025-05-26 16:59:21 +02:00
9a7f669192 SCPN1-8800 2025-05-26 10:08:22 +02: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
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 a1c4b8a4ac)
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
9cadf3329e Release 1.2.37+2 2025-04-09 11:46:44 +02:00
4502df6fb0 Merge branch 'SCPN1-8597' into 'release/1.2'
SCPN1-8597

See merge request r-d-technique/tiers/reflex-wms-connector!96
2025-04-09 09:46:01 +00:00
3ca4b61e3b SCPN1-8597 2025-04-09 11:44:48 +02:00
4a26fd9249 Release 1.2.37+1 2025-04-09 10:24:39 +02:00
4624bab7ad Release 1.2.36+1 2025-04-08 15:41:19 +02: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
c754edaafb Release 1.2.35+1 2025-04-07 12:31:37 +02:00
adff1396c1 Merge branch 'connector-1.2-to-visibility1.10' into 'release/1.2'
connector-1.2-to-visibility1.10

See merge request r-d-technique/tiers/reflex-wms-connector!95
2025-04-07 09:32:40 +00:00
0b70c90257 Merge branch 'develop-1.2' into connector-1.2-to-visibility1.10
# Conflicts:
#	RFXtoRP_HsaDispute.ftl
#	RFXtoRP_HsaDispute_Created.ftl
#	RFXtoRP_HsaIpgMove_StockMoved.ftl
#	RFXtoRP_HsrDepot_ActorCreated.ftl
#	RFXtoRP_HsrPrepa.ftl
#	RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl
2025-03-31 17:21:37 +02:00
40d767406a change executuionflow.Order.ID to eventRP.refid 2025-03-27 15:21:59 +01:00
2828c01cc4 modifs HU received 2025-03-26 15:08:56 +01:00
4553507e3b modifs HU 2025-03-26 14:59:09 +01:00
d5efde68a9 modifs recipt 2025-03-24 15:59:20 +01:00
830db1493b modifs receipt 2025-03-24 15:58:33 +01:00
f31be2092e modifs 2025-03-21 17:19:13 +01:00
24564d199e claim 2025-03-21 17:09:37 +01:00
79ad7f53e8 dispute 2025-03-21 14:30:15 +01:00
c280b2c83a hsrdepot 2025-03-21 14:27:52 +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
3a0bbdc479 claim reference empty 2025-03-21 11:21:59 +01:00
1e9ce7cdc4 claim 2025-03-20 18:02:43 +01:00
cdc4ab6c3c claim 2025-03-20 17:52:49 +01:00
9b4506912c modifs actor 2025-03-20 17:44:33 +01:00
eefc7070ac SCPN1-8474
(cherry picked from commit 53c400be49)
2025-03-20 17:38:36 +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
f9c62d5ee4 SCPN1-8474
(cherry picked from commit 02e8dc2566)
2025-03-20 17:11:58 +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
bcf77601b9 SCPN1-8496 2025-03-20 13:52:24 +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
1670a22218 SCPN1-8483
(cherry picked from commit 8ee7527ba4)
2025-03-19 11:48:17 +01:00
4115d9ec5f SCPN1-8483
(cherry picked from commit 8ee7527ba4)
2025-03-19 11:47:41 +01:00
cdc78d71b1 Release 1.2.34+1 2025-03-19 11:16:37 +01:00
6b840c0ce7 Merge branch 'SCPN1-8483' into 'release/1.2'
SCPN1-8483

See merge request r-d-technique/tiers/reflex-wms-connector!93
2025-03-19 10:14:45 +00:00
8ee7527ba4 SCPN1-8483 2025-03-19 10:52:07 +01:00
9d99c0c65e displayID 2025-03-19 10:44:16 +01:00
1be67f65b2 modif 2025-03-19 10:41:13 +01:00
dec9a4b17f displayID 2025-03-19 10:38:29 +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
eb6182c337 Release 1.2.33+3 2025-03-13 10:38:21 +01:00
9f63f0ee62 Modifs Claim 2025-03-13 10:35:14 +01:00
5b3de10184 modif claim 2025-03-13 10:27:05 +01:00
f76d632303 claim 2025-03-13 10:20:22 +01:00
8cfd636c72 Merge branch 'SCPN1-8401' into 'release/1.2'
SCPN1-8401

See merge request r-d-technique/tiers/reflex-wms-connector!91
2025-03-13 09:19:19 +00:00
18808b6033 modifs Claim_order 2025-03-13 10:01:06 +01:00
a849b1c92e update URL in readme.md
(cherry picked from commit 5963948635)
2025-03-12 15:05:32 +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
810e0eaa89 SCPN1-8401
(cherry picked from commit 0cec20a8aa91ce5d958a9d6087d4778f86f2c5fd)
2025-03-07 14:17:58 +01:00
dbffc01a70 SCPN1-8401
(cherry picked from commit 0cec20a8aa91ce5d958a9d6087d4778f86f2c5fd)
2025-03-07 14:17:28 +01:00
1dc77965ce SCPN1-8401 2025-03-07 14:14:28 +01:00
9aee7a9448 SCPN1-8401 (syntaxe error in RXftoRP-HsrReceiptList_ExecutionflowDetected.ftl et RXftoRP-HsrReceiptList_ExecutionflowReceiptComplet.ftl)
(cherry picked from commit 2681a4dc24)
2025-03-06 16:14:47 +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
d4765890e5 SCPN1-8401 (syntaxe error in RXftoRP-HsrPro_ExecutionflowDetected.ftl)
(cherry picked from commit 9380d39bb6)
2025-03-04 14:29:03 +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
9997441edb Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-02-28 09:45:55 +01:00
d2a00ffe2e claim 2025-02-28 09:45:48 +01:00
45a31fb33f SCPN1-8401
(cherry picked from commit 724d4dd0c756a8c2f5b461874b36cd513feafbbd)
2025-02-27 17:56:42 +01: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
58bcf838bd Release 1.2.33+2 2025-02-25 17:42:12 +01:00
24f17f434e Merge branch 'SCPN1-8183' into 'release/1.2'
move 520

See merge request r-d-technique/tiers/reflex-wms-connector!88
2025-02-25 16:15:19 +00:00
c16c48b270 move 520
(cherry picked from commit df2332b17e)
2025-02-25 15:58:32 +01:00
57d4cb6be2 modifs hsrprepa 2025-02-19 17:45:45 +01: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
29e16f12cc Release 1.2.33+1 2025-02-18 10:08:14 +01:00
c74470b780 Merge branch 'SCPN1-8183' into 'release/1.2'
SCPN1-8383

See merge request r-d-technique/tiers/reflex-wms-connector!87
2025-02-18 08:59:45 +00:00
fab2238278 SCPN1-8383 2025-02-18 09:35:16 +01: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
432cca8ec9 Release 1.2.32+1 2025-02-12 10:24:01 +01:00
172d6ead58 trackingNumberSource 2025-02-11 17:54:26 +01:00
57533e8735 SCPN1-8280 2025-02-11 17:53:39 +01:00
4d59a53517 modifs 2025-02-10 11:56:10 +01:00
71a73bded4 modif 2025-02-10 11:06:00 +01:00
0e0397708f modif 2025-02-07 16:15:15 +01:00
6319051741 modif 2025-02-07 16:05:57 +01:00
d955ccdbc4 include 2025-02-07 15:56:20 +01:00
817209a095 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2025-02-07 10:50:57 +01:00
af0d846271 HU 2025-02-07 10:50:35 +01:00
fda736c295 SCPN1-8291 2025-02-07 10:11:04 +01:00
2318bee797 SCPN1-8291 2025-02-06 09:50:00 +01:00
df2332b17e move 520 2025-01-21 15:41:31 +01:00
1de373be9c Merge branch 'query_in_ftl' into 'develop'
SCPN1-8043

See merge request r-d-technique/tiers/reflex-wms-connector!84
2025-01-16 17:00:28 +00:00
e806da1129 SCPN1-8043 2025-01-16 17:59:55 +01:00
b40475626e Merge branch 'query_in_ftl' into 'develop'
SCPN1-8043

See merge request r-d-technique/tiers/reflex-wms-connector!83
2025-01-13 15:28:57 +00:00
559fff82e5 SCPN1-8043 2025-01-13 16:23:17 +01:00
37f73115ff Merge branch 'query_in_ftl' into 'develop'
SCPN1-8043

See merge request r-d-technique/tiers/reflex-wms-connector!82
2025-01-07 16:42:00 +00:00
a7bf18f25d SCPN1-8043 2025-01-07 17:40:55 +01:00
498ef5a5bf SCPN1-8043 2025-01-07 11:16:32 +01:00
b6415fa316 commit first 2025-01-06 17:56:10 +01: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
08e4b04f7f Release 1.2.31+1 2024-12-13 15:34:11 +01:00
bf0ae15a50 Release 1.2.30+1 2024-12-04 09:05:53 +01:00
3f7cd7a245 Merge branch 'pour-1.9' into 'release/1.2'
pour 1.9

See merge request r-d-technique/tiers/reflex-wms-connector!81
2024-12-04 07:09:16 +00:00
173deec755 pour 1.9 2024-12-04 08:08:26 +01:00
d3c7d5a96c modifs 2024-12-02 16:26:44 +01:00
329747d225 modifs ID Claim 2024-12-02 16:21:14 +01:00
f5e6c2b22e modif trim 2024-12-02 16:03:45 +01: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
85bfe55af7 Release 1.2.29+4 2024-11-19 11:47:55 +01:00
730750b898 Merge branch 'SCPN1-7609' into 'release/1.2'
Correction priority date SCPN1-7609

See merge request r-d-technique/tiers/reflex-wms-connector!78
2024-11-19 10:46:07 +00:00
d85abf8235 Correction priority date
(cherry picked from commit e41309e744)
2024-11-19 11:38:58 +01:00
e41309e744 Correction priority date 2024-11-19 11:17:59 +01: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
46a9a82e12 Release 1.2.29+3 2024-11-18 11:44:58 +01:00
ae0b82b6e4 Merge branch 'SCPN1-7578' into 'release/1.2'
SCPN1-7578

See merge request r-d-technique/tiers/reflex-wms-connector!76
2024-11-18 10:41:23 +00:00
5fc26e6015 SCPN1-7578 2024-11-18 11:36:01 +01:00
20d77f21ed CountryCode 2024-11-18 11:20:56 +01:00
3c11695650 CountryCode 2024-11-18 10:25:57 +01:00
5c6e200d3e suppression logs d'erreurs 2024-11-13 10:50:10 +01:00
d896aa95f4 SCPN1-7518 2024-11-12 17:59:03 +01: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
236c2d754c Release 1.2.29+2 2024-11-12 14:28:03 +01:00
5499e3059f Merge branch 'SCPN1-7528' into 'release/1.2'
json_string SCPN1-7528

See merge request r-d-technique/tiers/reflex-wms-connector!74
2024-11-12 13:21:27 +00:00
cae9bf80bb json_string
(cherry picked from commit 4d24367b58)
2024-11-12 14:13:28 +01:00
ea58acc353 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2024-11-12 10:16:13 +01:00
4d24367b58 json_string 2024-11-12 10:16:06 +01:00
5901619f6a SCPN1-7518 2024-11-08 16:39:08 +01: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
ed0141584b Release 1.2.29+1 2024-11-06 14:48:50 +01:00
19c87e38df Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2024-11-05 16:36:54 +01:00
821b58b3bf Claim 2024-11-05 16:36:47 +01: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
31f38e9626 SCPN1-7496 2024-11-05 11:37:39 +01:00
e6a27c2ba2 Release 1.2.28+5 2024-11-05 11:31:06 +01:00
0a26159dc9 Merge branch 'SCPN1-7496' into 'release/1.2'
SCPN1-7496

See merge request r-d-technique/tiers/reflex-wms-connector!71
2024-11-05 10:29:16 +00:00
a4f3bf8151 SCPN1-7496 2024-11-05 11:28:00 +01:00
867fdc5743 SCPN1-7496 2024-11-05 11:10:04 +01:00
5d799566fe unicité 2024-11-04 17:13:19 +01:00
867a894e2e unicité 2024-11-04 10:49:32 +01:00
a11124d144 unicité 2024-11-04 10:42:40 +01: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
b69bfa50ba Release 1.2.28+4 2024-10-29 15:20:15 +01:00
834abe1b78 SCPN1-7418 2024-10-29 15:17:50 +01:00
dbfcccfdd9 modifs 2024-10-29 13:49:45 +01:00
0c4e85067b correction 2024-10-29 11:24:45 +01:00
b1e5d51ba0 modifs uniqueness 2024-10-29 11:18:35 +01: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
e190a16ddc Release 1.2.28+3 2024-10-24 10:22:41 +02:00
e63b14d0ff SCPN1-7421 2024-10-24 10:05:02 +02:00
1e42f6d81c modifs HsrReceipt 2024-10-18 15:52:08 +02: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
04bc005cda Release 1.2.28+2 2024-10-17 11:07:16 +02:00
6e46d30221 Merge branch 'SCPN1-6728' into 'release/1.2'
SCPN1-6728

See merge request r-d-technique/tiers/reflex-wms-connector!67
2024-10-17 09:04:24 +00:00
1f2d3ab212 SCPN1-6728 2024-10-17 10:36:14 +02:00
8aab4296a2 update "uniqueness" variable 2024-10-16 17:37:17 +02:00
8160342c63 update "uniqueness" variable 2024-10-16 16:23:43 +02:00
72abd3b22a update "uniqueness" variable 2024-10-16 16:04:00 +02:00
bcddf351a0 modifs 2024-10-16 11:51:25 +02:00
9c229997b3 espace 2024-10-16 09:40:53 +02:00
cdbb00ea4c modifs 2024-10-16 09:13:07 +02:00
ffbeb4cadc modifs 2024-10-15 17:03:15 +02:00
f736d62ee4 modifs 2024-10-15 17:00:34 +02:00
6f636b4ee7 modifs 2024-10-15 16:56:15 +02:00
0406a2ff3a Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2024-10-15 16:54:31 +02:00
833ed4ebd6 modifs 2024-10-15 16:54:24 +02:00
90bfd41f41 Ajout du flux LoadInfo 2024-10-15 16:19:31 +02: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
771915ad19 Release 1.2.28+1 2024-10-14 11:51:48 +02:00
4a1fe56381 Merge branch 'SCPN1-7341' into 'release/1.2'
SCPN1-7341

See merge request r-d-technique/tiers/reflex-wms-connector!65
2024-10-14 07:57:53 +00:00
a9a357d4ed SCPN1-7341 2024-10-14 09:56:41 +02:00
557828b459 modifs nom 2024-10-11 11:01:13 +02:00
1cc34e6657 modifs depot 2024-10-10 14:08:43 +02:00
42571ef2a1 modifs 2024-10-09 17:13:05 +02:00
63db993164 modifs dispute 2024-10-09 17:07:16 +02:00
86335ba52d modifs 2024-10-09 16:06:17 +02:00
37773416ff modifs 2024-10-09 15:17:53 +02:00
e9e09a5eb1 modifs 2024-10-09 15:03:29 +02:00
234918a77e modifs 2024-10-09 14:56:26 +02:00
8d4067a58e modifs 2024-10-09 11:32:48 +02:00
aa62c276d1 modifs 2024-10-08 14:19:15 +02:00
de5a9b431e modifs 2024-10-08 11:44:47 +02:00
deba22e9d4 modifs 2024-10-08 11:12:47 +02:00
81720b2547 modifs 2024-10-08 10:20:15 +02:00
ed8aff1e3c SCPN1-7052 2024-10-08 10:00:14 +02:00
153df99ed1 modifs 2024-10-08 09:25:04 +02:00
65601133f1 unicité 2024-10-07 14:52:28 +02: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
0e3e60b45a Release 1.2.27+2 2024-10-03 15:39:13 +02:00
f0e27a6f88 Merge branch 'SCPN1-7302' into 'release/1.2'
SCPN1-7302

See merge request r-d-technique/tiers/reflex-wms-connector!63
2024-10-03 13:31:09 +00:00
f72bcc2537 SCPN1-7302 2024-10-03 15:30:18 +02:00
9700548214 Merge branch 'SCPN1-7302' into 'release/1.2'
modifs

See merge request r-d-technique/tiers/reflex-wms-connector!62
2024-10-03 13:15:28 +00:00
96aec6555c SCPN1-7302 2024-10-03 15:08:49 +02:00
54511c55f1 modifs
(cherry picked from commit e2c0735dc7)
2024-10-03 15:06:18 +02:00
de828ed606 modifs
(cherry picked from commit 25011e68e6)
2024-10-03 15:05:45 +02:00
25011e68e6 modifs 2024-10-03 14:46:45 +02:00
3a9f26cef2 modifs 2024-10-01 11:25:06 +02:00
7c1b05d76e modifs 2024-10-01 11:07:39 +02:00
134e44185a modifs 2024-10-01 10:12:12 +02:00
49b2f6e17a modifs 2024-10-01 10:07:43 +02:00
6400c985a2 message 2024-09-30 16:59:22 +02:00
e97066c118 modifs labelled 2024-09-30 15:28:24 +02:00
9f02fce236 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2024-09-30 15:19:33 +02:00
10bb90bf92 modifs 2024-09-30 15:19:24 +02: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
e53e4ec9a0 SCPN1-7265 2024-09-30 12:05:38 +02:00
9524923f0c SCPN1-7265 2024-09-27 10:08:36 +02:00
138bcdadf8 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2024-09-26 16:09:30 +02:00
e2c0735dc7 modifs 2024-09-26 15:58:37 +02:00
aba22026bb date tracking 2024-09-26 15:58:04 +02:00
eaa7ef1b9b Release 1.2.27+1 2024-09-25 16:12:56 +02:00
360c0743bc SCPN1-7088 2024-09-20 17:22:27 +02:00
307ae9ebe2 modifs 2024-09-17 17:29:04 +02:00
80a34b354d modifs 2024-09-17 16:28:49 +02:00
09ec0e4509 modifs 2024-09-17 11:46:24 +02:00
c05a4653ba modifs 2024-09-17 10:25:53 +02: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
956105fc38 modifs uniqueness 2024-09-16 16:12:43 +02:00
d91d15c1c9 modifs 2024-09-16 15:25:39 +02:00
550c0047da modifs 2024-09-16 15:25:10 +02:00
a8b044fdba modifs 2024-09-16 14:54:43 +02:00
89fae85a2f modifs 2024-09-16 14:48:12 +02:00
bfc96d37ab modifs 2024-09-16 14:35:15 +02:00
c742c3639f modifs 2024-09-16 14:30:11 +02:00
d60a75cbbc modifs 2024-09-16 14:25:29 +02:00
cde81b3e8b modifs 2024-09-16 14:20:20 +02:00
75a9a1727c modifs 2024-09-16 14:12:45 +02:00
6d45f474d4 modifs 2024-09-16 14:04:35 +02:00
7857dfd696 modifs 2024-09-16 13:54:09 +02:00
4c84e4195b Release 1.2.26+1 2024-09-13 10:38:27 +02:00
113c94f100 Merge branch 'SCPN1-7155' into 'release/1.2'
SCPN1-7155

See merge request r-d-technique/tiers/reflex-wms-connector!59
2024-09-13 08:09:08 +00:00
01d58746d8 modifs 2024-09-12 17:07:33 +02:00
7963b351aa SCPN1-7155 2024-09-12 14:11:04 +02:00
ab7c45bcd7 SCPN1-7155 2024-09-12 11:55:45 +02:00
f4f0a50493 modifs 2024-09-11 15:12:17 +02:00
65fed72146 modifs 2024-09-11 15:09:41 +02:00
0a0121c020 modifs 2024-09-11 14:59:45 +02:00
50fb9b467f modifs 2024-09-06 16:21:09 +02:00
843bf837b2 motifs 2024-09-06 16:14:11 +02: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
8425747b42 Release 1.2.25+2 2024-08-29 10:59:28 +02:00
03e20e7aed Merge branch 'SCPN1-7065' into 'release/1.2'
SCPN1-7065

See merge request r-d-technique/tiers/reflex-wms-connector!57
2024-08-29 08:48:06 +00:00
04b7974c77 SCPN1-7065
(cherry picked from commit ca33a85694)
2024-08-29 10:37:54 +02:00
ca33a85694 SCPN1-7065 2024-08-29 10:34:55 +02: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
087346139d Release 1.2.25+1 2024-08-08 16:55:33 +02:00
c183ade001 hsadispute 2024-08-08 11:47:14 +02:00
d4b927b7f7 hsrdispute 2024-08-08 10:55:39 +02: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
0a4263d551 Release 1.2.24+1 2024-08-07 12:23:46 +02:00
b00302c8e3 Release 1.2.23+2 2024-08-07 08:44:43 +02:00
55b7b54b44 Merge branch 'SCPN1-6998' into 'release/1.2'
SCPN1-6998

See merge request r-d-technique/tiers/reflex-wms-connector!54
2024-08-07 06:43:11 +00:00
26003c24f2 SCPN1-6998 2024-08-07 08:38:34 +02:00
08cf8ec1a6 add hsaDispute flow 2024-08-06 17:40:16 +02:00
66d002052c Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2024-08-06 17:13:10 +02:00
949d4c6a8d CC vide 2024-08-06 17:13:04 +02: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
0468700574 Release 1.2.23+1 2024-08-06 16:08:37 +02:00
fe35481144 Merge branch 'SCPN1-6998' into 'release/1.2'
SCPN1-6998

See merge request r-d-technique/tiers/reflex-wms-connector!52
2024-08-06 13:48:36 +00:00
d21204a949 SCPN1-6998 2024-08-06 15:41:22 +02:00
2b828c2f4b code country ISO 2024-08-06 14:18:02 +02:00
a9fec0b5f9 country 2024-08-06 11:29:02 +02:00
b7f383d531 country code 2 2024-08-06 11:26:18 +02:00
d21a863060 country code 2024-08-06 11:21:18 +02:00
9ee9743b81 Code ico controle 2024-08-06 10:54:28 +02:00
b5ef671512 MD Actor 2024-07-31 17:15:44 +02: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
46421972a8 Release 1.2.22+1 2024-07-29 17:33:09 +02:00
ccca6d1592 Release 1.2.21+1 2024-07-29 17:32:32 +02:00
3eb072f36d Mouvements 2024-07-26 14:06:19 +02: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
68622896f0 Release 1.2.20+1 2024-07-24 10:47:24 +02: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
fea5691ddd Release 1.2.19+1 2024-07-22 10:18:15 +02:00
2fb5dcd103 Merge branch 'SCPN1-6912' into 'release/1.2'
Merge branch 'SCPN1-6564' into 'release/1.2'

See merge request r-d-technique/tiers/reflex-wms-connector!48
2024-07-22 07:54:20 +00:00
04253d939f Merge branch 'develop' into SCPN1-6912 2024-07-19 11:24:12 +02:00
f98e963b76 modifs HsrPRo 2024-07-19 11:22:18 +02:00
5c0b112c39 Modifs 170724 2024-07-17 11:07:36 +02: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
c3d1ceb0c5 ODP 2024-07-12 11:17:30 +02:00
b80623e631 Release 1.2.18+1 2024-07-12 10:51:31 +02: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
45e8c4fee2 ajout MD HuAdded 2024-07-05 10:40:55 +02:00
23a87c1995 Release 1.2.17+2 2024-06-28 15:12:20 +02:00
a3a2fa3b23 Merge branch '1.2.17+2' into 'release/1.2'
adjust json_string

See merge request r-d-technique/tiers/reflex-wms-connector!45
2024-06-27 08:27:17 +00:00
22b26ac7d3 adjust json_string
(cherry picked from commit af29a11b22)
2024-06-25 17:30:03 +02:00
af29a11b22 adjust json_string 2024-06-25 17:29:36 +02:00
74b976b367 adjust json_string 2024-06-24 16:20:09 +02:00
0b3f07add9 adjust json-string 2024-06-24 11:47:44 +02:00
28659b1157 Release 1.2.17+1 2024-06-24 10:54:19 +02:00
3de6a2f6a9 add json_string 2024-06-24 08:38:44 +02:00
4afc7fa50c securisation 2024-06-21 13:49:56 +02:00
6910fb80a8 SCPN1-6605 MovementCreated
(cherry picked from commit e8510d079c)
2024-06-21 13:32:56 +02:00
1052849c12 correction dans le cas où la commande n'a pas de ligne... 2024-06-21 13:30:15 +02:00
044fda9d16 correction dans le cas où la commande n'a pas de ligne... 2024-06-21 13:28:44 +02:00
e8510d079c SCPN1-6605 MovementCreated 2024-06-07 11:15:47 +02: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
24a94caf29 Release 1.2.16+5 2024-06-06 09:45:59 +02:00
aa19de32a5 Merge branch 'SCPN1-6692' into 'develop'
SCPN1-6692

Closes SCPN1-6692

See merge request r-d-technique/tiers/reflex-wms-connector!43
2024-06-06 07:44:29 +00:00
513a5c2c3e SCPN1-6692
(cherry picked from commit 2524859cd4)
2024-06-06 09:16:38 +02:00
2524859cd4 SCPN1-6692 2024-06-06 09:15:09 +02: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
011540fc51 Release 1.2.16+4 2024-05-30 17:20:55 +02:00
06147dd8d4 SCPN1-6642 SCPN1-6641 2024-05-30 17:18:16 +02:00
5e9804db40 Merge branch 'SCPN1-6641' into 'release/1.2'
SCPN1-6641 et SCPN1-6642

See merge request r-d-technique/tiers/reflex-wms-connector!42
2024-05-30 15:05:08 +00:00
e344cca043 SCPN1-6642 2024-05-30 16:30:59 +02:00
b0b4714df9 SCPN1-6641 2024-05-30 14:30:09 +02:00
9cbacc0ebc priority date 2024-05-17 11:00:25 +02:00
c31d6de4a2 Merge branch 'SCPN1-6564' into 'release/1.2'
SCPN1-6564

See merge request r-d-technique/tiers/reflex-wms-connector!38

(cherry picked from commit c0dd029d1f)
2024-05-17 10:57:10 +02: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
15bd095feb Release 1.2.16+3 2024-05-16 17:55:49 +02:00
c0dd029d1f Merge branch 'SCPN1-6564' into 'release/1.2'
SCPN1-6564

See merge request r-d-technique/tiers/reflex-wms-connector!38
2024-05-16 15:30:52 +00:00
2e0d61310b SCPN1-6564 2024-05-16 17:00:32 +02: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
f62ccadba5 Release 1.2.16+2 2024-05-13 17:07:22 +02:00
2c29166ccb Merge branch 'SCPN1-6535' into 'release/1.2'
modifs HUGP

See merge request r-d-technique/tiers/reflex-wms-connector!36
2024-05-13 15:05:20 +00:00
4534155f2e modifs HUGP
(cherry picked from commit b3da874dd3)
2024-05-13 16:42:15 +02:00
b3da874dd3 modifs HUGP 2024-05-13 16:00:46 +02: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
5948467818 Release 1.2.16+1 2024-05-02 10:21:58 +02: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
c63e4ff5c8 Release 1.2.15+8 2024-04-24 18:23:25 +02:00
457cfc85c2 Merge branch 'SCPN1-6461' into 'release/1.2'
SCPN1-6461

See merge request r-d-technique/tiers/reflex-wms-connector!33
2024-04-24 16:19:29 +00:00
6809b32410 Création de commande
(cherry picked from commit 82dfc05cdb)
2024-04-24 17:49:09 +02:00
82dfc05cdb Création de commande 2024-04-24 15:09:45 +02:00
eda5fe4e07 modifs hsrprepa 2024-04-15 10:16:14 +02:00
26654a9820 modifs 2024-04-12 09:37:03 +02: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
37a5e64e83 Release 1.2.15+7 2024-04-11 11:22:18 +02:00
2f31833bc3 Merge branch 'versio-1.2.15' into 'release/1.2'
Modifs RPtoRFX 1701240947 SCPN1-6379

See merge request r-d-technique/tiers/reflex-wms-connector!31
2024-04-11 09:21:32 +00:00
cff0f18d8a modifs ipgmove
(cherry picked from commit 6b6cef5332)
2024-04-11 11:12:11 +02:00
6b6cef5332 modifs ipgmove 2024-04-11 11:01:05 +02: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
22b78b4ffe Release 1.2.15+6 2024-04-10 16:57:58 +02:00
25bf3110e9 Merge branch 'versio-1.2.15' into 'release/1.2'
modifs hsrpro SCPN1-6374

See merge request r-d-technique/tiers/reflex-wms-connector!29
2024-04-10 14:56:34 +00:00
0a32ead29a modifs hsrpro
(cherry picked from commit d7c9c72762)
2024-04-10 16:39:48 +02:00
d7c9c72762 modifs hsrpro 2024-04-10 16:25:27 +02: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
46a9dc8996 Release 1.2.15+5 2024-04-09 17:45:00 +02:00
1eb262c91c Merge branch 'versio-1.2.15' into 'release/1.2'
SCPN1-6368

See merge request r-d-technique/tiers/reflex-wms-connector!28
2024-04-09 15:40:44 +00:00
2588fda3a8 modifs ipg
(cherry picked from commit 87efb21e64)
2024-04-09 17:16:18 +02:00
87efb21e64 modifs ipg 2024-04-09 16:53:34 +02: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
d060d3eb10 Release 1.2.15+4 2024-03-27 15:03:49 +01:00
28e99e9a2b Merge branch 'version-1.2.15' into 'release/1.2'
SCPN1-6284

See merge request r-d-technique/tiers/reflex-wms-connector!26
2024-03-27 14:01:44 +00:00
78b0b467a3 Merge branch 'develop' into version-1.2.15 2024-03-26 14:07:53 +01:00
eca09f2e9e Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into SCPN1-6203 2024-03-26 11:46:09 +01:00
cfb8e2ab5a modifs HUadded 2024-03-26 11:21:10 +01:00
d1512d4269 modifs date packing 2024-03-26 11:08:38 +01:00
264f9131d0 modifs goods 2024-03-26 10:26:59 +01:00
fd9f248619 modifs goods 2024-03-26 10:19:20 +01:00
0fff71b759 modifs goods 2024-03-26 10:09:15 +01:00
196ab387ac modifs date 2024-03-26 10:00:03 +01:00
5cafa068a7 Modifs date emballage 2024-03-25 18:03:45 +01:00
6f287e878a Release 1.2.15+3 2024-03-21 17:39:10 +01:00
c3a23254b1 Merge branch 'version-1.2.15' into 'release/1.2'
Version 1.2.15

See merge request r-d-technique/tiers/reflex-wms-connector!25
2024-03-21 16:32:23 +00:00
c47672b8cc Merge branch 'develop' into version-1.2.15 2024-03-21 17:27:44 +01:00
12483253f1 modifs 2024-03-21 17:04:46 +01:00
f0f6e39407 modifs 2024-03-21 16:51:18 +01:00
fb0bab260a modifs 2024-03-21 16:48:52 +01:00
040ba2a392 modifs 2024-03-21 16:45:40 +01:00
753de14f97 modifs HuAddes 2024-03-21 16:22:59 +01:00
9cdcd2784d Release 1.2.15+2 2024-03-21 09:38:35 +01:00
cfe6bddf8d Merge branch 'version-1.2.15' into 'release/1.2'
Version 1.2.15

See merge request r-d-technique/tiers/reflex-wms-connector!24
2024-03-21 07:48:06 +00:00
0cb3cc7dd0 update priority_date 2024-03-21 08:45:48 +01:00
59a7783203 modifs priority date 2024-03-20 17:12:01 +01:00
03362d6a8b modifs HuAdded 2024-03-20 17:07:47 +01:00
f7125548db modifs moved 2024-03-20 10:55:37 +01:00
92e37e8baa modifs ipgmoved 2024-03-20 10:42:42 +01:00
6b633663e9 Release 1.2.15+1 2024-03-19 16:50:50 +01:00
c801c574ab Merge branch 'version-1.2.15' into 'release/1.2'
Version 1.2.15

See merge request r-d-technique/tiers/reflex-wms-connector!23
2024-03-19 15:04:39 +00:00
6282266c6d Merge branch 'develop' into version-1.2.15 2024-03-19 08:53:51 +01:00
be2229d184 Modifs 2024-03-18 17:19:26 +01:00
0067755ee4 Modifs 2024-03-18 15:36:55 +01:00
03953258d6 modifs 2024-03-18 10:06:06 +01:00
cb9d61bfe9 version-1.2.15 2024-03-15 16:55:08 +01:00
591b49cd88 modifs 2024-03-15 10:56:08 +01:00
cc5357369d modifs 2024-03-15 10:42:28 +01:00
c03129855e modifs 2024-03-15 09:45:24 +01:00
0211b91069 modifs 2024-03-15 09:38:15 +01:00
53afac0ccf modifs 2024-03-14 12:01:40 +01:00
349642fe25 modifs 2024-03-14 11:58:35 +01:00
4802c74fb8 modifs ref vide 2024-03-14 11:51:49 +01:00
c6370e2eb7 SCPN1-6203 2024-03-13 18:07:47 +01:00
e5f775605f Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2024-03-12 17:47:47 +01:00
8575ad0de2 Modifs 2024-03-12 17:47:35 +01:00
c7d7aaec16 Modifs pro cancelled 2024-03-12 17:09:22 +01:00
60c6f812d1 Release 1.2.14+1 2024-03-12 10:02:52 +01:00
c2f6537e0c Merge branch 'version-1.7' into 'release/1.2'
Version 1.7

See merge request r-d-technique/tiers/reflex-wms-connector!20
2024-03-12 08:56:33 +00:00
f5970127b0 update version 2024-03-12 09:55:32 +01:00
33c7ab08a7 reverted VERSION 2024-03-12 08:51:41 +00:00
fb8f9ca651 Release 1.2.14+1 2024-03-12 09:31:26 +01:00
86afce4b0d reverted VERSION 2024-03-12 08:29:59 +00:00
16c7d6b686 Merge branch 'develop' into version-1.7
# Conflicts:
#	RFXtoRP_HfDtlStockLs_StockSnapshotted.ftl
#	RFXtoRP_HfLvTypeList.ftl
#	RFXtoRP_HsaIpgMove.ftl
#	RFXtoRP_HsaIpgMove_GoodsReceived.ftl
#	RFXtoRP_HsaIpgMove_StockMoved.ftl
#	RFXtoRP_HsaItmLv_LogisticVariantUpdated.ftl
#	RFXtoRP_HsaItm_ItemCreated.ftl
#	RFXtoRP_HsaProStatus.ftl
#	RFXtoRP_HsrPrepa.ftl
#	RFXtoRP_HsrPrepa_CarrierUpdated.ftl
#	RFXtoRP_HsrPrepa_GoodsPrepared.ftl
#	RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl
#	RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl
#	RFXtoRP_HsrPro.ftl
#	RFXtoRP_HsrPro_ExecutionflowDetected.ftl
#	RFXtoRP_HsrReceiptList.ftl
#	RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl
#	ReflexUtils.ftl
#	VERSION
2024-03-12 08:11:21 +01:00
9cffad8ffb Snapshot reflex-wms-connector 1.4.0-SNAPSHOT 2024-03-11 17:12:45 +01:00
fc919c2199 Release 1.2.13+1 2024-03-11 16:13:48 +01: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
3365a94098 Release 1.2.12+3 2024-02-29 15:35:54 +01:00
e055eab522 Merge branch 'SCPN1-6093' into 'release/1.2'
SCPN1-6093

See merge request r-d-technique/tiers/reflex-wms-connector!18
2024-02-29 14:35:25 +00:00
c95bdc7f00 SCPN1-6093 2024-02-29 15:32:01 +01:00
319cb6cc51 Release 1.2.12+2 2024-02-29 14:51:31 +01:00
1f289e229c Merge branch 'SCPN1-6093' into 'release/1.2'
SCPN1-6093

See merge request r-d-technique/tiers/reflex-wms-connector!17
2024-02-29 13:30:33 +00:00
fba36b5d77 SCPN1-6093 2024-02-29 14:16:53 +01:00
892812e85e Release 1.2.12+1 2024-02-16 11:51:17 +01: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
a512e4c23a Release 1.2.11+1 2024-01-26 11:15:57 +01:00
884ad540fe Update VERSION to roolback to 1.2.10+2 2024-01-26 10:02:42 +00:00
3a9620e3ee Release 1.2.2+1 2024-01-26 10:56:09 +01:00
d5573b6dba Merge branch 'SCPN-5764' into 'release/1.2'
Modifs RPtoRFX 2301241050

See merge request r-d-technique/tiers/reflex-wms-connector!13
2024-01-26 09:52:43 +00:00
162b73e75f Modifs RPtoRFX 2301241050
(cherry picked from commit 56cd76fe0e)
2024-01-25 11:22:41 +01:00
bb4315bba1 SCPN1-5764 2024-01-25 11:13:44 +01: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
c4910785e0 Release 1.2.10+2 2024-01-17 15:29:36 +01:00
5688244be2 Update VERSION to roolback to 1.2.10+1 2024-01-17 13:34:06 +00:00
de5e94be3c Release 1.2.1+1 2024-01-17 13:58:26 +01:00
646256d879 Merge branch 'SCPN1-5711' into 'release/1.2'
SCPN1-5711

See merge request r-d-technique/tiers/reflex-wms-connector!12
2024-01-17 12:49:38 +00:00
60355d1ba5 SCPN1-5711 2024-01-17 13:47:38 +01:00
737763dc7f Release 1.2.10+1 2024-01-17 10:16:31 +01:00
098b2d4e1d Merge branch 'SCPN1-5711' into 'release/1.2'
Modifs RPtoRFX 1701240947

See merge request r-d-technique/tiers/reflex-wms-connector!10
2024-01-17 09:05:46 +00:00
7b55a4bcd0 Merge branch 'cherry-pick-ca30958d' into 'SCPN1-5711'
Modifs RPtoRFX 1701240947

See merge request r-d-technique/tiers/reflex-wms-connector!9
2024-01-17 09:02:23 +00:00
b369dd8adf Modifs RPtoRFX 1701240947
(cherry picked from commit ca30958d35)
2024-01-17 09:02:01 +00:00
fd1cfcc2c5 SCPN1-5711 2024-01-17 10:00:31 +01: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
fc8290648f Release 1.2.9+1 2024-01-10 10:40:42 +01:00
378c1ba75f Merge branch 'SCPN1-5651' into 'release/1.2'
Resolve SCPN1-5651

See merge request r-d-technique/tiers/reflex-wms-connector!7
2024-01-10 09:33:49 +00:00
d94a74d399 Partial Merge branch 'develop' into SCPN1-5651 2024-01-09 17:17:26 +01: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
a882ac4b86 Release 1.2.8+2 2024-01-03 14:42:40 +01:00
d2d9443fc7 bug SCPN1-5632 2024-01-03 13:32:45 +01: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
30ae93b9e7 Release 1.2.8+1 2023-12-06 15:48:59 +01: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
64e03640d1 Release 1.2.7+2 2023-12-01 16:06:45 +01:00
270f90a9b3 Modif HsrPrepa 0112231019 2023-12-01 16:05:47 +01:00
b5c85220b5 Modifs FTL 2211231645 2023-12-01 16:05:36 +01:00
2409cf3a01 Modif FTL 2211231459 2023-12-01 16:05:11 +01:00
957df51487 Modifs FTL 2211231443 2023-12-01 16:04:57 +01:00
d09fa33577 Modif 2011231720 HsrPro 2023-12-01 16:04:46 +01:00
3bcdec1d5d Modif alignement champs techniques Reflex HsrPro 2011231657 2023-12-01 16:04:35 +01:00
b4ea1e7798 Release 1.2.7+1 2023-12-01 14:29:46 +01:00
80aecb3aa7 Update VERSION 2023-12-01 13:27:11 +00:00
e02218f7b1 Release 1.2.6+2 2023-12-01 14:23:58 +01: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
6270992346 Release 1.2.6+1 2023-11-23 10:02:38 +01: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
a544f6700d Release 1.2.6 2023-11-03 09:23:43 +01: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
04ec57377a Release 1.2.5 2023-10-24 16:47:19 +02:00
b209e8b5e1 release 1.2.4 2023-10-24 08:22:11 +02:00
157 changed files with 5686 additions and 1104 deletions

162
ActorPrefix.ftl Normal file
View File

@@ -0,0 +1,162 @@
<#-- --------------------------------------------------------------------------------------- -->
<#-- Actor Prefix 4 cars -->
<#-- --------------------------------------------------------------------------------------- -->
<#-- For Depot -->
<#function RFXtoRPprefixDepot depot>
<#if uniqueness >
<#local actor = depot>
<#else>
<#if text_language_rfx ="fr">
<#local actor = "DEP_"+depot>
<#else>
<#if text_language_rfx ="it">
<#local actor = "DEP_"+depot>
<#else>
<#if text_language_rfx ="es">
<#local actor = "DEP_"+depot>
<#else>
<#if text_language_rfx ="pl">
<#local actor = "MAG_"+depot>
<#else>
<#if text_language_rfx ="nl">
<#local actor = "DEP_"+depot>
<#else>
<#local actor = "DEP_"+depot>
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
<#return (actor)>
</#function>
<#function RPtoRFXprefixDepot actor>
<#if uniqueness>
<#local depot = actor>
<#else>
<#local depot = actor[4..]>
</#if>
<#return (depot)>
</#function>
<#-- For Supplier -->
<#function RFXtoRPprefixSupplier supplier>
<#if uniqueness>
<#local actor = supplier>
<#else>
<#if text_language_rfx ="fr">
<#local actor = "FOU_"+supplier>
<#else>
<#if text_language_rfx ="it">
<#local actor = "FOR_"+supplier>
<#else>
<#if text_language_rfx ="es">
<#local actor = "PRO_"+supplier>
<#else>
<#if text_language_rfx ="pl">
<#local actor = "DOS_"+supplier>
<#else>
<#if text_language_rfx ="nl">
<#local actor = "LEV_"+supplier>
<#else>
<#local actor = "SUP_"+supplier>
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
<#return (actor)>
</#function>
<#function RPtoRFXprefixSupplier actor>
<#if uniqueness>
<#local supplier = actor>
<#else>
<#local supplier = actor[4..]>
</#if>
<#return (supplier)>
</#function>
<#-- For Carrier -->
<#function RFXtoRPprefixCarrier carrier>
<#if uniqueness>
<#local actor = carrier>
<#else>
<#if text_language_rfx ="fr">
<#local actor = "TRA_"+carrier>
<#else>
<#if text_language_rfx ="it">
<#local actor = "VET_"+carrier>
<#else>
<#if text_language_rfx ="es">
<#local actor = "TRA_"+carrier>
<#else>
<#if text_language_rfx ="pl">
<#local actor = "PRZ_"+carrier>
<#else>
<#if text_language_rfx ="nl">
<#local actor = "VER_"+carrier>
<#else>
<#local actor = "CAR_"+carrier>
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
<#return (actor)>
</#function>
<#function RPtoRFXprefixCarrier actor>
<#if uniqueness>
<#local carrier = actor>
<#else>
<#local carrier = actor[4..]>
</#if>
<#return (carrier)>
</#function>
<#-- For Consignee -->
<#function RFXtoRPprefixConsignee consignee>
<#if uniqueness>
<#local actor = consignee>
<#else>
<#if text_language_rfx ="fr">
<#local actor = "DES_"+consignee>
<#else>
<#if text_language_rfx ="it">
<#local actor = "DES_"+consignee>
<#else>
<#if text_language_rfx ="es">
<#local actor = "DES_"+consignee>
<#else>
<#if text_language_rfx ="pl">
<#local actor = "ODB_"+consignee>
<#else>
<#if text_language_rfx ="nl">
<#local actor = "ONT_"+consignee>
<#else>
<#local actor = "CON_"+consignee>
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
<#return (actor)>
</#function>
<#function RPtoRFXprefixConsignee actor>
<#if uniqueness>
<#local consignee = actor>
<#else>
<#local consignee = actor[4..]>
</#if>
<#return (consignee)>
</#function>

View File

@@ -1,11 +1,20 @@
# Reflex Platform Core FTLs
# HARDIS SC NETWORK Core FTLs
## Overview
These FTL core files aim to translate data flow from Reflex WMS into Reflex platform API.
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**.
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.
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/
## 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.
## Useful Resources
- [FreeMarker Documentation](https://freemarker.apache.org/docs/index.html)
- [HARDIS SC NETWORK](https://auth.reflex-platform.com/)

View File

@@ -0,0 +1 @@
<#assign trackingNumberSource = 3>

View File

@@ -1,60 +1,60 @@
<#-- **** input parameters ***** -->
<#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#-- sum_elt : nb element in snapshot (optional parameter) -->
<#include "HfRpConfig.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#switch cloudEventMsg.action>
<#case "C">
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign reflexStockPicturesInterface = JsonUtil.jsonToMap(dataRfx)>
<#-- idSnapshot MUST BE UNIQUE regardless of the number of messages in the stock image -->
<#if cloudEventMsg.messageSet??>
<#assign idSnapshot = cloudEventMsg.messageSet />
<#else>
<#assign idSnapshot = cloudEventMsg.id />
</#if>
<#list reflexStockPicturesInterface.detailled_stock_list as stock>
<#if stock.stock_type_code != "200">
<#stop>
<#break>
</#if>
</#list>
[
{
<#if sum_elt??>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorSnapshotCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HfDtlStockLs_ActorSnapshotCompleted.ftl">
<#else>
<#assign apiReflexPlatformID = ApiReflexPlatformID.StockSnapshotted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HfDtlStockLs_StockSnapshotted.ftl">
</#if>
}
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#stop "event not supported">
<#break>
<#default>
<#stop "event not supported">
</#switch>
<#-- **** input parameters ***** -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#-- sum_elt : nb element in snapshot (optional parameter) -->
<#include "HfRpConfig.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#switch cloudEventMsg.action>
<#case "C">
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign reflexStockPicturesInterface = JsonUtil.jsonToMap(dataRfx)>
<#-- idSnapshot MUST BE UNIQUE regardless of the number of messages in the stock image -->
<#if cloudEventMsg.messageSet??>
<#assign idSnapshot = cloudEventMsg.messageSet />
<#else>
<#assign idSnapshot = cloudEventMsg.id />
</#if>
<#list reflexStockPicturesInterface.detailled_stock_list as stock>
<#if stock.stock_type_code != "200">
<#stop>
<#break>
</#if>
</#list>
[
{
<#if sum_elt??>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorSnapshotCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HfDtlStockLs_ActorSnapshotCompleted.ftl">
<#else>
<#assign apiReflexPlatformID = ApiReflexPlatformID.StockSnapshotted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HfDtlStockLs_StockSnapshotted.ftl">
</#if>
}
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#stop >
<#break>
<#default>
<#stop >
</#switch>

View File

@@ -1,27 +1,29 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[
<#list reflexStockPicturesInterface.detailled_stock_list as stock>
{
"Header": {
"ProjectID": "${projectRP}"
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${stock.physical_depot_code}"
},
"Payload": {
<#assign generation_date = RfxDateTimetoUTC(stock.generation_date,time_zone_offset_rfx) />
"RefID": "${RFXtoRPprefixDepot(stock.physical_depot_code)}"
},
"Payload": {
<#assign generation_date = RfxDateTimetoUTCWithTimezone(stock.generation_date,time_zone_rfx) />
"Snapshot": {
"EndDateTime": {
"DateTime": "${generation_date}",
"AuthorTimeZone": "${time_zone_rfx}"
},
"ID": "${stock.physical_depot_code}-${idSnapshot}",
"MessageNb": ${sum_elt}
"DateTime": "${generation_date}",
"AuthorTimeZone": "${time_zone_rfx}"
},
"ID": "${stock.physical_depot_code}-${idSnapshot}",
"MessageNb": ${sum_elt}
}
}
}
<#break>
</#list>
</#list>
]

View File

@@ -1,4 +1,6 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[
<#list reflexStockPicturesInterface.detailled_stock_list as stock>
{
@@ -6,19 +8,19 @@
"ProjectID": "${projectRP}"
},
"Payload": {
"ActorID": "${stock.physical_depot_code}",
<#assign generation_date = RfxDateTimetoUTC(stock.generation_date,time_zone_offset_rfx) />
"ActorID": "${RFXtoRPprefixDepot(stock.physical_depot_code)}",
<#assign generation_date = RfxDateTimetoUTCWithTimezone(stock.generation_date,time_zone_rfx) />
"Snapshot": {
"DateTime": {
"DateTime": "${generation_date}",
"AuthorTimeZone": "${time_zone_rfx}"
},
"ID": "${stock.physical_depot_code}-${idSnapshot}",
"Quantity":
{
"Value" : "${stock.quantity_in_base_lvs!"0"}",
"LVID": "${quantity_in_base_lv_RP_Cst}"
}
"ID": "${stock.physical_depot_code}-${idSnapshot}",
"Quantity":
{
"Value" : "${stock.quantity_in_base_lvs!"0"}",
"LVID": "${quantity_in_base_lv_RP_Cst}"
}
},
"Goods": {
@@ -27,7 +29,9 @@
<#assign priority_date = stock.priority_date?datetime(rfx_date_format_default)?iso_utc />
<#if (stock.priority_date!="") && (stock.priority_date?starts_with("00")== false) >
"PriorityDate" : "${priority_date}",
</#if>
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
<#-- Segmentation keys inclusion -->
<#include "RFXtoRP_HfDtlStockLs_StockSnapshotted_SegmentationKeys.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": [
{
@@ -16,22 +22,22 @@
<#if stock.batch_1 == "">
"Value": { "String" : "no batch"}
<#else>
"Value": { "String" : "${stock.batch_1}"}
</#if>
"Value": { "String" : "${stock.batch_1?json_string}"}
</#if>
},
{
"Key": "HeldForSpecificCode",
"Value": { "Bool" : "${stock.held_for_specific_code}"}
},
{
<#assign manufacturing_datetime = RfxDateTimetoUTC(stock.Date_of_manufacture,time_zone_offset_rfx) />
<#assign manufacturing_datetime = RfxDateTimetoUTCWithTimezone(stock.Date_of_manufacture,time_zone_rfx) />
"Key": "ManufacturingDate",
"Value": "Timestamp": {
"AuthorTimeZone": "${time_zone_rfx}",
"DateTime": "${manufacturing_datetime}"
}
}
}
]
-->

View File

@@ -1,5 +1,5 @@
<#-- *********************************************** Parameter global ******************** -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
@@ -9,11 +9,11 @@
<#case "C">
<#case "U">
<#case "D">
<#stop "no generic FTL file available yet for Grades">
<#stop "no generic FTL file available yet for Grades">
<#break>
<#default>
<#stop "event not supported">
<#stop >
</#switch>

View File

@@ -16,6 +16,6 @@
<#default>
<#stop "event not supported">
<#stop >
</#switch>

View File

@@ -1,5 +1,5 @@
<#-- *********************************************** Parameter global ******************** -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
@@ -9,11 +9,11 @@
<#case "C">
<#case "U">
<#case "D">
<#stop "no generic FTL file available yet for Owners">
<#stop "no generic FTL file available yet for Owners">
<#break>
<#default>
<#stop "event not supported">
<#stop >
</#switch>

View File

@@ -1,10 +1,10 @@
<#-- ****
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
*** -->
<#-- *********************************************** Parameter global ******************** -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
@@ -16,18 +16,18 @@ those parameters are stored in FTL file HfRpConfig.ftl for later use in some of
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign file = JsonUtil.jsonToMap(dataRfx)>
<#include "RFXtoRP_RfxConfigurationRp.ftl">
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#stop "deletion of config not supported">
<#break>
<#default>
<#stop "event not supported">
<#stop >
</#switch>

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,9 +1,12 @@
<#-- **** input parameters ***** -->
<#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- 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 organisationRP = organisation>
@@ -14,33 +17,33 @@
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign carrier = JsonUtil.jsonToMap(dataRfx)>
[
<#assign carrier = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreatedv2>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaCarrier_ActorCreated.ftl">
"datas" :
<#include "RFXtoRP_HsaCarrier_ActorCreated.ftl">
}
]
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************************* -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign carrier = JsonUtil.jsonToMap(dataRfx)>
[
<#assign carrier = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorDeleted>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorDeleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaCarrier_ActorDeleted.ftl">
"datas" :
<#include "RFXtoRP_HsaCarrier_ActorDeleted.ftl">
}
]
]
<#break>
<#default>
<#stop "event not supported">
<#stop >
</#switch>

View File

@@ -4,24 +4,17 @@
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${carrier.carrier_code?trim?json_string}"
"RefID": "${RFXtoRPprefixCarrier(carrier.carrier_code?trim?json_string)}"
},
"Payload": {
"Name": "${carrier.carrier_designation?json_string}",
"ManagedStock": false,
"IsCarrier": true,
<#-- ***Partner ID could be added here *** -->
<#-- "PartnerID": "${}", -->
<#--
<#include "RFXtoRP_HsaCarrier_ActorCreated_Metadata.ftl">,
-->
"Address":
{
<#-- if Reflex WMS address is structured -->
<#-- if HARDIS WMS address is structured -->
<#if carrier.carrier_structured_address?? >
"Name": "${carrier.carrier_structured_address.name_or_company?json_string}",
@@ -29,17 +22,22 @@
"StreetAddressTwo" : "${carrier.carrier_structured_address.additionnal_data?json_string}",
"PostalCode" : "${carrier.carrier_structured_address.postal_code?json_string}",
"City" : "${carrier.carrier_structured_address.post_code_area_name?json_string}",
"CountryCode" : "${carrier.carrier_structured_address.country_code?json_string}",
<#assign isCountryCode = JsonUtil.isCountryCode(carrier.carrier_structured_address.country_code?upper_case) />
<#if isCountryCode>
"CountryCode" : "${carrier.carrier_structured_address.country_code?upper_case?json_string}",
<#else>
"CountryCode" : "",
</#if>
"ProvinceCode": "${carrier.carrier_structured_address.territorial_div_code?json_string}",
"State": "${carrier.carrier_structured_address.country_designation?json_string}"
<#-- if Reflex WMS address is not structured -->
<#-- if HARDIS WMS address is not structured -->
<#else>
<#if carrier.address??>
"Name": "${carrier.address.company_name?json_string}",
"StreetAddressOne" : "${carrier.address.address_1?json_string}",
"StreetAddressTwo" : "${carrier.address.address_2?json_string}",
"StreetAddressThree" : "${carrier.address.address_3?json_string}"
"StreetAddressThree" : "${carrier.address.address_3?json_string}",
"CountryCode" : ""
</#if>
</#if>
},

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": [ ]

View File

@@ -4,9 +4,8 @@
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${carrier.carrier_code?trim?json_string}"
"RefID": "${RFXtoRPprefixCarrier(carrier.carrier_code?trim?json_string)}"
},
"Payload": {}
}
]

View File

@@ -1,9 +1,12 @@
<#-- **** input parameters ***** -->
<#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- 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 organisationRP = organisation>
@@ -14,33 +17,34 @@
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign actor = JsonUtil.jsonToMap(dataRfx)>
[
<#assign actor = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreatedv2>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaCons_ActorCreated.ftl">
"datas" :
<#include "RFXtoRP_HsaCons_ActorCreated.ftl">
}
]
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign actor = JsonUtil.jsonToMap(dataRfx)>
[
<#assign actor = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorDeleted>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorDeleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaCons_ActorDeleted.ftl">
"datas" :
<#include "RFXtoRP_HsaCons_ActorDeleted.ftl">
}
]
]
<#break>
<#default>
<#stop "event not supported">
<#stop >
</#switch>

View File

@@ -4,24 +4,17 @@
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${actor.code?trim?json_string}"
"RefID": "${RFXtoRPprefixConsignee(actor.code?trim?json_string)}"
},
"Payload": {
"Name": "${actor.designation?json_string}",
"ManagedStock": false,
"IsCarrier": false,
<#-- ***Partner ID could be added here *** -->
<#-- "PartnerID": "${}", -->
<#--
<#include "RFXtoRP_HsaCons_ActorCreated_Metadata.ftl">,
-->
"Address":
{
<#-- if Reflex WMS is structured -->
<#-- if HARDIS WMS is structured -->
<#if actor.consignee_structured_address??>
"Name": "${actor.consignee_structured_address.name_or_company?json_string}",
@@ -29,18 +22,24 @@
"StreetAddressTwo" : "${actor.consignee_structured_address.additionnal_data?json_string}",
"PostalCode" : "${actor.consignee_structured_address.postal_code?json_string}",
"City" : "${actor.consignee_structured_address.post_code_area_name?json_string}",
"CountryCode" : "${actor.consignee_structured_address.country_code?json_string}",
<#assign isCountryCode = JsonUtil.isCountryCode(actor.consignee_structured_address.country_code?upper_case) />
<#if isCountryCode>
"CountryCode" : "${actor.consignee_structured_address.country_code?upper_case?json_string}",
<#else>
"CountryCode" : "",
</#if>
"ProvinceCode": "${actor.consignee_structured_address.territorial_div_code?json_string}",
"State": "${actor.consignee_structured_address.country_designation?json_string}"
<#-- if Reflex WMS is not structured -->
<#-- if HARDIS WMS is not structured -->
<#else>
<#if actor.address?? >
"Name": "${actor.address.company_name?json_string}",
"StreetAddressOne" : "${actor.address.address_1?json_string}",
"StreetAddressTwo" : "${actor.address.address_2?json_string}",
"StreetAddressThree" : "${actor.address.address_3?json_string}"
"StreetAddressThree" : "${actor.address.address_3?json_string}",
"CountryCode" : ""
</#if>
</#if>
},

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": [ ]

View File

@@ -4,9 +4,8 @@
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${actor.code?trim?json_string}"
"RefID": "${RFXtoRPprefixConsignee(actor.code?trim?json_string)}"
},
"Payload": {}
}
]

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>

50
RFXtoRP_HsaDispute.ftl Normal file
View File

@@ -0,0 +1,50 @@
<#-- **** 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 dispute = JsonUtil.jsonToMap(dataRfx)>
[
<#if dispute.dispute_closed == true >
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ClaimCreated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaDispute_Created.ftl">
}
<#if TableReasonCode[dispute.dispute_reason_code]??>
,
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ClaimMessageSent>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaDispute_MessageSent.ftl">
}
<#else>
<#stop>
</#if>
</#if>
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#stop>
<#break>
<#default>
<#stop>
</#switch>

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

@@ -0,0 +1,91 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "Table.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if dispute.dispute_preparation??>
<#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0>
"RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
<#else>
<#stop "preparation order list is empty" >
</#if>
<#else>
<#if dispute.dispute_reception??>
"RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
</#if>
</#if>
},
"Payload": {
<#if dispute.dispute_reference?? && dispute.dispute_reference!="">
"Title":"${dispute.dispute_reference?json_string}",
<#else>
"Title":"",
</#if>
"Criticality":"${TableCriticality[dispute.dispute_criticity]}",
"Amount": {
<#assign isCurrencyCode = JsonUtil.isCurrencyCode(dispute.dispute_amount_unit?upper_case) />
<#if isCurrencyCode>
"Currency" : "${dispute.dispute_amount_unit?upper_case?json_string}",
<#else>
<#if TableAmount[dispute.dispute_amount_unit?json_string]??>
"Currency" : "${TableAmount[dispute.dispute_amount_unit?json_string]}",
<#else>
"Currency" : "XXX",
</#if>
</#if>
"Value": "${dispute.dispute_amount}"
},
<#-- Claim metadata inclusion -->
<#include "RFXtoRP_HsaDispute_ClaimMetadata.ftl">,
<#-- To configure -->
<#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]??>
"ClaimTypeID":"CLAIMTYPE_${projectRP}_EXECUTIONFLOW_${TableReasonCode[dispute.dispute_reason_code]}"
<#else>
<#stop "Claim reason code not supported" >
</#if>
}
}
]

View File

@@ -0,0 +1,124 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if dispute.dispute_preparation??>
<#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0>
"RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
<#else>
<#stop "preparation order list is empty" >
</#if>
<#else>
<#if dispute.dispute_reception??>
"RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
</#if>
</#if>
},
"Payload": {
<#if dispute.dispute_preparation??>
"Message": "${dispute.dispute_reference?trim?json_string}"
<#else>
<#if dispute.dispute_reception??>
"Message": "${dispute.dispute_reception.reception_reference?trim?json_string}"
</#if>
</#if>
}
},
<#if dispute.dispute_quantity!=0 && dispute.dispute_item??>
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if dispute.dispute_preparation??>
<#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0>
"RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
<#else>
<#stop "preparation order list is empty" >
</#if>
<#else>
<#if dispute.dispute_reception??>
"RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
</#if>
</#if>
},
"Payload": {
"Message": "${dispute.dispute_item.item_code?trim?json_string} - ${dispute.dispute_quantity}${dispute.dispute_quantity_unit}"
}
},
<#elseif dispute.dispute_item??>
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if dispute.dispute_preparation??>
<#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0>
"RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
<#else>
<#stop "preparation order list is empty" >
</#if>
<#else>
<#if dispute.dispute_reception??>
"RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
</#if>
</#if>
},
"Payload": {
"Message": "${dispute.dispute_item.item_code?trim?json_string}"
}
},
<#elseif dispute.dispute_quantity!=0>
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if dispute.dispute_preparation??>
<#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0>
"RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
<#else>
<#stop "preparation order list is empty" >
</#if>
<#else>
<#if dispute.dispute_reception??>
"RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
</#if>
</#if>
},
"Payload": {
"Message": "${dispute.dispute_quantity}${dispute.dispute_quantity_unit}"
}
},
</#if>
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if dispute.dispute_preparation??>
<#if dispute.dispute_preparation.preparation_order_list?? && dispute.dispute_preparation.preparation_order_list?size != 0>
"RefID": "${dispute.dispute_preparation.preparation_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_activity_code?replace(" ","")?json_string}${dispute.dispute_preparation.preparation_order_list[0].preparation_order_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
<#else>
<#stop "preparation order list is empty" >
</#if>
<#else>
<#if dispute.dispute_reception??>
"RefID": "${dispute.dispute_reception.reception_physical_depot_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_activity_code?replace(" ","")?json_string}${dispute.dispute_reception.reception_contractor_code?replace(" ","")?json_string}${dispute.dispute_year_number?replace(" ","")?json_string}${dispute.dispute_number?replace(" ","")?json_string}"
</#if>
</#if>
},
"Payload": {
"Message": " ${dispute.dispute_description?trim?json_string}"
}
}
]

View File

@@ -0,0 +1,15 @@
<#-- Specify table for reason code -->
<#-- 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

@@ -12,49 +12,52 @@
<#assign reflexMvtStockInterface = JsonUtil.jsonToMap(dataRfx)>
<#-- exclusion of the cases of an IPG move with quantity = 0 (weight modification) -->
<#if reflexMvtStockInterface.ipg_move_quantity_in_base_lvs != 0>
<#-- IPG moves translated into Stock moves -->
<#if reflexMvtStockInterface.ipg_move_type == "130" ||
reflexMvtStockInterface.ipg_move_type == "200" ||
reflexMvtStockInterface.ipg_move_type == "210" ||
reflexMvtStockInterface.ipg_move_type == "220" ||
reflexMvtStockInterface.ipg_move_type == "230" ||
reflexMvtStockInterface.ipg_move_type == "240" ||
reflexMvtStockInterface.ipg_move_type == "260" ||
reflexMvtStockInterface.ipg_move_type == "290" ||
reflexMvtStockInterface.ipg_move_type == "300" ||
reflexMvtStockInterface.ipg_move_type == "400" ||
reflexMvtStockInterface.ipg_move_type == "410" ||
reflexMvtStockInterface.ipg_move_type == "420"
>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.StockMoved>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaIpgMove_StockMoved.ftl">
}
]
<#else>
<#-- IPG moves translated into goods received (all type of receipt) -->
<#if reflexMvtStockInterface.ipg_move_type == "100" ||
reflexMvtStockInterface.ipg_move_type == "110" ||
reflexMvtStockInterface.ipg_move_type == "120"
<#-- IPG moves translated into Stock moves -->
<#if reflexMvtStockInterface.ipg_move_type == "130" ||
reflexMvtStockInterface.ipg_move_type == "200" ||
reflexMvtStockInterface.ipg_move_type == "210" ||
reflexMvtStockInterface.ipg_move_type == "220" ||
reflexMvtStockInterface.ipg_move_type == "230" ||
reflexMvtStockInterface.ipg_move_type == "240" ||
reflexMvtStockInterface.ipg_move_type == "260" ||
reflexMvtStockInterface.ipg_move_type == "290" ||
reflexMvtStockInterface.ipg_move_type == "300" ||
reflexMvtStockInterface.ipg_move_type == "350" ||
reflexMvtStockInterface.ipg_move_type == "370" ||
reflexMvtStockInterface.ipg_move_type == "400" ||
reflexMvtStockInterface.ipg_move_type == "410" ||
reflexMvtStockInterface.ipg_move_type == "420" ||
reflexMvtStockInterface.ipg_move_type == "455" ||
reflexMvtStockInterface.ipg_move_type == "460" ||
reflexMvtStockInterface.ipg_move_type == "465" ||
(reflexMvtStockInterface.ipg_move_type == "520" && reflexMvtStockInterface.ipg_move_creation_program == "HFST69")
>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsReceived>
<#assign apiReflexPlatformID = ApiReflexPlatformID.MovementCreated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaIpgMove_GoodsReceived.ftl">
<#include "RFXtoRP_HsaIpgMove_StockMoved.ftl">
}
]
<#else>
<#-- Case of IPG move type volontarilly ignored-->
<#stop>
</#if>
<#else>
<#-- IPG moves translated into goods received (all type of receipt) -->
<#if (reflexMvtStockInterface.ipg_move_type == "100" ||
reflexMvtStockInterface.ipg_move_type == "110" ||
reflexMvtStockInterface.ipg_move_type == "120") >
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsReceived>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaIpgMove_GoodsReceived.ftl">
}
]
<#else>
<#stop>
</#if>
</#if>
<#else>
<#-- cases of an IPG move with quantity = 0 (weight modification)-->
@@ -64,11 +67,11 @@
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#stop "event not supported - Case D ">
<#stop >
<#break>
<#default>
<#stop "event not supported">
<#stop>
</#switch>

View File

@@ -1,7 +1,8 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
[
<#assign receipt_confirmation_datetime = RfxDateTimetoUTC(reflexMvtStockInterface.ipg_move_creation_datetime,time_zone_offset_rfx) />
<#assign receipt_confirmation_datetime = RfxDateTimetoUTCWithTimezone(reflexMvtStockInterface.ipg_move_creation_datetime,time_zone_rfx) />
<#assign priority_date = reflexMvtStockInterface.ipg_priority_date?datetime(rfx_date_format_default)?iso_utc />
{
"Header": {
@@ -20,18 +21,42 @@
"Goods": {
"ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
"LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}",
"PriorityDate": "${priority_date}",
<#if (priority_date!="") && (priority_date?starts_with("00")== false) >
"PriorityDate": "${priority_date}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
<#-- Goods received Segmentation Keys inclusion -->
<#include "RFXtoRP_HsaIpgMove_GoodsReceived_SegmentationKeys.ftl">
},
<#if reflexMvtStockInterface.receipt_reference!="">
"ExecutionflowID": "${reflexMvtStockInterface.receipt_reference?trim?json_string}",
<#if reflexMvtStockInterface.ipg_move_type?? & reflexMvtStockInterface.ipg_move_type=="120"> <#-- if it is a transfer-type movement -->
<#if reflexMvtStockInterface.origin_order_line_reference?? && reflexMvtStockInterface.origin_order_line_reference!="">
"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>
<#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>
<#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": "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>
"LineID": "${reflexMvtStockInterface.receipt_line_number}",
"ActorID": "${reflexMvtStockInterface.physical_depot_code?trim?json_string}",
<#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}",
</#if>
"ActorID": "${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)}",
"Quantity": {
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": ${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs}

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": [
{
@@ -18,21 +23,21 @@
"Value": { "String" : "no batch"}
<#else>
"Value": { "String" : "${reflexMvtStockInterface.batch_1}"}
</#if>
</#if>
},
{
"Key": "HeldForSpecificCode",
"Value": { "Bool" : "${reflexMvtStockInterface.ipg_specific_code_held}"}
},
{
<#assign manufacturing_date = reflexMvtStockInterface.manufacture_date?datetime(rfx_date_format_default)?iso_utc />
<#assign manufacturing_date = reflexMvtStockInterface.manufacture_date?datetime(rfx_date_format_default)?iso_utc />
"Key": "ManufacturingDate",
"Value": "Timestamp": {
"AuthorTimeZone": "${time_zone_rfx}",
"DateTime": "${manufacturing_date}"
}
}
}
]
-->

View File

@@ -1,5 +1,6 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
<#assign MoveType_KV = {"130":"STOCK_MOVEMENT_TYPE_PRODUCTION",
"200":"STOCK_MOVEMENT_TYPE_FIX",
@@ -10,12 +11,18 @@
"260":"STOCK_MOVEMENT_TYPE_REQUALIFICATION",
"290":"STOCK_MOVEMENT_TYPE_REQUALIFICATION",
"300":"STOCK_MOVEMENT_TYPE_REQUALIFICATION",
"350":"STOCK_MOVEMENT_TYPE_USE_OF_GOODS",
"370":"STOCK_MOVEMENT_TYPE_USE_OF_GOODS",
"400":"STOCK_MOVEMENT_TYPE_FIX",
"410":"STOCK_MOVEMENT_TYPE_FIX",
"420":"STOCK_MOVEMENT_TYPE_REQUALIFICATION"}>
<#assign generation_date = RfxDateTimetoUTC(reflexMvtStockInterface.ipg_move_creation_datetime,time_zone_offset_rfx) />
"420":"STOCK_MOVEMENT_TYPE_REQUALIFICATION",
"455":"STOCK_MOVEMENT_TYPE_FIX",
"460":"STOCK_MOVEMENT_TYPE_FIX",
"465":"STOCK_MOVEMENT_TYPE_FIX",
"520":"STOCK_MOVEMENT_TYPE_OUTBOUND"
}>
<#assign generation_date = RfxDateTimetoUTCWithTimezone(reflexMvtStockInterface.ipg_move_creation_datetime,time_zone_rfx) />
<#assign ipg_priority_datetime = reflexMvtStockInterface.ipg_priority_date?datetime(rfx_date_format_default)?iso_utc />
[
{
"Header": {
@@ -24,7 +31,11 @@
"Payload": {
"Goods": {
"ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
"PriorityDate": "${ipg_priority_datetime}",
<#if (reflexMvtStockInterface.ipg_priority_date!="") && (reflexMvtStockInterface.ipg_priority_date?starts_with("00")== false) >
"PriorityDate": "${ipg_priority_datetime}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
<#-- Segmentation keys inclusions -->
<#include "RFXtoRP_HsaIpgMove_StockMoved_SegmentationKeys.ftl">,
@@ -32,7 +43,7 @@
"LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}"
},
"ActorID": "${reflexMvtStockInterface.physical_depot_code?trim?json_string}",
"ActorID": "${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)}",
"Movement": {
"DateTime": {
@@ -42,7 +53,11 @@
"Author": "ReflexWMS-${reflexMvtStockInterface.ipg_move_creation_user_code?json_string}",
"ExternalMoveRef" : "${reflexMvtStockInterface.ipg_move_year_number} - ${reflexMvtStockInterface.ipg_move_number}",
"Type": "${MoveType_KV[reflexMvtStockInterface.ipg_move_type]!reflexMvtStockInterface.ipg_move_type}",
"Reason": "${reflexMvtStockInterface.miscellaneous_receipts_despatches_code?json_string}",
<#if reflexMvtStockInterface.ipg_move_type == "520" >
"Reason": " Direct Transfert ${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)} to ${RFXtoRPprefixDepot(reflexMvtStockInterface.transfer_consignee_physical_depot_code?trim?json_string)}",
<#else>
"Reason": "${reflexMvtStockInterface.miscellaneous_receipts_despatches_code?json_string}",
</#if>
"ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference?json_string}",
<#if reflexMvtStockInterface.ipg_move_operation_year_number!= 0>
"OperationReference": "${reflexMvtStockInterface.ipg_move_operation_year_number} - ${reflexMvtStockInterface.ipg_move_operation_number}",
@@ -51,7 +66,7 @@
"Quantity":
{
"LVID": "${quantity_in_base_lv_RP_Cst}",
<#if reflexMvtStockInterface.move_sign == "+">
<#if reflexMvtStockInterface.move_sign == "+" || reflexMvtStockInterface.ipg_move_quantity_in_base_lvs <= 0 >
"Value": ${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs}
<#else>
"Value": -${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs}

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": [
{
"Key": "Grade",
@@ -15,22 +21,22 @@
"Value": { "String" : "no batch"}
<#else>
"Value": { "String" : "${reflexMvtStockInterface.batch_1}"}
</#if>
</#if>
},
{
"Key": "HeldForSpecificCode",
"Value": { "Bool" : "${reflexMvtStockInterface.ipg_specific_code_held}"}
},
{
<#assign manufacturing_date = reflexMvtStockInterface.manufacture_date?datetime(rfx_date_format_default)?iso_utc />
<#assign manufacturing_date = reflexMvtStockInterface.manufacture_date?datetime(rfx_date_format_default)?iso_utc />
"Key": "ManufacturingDate",
"Value": "Timestamp": {
"AuthorTimeZone": "${time_zone_rfx}",
"DateTime": "${manufacturing_date}"
}
}
]
}
]
-->
"SegmentationKeys": [ ]

View File

@@ -1,9 +1,9 @@
<#-- **** input parameters ***** -->
<#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
@@ -15,37 +15,33 @@
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#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}",
"datas" :
<#include "RFXtoRP_HsaItm_ItemCreated.ftl">
<#else>
<#stop "no LV for the item">
</#if>
"datas" :
<#include "RFXtoRP_HsaItm_ItemCreated.ftl">
}
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign item = JsonUtil.jsonToMap(dataRfx)>
[
<#assign item = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ItemDeleted>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ItemDeleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaItm_ItemDeleted.ftl">
"datas" :
<#include "RFXtoRP_HsaItm_ItemDeleted.ftl">
}
]
]
<#break>
<#default>
<#stop "event not supported">
<#stop >
</#switch>

View File

@@ -3,7 +3,7 @@
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
@@ -15,31 +15,31 @@
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign lv = JsonUtil.jsonToMap(dataRfx)>
[
<#assign lv = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ItemLogisticVariantUpdated>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ItemLogisticVariantUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaItmLv_LogisticVariantUpdated.ftl">
"datas" :
<#include "RFXtoRP_HsaItmLv_LogisticVariantUpdated.ftl">
}
]
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign lv = JsonUtil.jsonToMap(dataRfx)>
[
<#assign lv = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ItemLogisticVariantRemoved>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaItmLv_LogisticVariantRemoved.ftl">
"datas" :
<#include "RFXtoRP_HsaItmLv_LogisticVariantRemoved.ftl">
}
]
<#break>
]
<#break>
<#default>
<#stop "event not supported">
<#stop >
</#switch>

View File

@@ -12,12 +12,12 @@
{
"LVID": "${lv.logistical_variant_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": [
<#list lv.id_list as id>
{
"Key": "${id.logistical_variant_ID_type_code?json_string!""}",
"Value": "${id.logistical_variant_ID_code?json_string!""}"
"Key": "${(id.logistical_variant_ID_type_code!"")?json_string}",
"Value": "${(id.logistical_variant_ID_code!"")?json_string}"
}<#sep>,</#sep>
</#list>
],

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": [ ]

View File

@@ -21,13 +21,17 @@
},
<#-- Item metadata inclusion -->
<#include "RFXtoRP_HsaItm_ItemCreated_ItemMetadata.ftl">,
<#include "RFXtoRP_HsaItm_ItemCreated_ItemMetadata.ftl">
<#-- Item Photo URI could be added here -->
<#--"PhotoURI": " ", -->
<#if item.url?? && item.url!="">
,
"PhotoURI": "${item.url?json_string}"
</#if>
<#-- 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": [
<#list item.logistical_variant_list as logistical_variant>
@@ -35,12 +39,12 @@
"LVID": "${logistical_variant.logistical_variant_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": [
<#list logistical_variant.id_list as id>
{
"Key": "${id.logistical_variant_ID_type_code?json_string!""}",
"Value": "${id.logistical_variant_ID_code?json_string!""}"
"Key": "${(id.logistical_variant_ID_type_code!"")?json_string}",
"Value": "${(id.logistical_variant_ID_code!"")?json_string}"
}<#sep>,</#sep>
</#list>
],

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": [ ]

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": [ ]

89
RFXtoRP_HsaLstCarSta.ftl Normal file
View File

@@ -0,0 +1,89 @@
<#-- **** input parameters ***** -->
<#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#include "ActorPrefix.ftl">
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#assign aDateTime = .now>
<#switch cloudEventMsg.action>
<#case "C">
<#case "U">
<#-- *********************************************** Action = Update ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#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>
<#case "020"> <#--Carrier Arrived-->
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierArrived>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#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>
<#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 >
</#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 : message RFX -->
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
@@ -16,62 +16,66 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparationStatusInterface = JsonUtil.jsonToMap(dataRfx) />
[
<#if preparationStatusInterface.preparation_type_code=="010" || preparationStatusInterface.preparation_type_code=="030">
<#--**Pick batch runned (200) **-->
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "200" >
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationExpected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaProStatus_PreparationExpected.ftl">
}
<#else>
<#-- ** Collection started (300) and Preparation in progress (400)** -->
<#if preparationStatusInterface.preparation_status_type == "100" && (preparationStatusInterface.preparation_status_code == "300" || preparationStatusInterface.preparation_status_code == "400") >
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "200" >
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationStarted>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationExpected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaProStatus_PreparationStarted.ftl">
<#include "RFXtoRP_HsaProStatus_PreparationExpected.ftl">
}
<#else>
<#-- ****Preparation dispatched (600)** -->
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "600" >
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaProStatus_PreparationCompleted.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowTransportStarted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaProStatus_TransportStarted.ftl">
}
<#-- ** Collection started (300) and Preparation in progress (400)** -->
<#if preparationStatusInterface.preparation_status_type == "100" && (preparationStatusInterface.preparation_status_code == "300" || preparationStatusInterface.preparation_status_code == "400") >
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationStarted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaProStatus_PreparationStarted.ftl">
}
<#else>
<#-- ****Preparation cancelled (650)**** -->
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "650" >
<#-- ****Preparation dispatched (600)** -->
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "600" >
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl">
<#include "RFXtoRP_HsaProStatus_PreparationCompleted.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowTransportStarted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaProStatus_TransportStarted.ftl">
}
<#else>
<#stop>
<#-- ****Preparation cancelled (650)**** -->
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "650" >
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl">
}
<#else>
<#stop>
</#if>
</#if>
</#if>
</#if>
<#else>
<#stop >
</#if>
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#stop "event not supported (case D)">
<#stop >
<#break>
<#default>
<#stop "event not supported">
<#stop >
</#switch>

View File

@@ -1,6 +1,6 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign preparation_status_datetime = RfxDateTimetoUTC(preparationStatusInterface.preparation_status_datetime,time_zone_offset_rfx) />
<#assign preparation_status_datetime = RfxDateTimetoUTCWithTimezone(preparationStatusInterface.preparation_status_datetime,time_zone_rfx) />
[
{
@@ -8,7 +8,11 @@
"ProjectID": "${projectRP}"
},
"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": {
"DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -1,13 +1,17 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign preparation_status_datetime = RfxDateTimetoUTC(preparationStatusInterface.preparation_status_datetime,time_zone_offset_rfx) />
<#assign preparation_status_datetime = RfxDateTimetoUTCWithTimezone(preparationStatusInterface.preparation_status_datetime,time_zone_rfx) />
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"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": {
"DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -1,13 +1,17 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign preparation_status_datetime = RfxDateTimetoUTC(preparationStatusInterface.preparation_status_datetime,time_zone_offset_rfx) />
<#assign preparation_status_datetime = RfxDateTimetoUTCWithTimezone(preparationStatusInterface.preparation_status_datetime,time_zone_rfx) />
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"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": {
"DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -1,13 +1,17 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign preparation_status_datetime = RfxDateTimetoUTC(preparationStatusInterface.preparation_status_datetime,time_zone_offset_rfx) />
<#assign preparation_status_datetime = RfxDateTimetoUTCWithTimezone(preparationStatusInterface.preparation_status_datetime,time_zone_rfx) />
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"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": {
"DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -1,13 +1,17 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign preparation_status_datetime = RfxDateTimetoUTC(preparationStatusInterface.preparation_status_datetime,time_zone_offset_rfx) />
<#assign preparation_status_datetime = RfxDateTimetoUTCWithTimezone(preparationStatusInterface.preparation_status_datetime,time_zone_rfx) />
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"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": {
"DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -2,8 +2,11 @@
<#-- input : message RFX -->
<#-- project : projectId 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 organisationRP = organisation>
@@ -14,33 +17,33 @@
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign actor = JsonUtil.jsonToMap(dataRfx)>
[
<#assign actor = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreatedv2>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaSup_ActorCreated.ftl">
"datas" :
<#include "RFXtoRP_HsaSup_ActorCreated.ftl">
}
]
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign actor = JsonUtil.jsonToMap(dataRfx)>
[
<#assign actor = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorDeleted>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorDeleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaSup_ActorDeleted.ftl">
"datas" :
<#include "RFXtoRP_HsaSup_ActorDeleted.ftl">
}
]
]
<#break>
<#default>
<#stop "event not supported">
<#stop >
</#switch>

View File

@@ -4,44 +4,41 @@
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${actor.code?trim?json_string}"
"RefID": "${RFXtoRPprefixSupplier(actor.code?trim?json_string)}"
},
"Payload": {
"Name": "${actor.designation?json_string}",
"ManagedStock": false,
"IsCarrier": false,
<#-- ***Partner ID could be added here *** -->
<#-- "PartnerID": "${}", -->
<#--
<#include "RFXtoRP_HsaSup_ActorCreated_Metadata.ftl">,
-->
"Address":
{
<#-- if Reflex WMS address is structured -->
<#-- if HARDIS WMS address is structured -->
<#if actor.supplier_structured_address?? >
"Name": "${actor.supplier_structured_address.name_or_company?json_string}",
"StreetAddressOne" : "${actor.supplier_structured_address.street_and_PO?json_string}",
"StreetAddressTwo" : "${actor.supplier_structured_address.additionnal_data?json_string}",
"PostalCode" : "${actor.supplier_structured_address.postal_code?json_string}",
"City" : "${actor.supplier_structured_address.post_code_area_name?json_string}",
"CountryCode" : "${actor.supplier_structured_address.country_code?json_string}",
<#assign isCountryCode = JsonUtil.isCountryCode(actor.supplier_structured_address.country_code?upper_case) />
<#if isCountryCode>
"CountryCode" : "${actor.supplier_structured_address.country_code?upper_case?json_string}",
<#else>
"CountryCode" : "",
</#if>
"ProvinceCode": "${actor.supplier_structured_address.territorial_div_code?json_string}",
"State": "${actor.supplier_structured_address.country_designation?json_string}"
<#-- if Reflex WMS address is not structured -->
<#-- if HARDIS WMS address is not structured -->
<#else>
<#if actor.optional_attributes?? >
"Name": "${actor.optional_attributes.company_name?json_string}",
"StreetAddressOne" : "${actor.optional_attributes.address_1?json_string}",
"StreetAddressTwo" : "${actor.optional_attributes.address_2?json_string}",
"StreetAddressThree" : "${actor.optional_attributes.address_3?json_string}"
"StreetAddressThree" : "${actor.optional_attributes.address_3?json_string}",
"CountryCode" : ""
</#if>
</#if>
},
<#if actor.optional_attributes?? >
"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": [ ]

View File

@@ -4,9 +4,8 @@
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${actor.code?trim?json_string}"
"RefID": "${RFXtoRPprefixSupplier(actor.code?trim?json_string)}"
},
"Payload": {}
}
]

153
RFXtoRP_HsrCarrierApt.ftl Normal file
View File

@@ -0,0 +1,153 @@
<#-- **** input parameters ***** -->
<#-- input : message HARDIS-WMS -->
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#include "ActorPrefix.ftl">
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#assign aDateTime = .now>
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign carrier_apt = JsonUtil.jsonToMap(dataRfx)>
<#switch cloudEventMsg.action>
<#case "C">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteForceBookAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_SiteForceBookAppointment.ftl">
}
]
<#break>
<#case "U">
<#-- *********************************************** Action = Update ********************-->
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCustomFieldsUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl">
},
<#include "RFXtoRP_HsrCarrierApt_AppointmentMetadataUpdated.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>
<#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"))>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteWMSUpdateAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl">
}
]
<#else>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteForceRescheduleAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_UpdateSlotAppointment.ftl">
}
]
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
]
<#break>
<#case "D">
<#-- *********************************************** Action = Delete ******************** -->
[
<#-- Ajout des lignes-->
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.SiteCancelAppointment>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrCarrierApt_SiteCancelAppointment.ftl">
}
]
<#break>
<#default>
<#stop >
</#switch>

View File

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

View File

@@ -0,0 +1,148 @@
[
{
"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}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
<#else>
"AppointmentID": "${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!="">
"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}"
}
],
<#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!="">
"AppointmentID": "${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>
"AppointmentID": "${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!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"AppointmentID": "${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!="">
"AppointmentID": "${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>
"AppointmentID": "${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!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"AppointmentID": "${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,148 @@
[
{
<#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}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
<#else>
"AppointmentID": "${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!="">
"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 /> <#-- à confirmer -->
</#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}"
}
],
<#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}"
}<#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,84 @@
[
{
<#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}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
<#else>
"AppointmentID": "${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!="">
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
<#else>
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
</#if>
</#if>
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false">
<#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-") || carrier_apt.planned_unloading_end_datetime?starts_with("00") || carrier_apt.planned_unloading_end_datetime?contains("-00-")>
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend is not initialized" >
</#if>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNLOADING>
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_unloading_end_datetime?datetime.iso) />
<#if (duration <= 0)>
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend are not valid" >
</#if>
<#else>
<#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true" >
<#if carrier_apt.planned_load_start_datetime?starts_with("00") || carrier_apt.planned_load_start_datetime?contains("-00-") || carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-")>
<#stop "planned_load_start_datetime or planned_load_end_datetime field of appointmend is not initialized" >
</#if>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_LOADING>
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_load_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) />
<#if (duration <= 0)>
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend are not valid" >
</#if>
<#else>
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
<#if carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-") || carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-") >
<#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend is not initialized" >
</#if>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNLOADING>
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) />
<#if (duration <= 0)>
<#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend are not valid" >
</#if>
<#else>
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN>
<#assign duration = 0 /> <#-- à confirmer -->
</#if>
</#if>
</#if>
"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,9 +1,9 @@
<#-- **** input parameters ***** -->
<#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#-- input : message HARDIS WMS -->
<#-- project : projectId in HARDIS SC NETWORK -->
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
@@ -14,33 +14,33 @@
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
[
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreated>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorCreatedv2>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrDepot_ActorCreated.ftl">
"datas" :
<#include "RFXtoRP_HsrDepot_ActorCreated.ftl">
}
]
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE *************************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
[
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorDeleted>
<#assign apiReflexPlatformID = ApiReflexPlatformID.ActorDeleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrDepot_ActorDeleted.ftl">
"datas" :
<#include "RFXtoRP_HsrDepot_ActorDeleted.ftl">
}
]
]
<#break>
<#default>
<#stop "event not supported">
<#stop >
</#switch>

View File

@@ -1,50 +1,52 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${depot.physical_depot_code?trim?json_string}"
"RefID": "${RFXtoRPprefixDepot(depot.physical_depot_code?trim?json_string)}"
},
"Payload": {
"Name": "${depot.physical_depot_designation?json_string}",
"ManagedStock": true,
"IsCarrier": false,
<#-- ***Partner ID could be added here *** -->
<#-- "PartnerID": "${}", -->
<#--
<#include "RFXtoRP_HsrDepot_ActorCreated_Metadata.ftl">,
-->
"Address":
{
<#-- if Reflex WMS address is structured -->
<#-- if HARDIS WMS address is structured -->
<#if depot.physical_depot_structured_address?? >
"Name": "${depot.physical_depot_structured_address.name_or_company?json_string}",
"StreetAddressOne" : "${depot.physical_depot_structured_address.street_and_PO?json_string}",
"StreetAddressTwo" : "${depot.physical_depot_structured_address.additionnal_data?json_string}",
"PostalCode" : "${depot.physical_depot_structured_address.postal_code?json_string}",
"City" : "${depot.physical_depot_structured_address.post_code_area_name?json_string}",
"CountryCode" : "${depot.physical_depot_structured_address.country_code?json_string}",
<#assign isCountryCode = JsonUtil.isCountryCode(depot.physical_depot_structured_address.country_code?upper_case) />
<#if isCountryCode >
"CountryCode" : "${depot.physical_depot_structured_address.country_code?upper_case?json_string}",
<#else>
"CountryCode" : "",
</#if>
"ProvinceCode": "${depot.physical_depot_structured_address.territorial_div_code?json_string}",
"State": "${depot.physical_depot_structured_address.country_designation?json_string}"
<#-- if Reflex WMS address is not structured -->
<#-- if HARDIS WMS address is not structured -->
<#else>
<#if depot.physical_depot_address??>
"Name": "${depot.physical_depot_address.company_name?json_string}",
"StreetAddressOne" : "${depot.physical_depot_address.address_1?json_string}",
"StreetAddressTwo" : "${depot.physical_depot_address.address_2?json_string}",
"StreetAddressThree" : "${depot.physical_depot_address.address_3?json_string}"
"StreetAddressThree" : "${depot.physical_depot_address.address_3?json_string}",
"CountryCode" : ""
</#if>
</#if>
},
"Phones": ["${depot.physical_depot_address.telephone?json_string}",
"${depot.physical_depot_address.other_number?json_string}"
],
"Typology": "TYPOLOGY_UNKNOWN"
<#if depot.physical_depot_address??>
"Phones": ["${depot.physical_depot_address.telephone?json_string}",
"${depot.physical_depot_address.other_number?json_string}"
],
</#if>
"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": [ ]

View File

@@ -1,12 +1,14 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${depot.physical_depot_code?trim?json_string}"
"RefID": "${RFXtoRPprefixDepot(depot.physical_depot_code?trim?json_string)}"
},
"Payload": {}
}
]

40
RFXtoRP_HsrLoadInfo.ftl Normal file
View File

@@ -0,0 +1,40 @@
<#-- **** 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>
<#stop>
<#switch cloudEventMsg.action>
<#case "C">
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
[
{
}
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE *************************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
[
{
}
]
<#break>
<#default>
<#stop >
</#switch>

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 : message RFX -->
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#-- 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>
@@ -16,81 +17,98 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparationOrder = JsonUtil.jsonToMap(dataRfx)>
<#if preparationOrder.total_lv_validated !=0>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsPrepared>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl">
}
<#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">
},
<#include "RFXtoRP_HsrPrepa_ExecutionflowMetadataUpdated.ftl">
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl">
}
<#if preparationOrder.load_data?? && preparationOrder.load_data.carrier_code?? && preparationOrder.load_data.carrier_code!="">
,
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCarrierUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_CarrierUpdated.ftl">
}
</#if>
<#if preparationOrder.load_data?? && preparationOrder.load_data.carrier_code?? && preparationOrder.load_data.carrier_code!="" >
,
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCarrierUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_CarrierUpdated.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.OrderCarrierUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl">
}
</#if>
<#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>
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg>
<#if despatched_ipg.consignment_unit_id!="">
,
{
<#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>
</#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>
</#list>
<#-- <#sep>,</#sep> -->
</#list>
]
<#else>
<#stop "no confirmed quantity for the preparation - preparation closed">
</#if>
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#stop "event not supported (Case D)">
<#stop>
<#break>
<#default>
<#stop "event not supported">
<#stop>
</#switch>

View File

@@ -1,23 +1,38 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID":{
"RefID": "${preparationOrder.preparation_line_lst[0].preparation_order_originator_reference?trim?json_string}"
},
"Payload":{
"Carrier": {
"ActorID":"${preparationOrder.load_data.carrier_code?trim?json_string}"
<#assign refIDHmap_local ={}>
<#list preparationOrder.preparation_line_lst as preparation_line>
<#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?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)}"
}
<#-- Add transport grade code
<#if preparationOrder.transport_grade_code!="">
,
"CarrierService":"${preparationOrder.transport_grade_code?trim?json_string}"
</#if> -->
}
<#-- Add transport grade code
<#if preparationOrder.transport_grade_code!="">
,
"CarrierService":"${preparationOrder.transport_grade_code?trim?json_string}"
</#if> -->
}
}
}
</#if>
</#list>
<#assign refIDHmap_local ={}>
]

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,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 -->
<#--
"MetaData" :[
]
<#-- 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

@@ -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": [
{
"Key": "Grade",
@@ -15,7 +21,7 @@
"Value": { "String" : "no batch"}
<#else>
"Value": { "String" : "${despatched_ipg.batch_number}"}
</#if>
</#if>
},
{
"Key": "HeldForSpecificCode",
@@ -24,15 +30,14 @@
<#else>
"Value": { "Bool" : "False"}
},
{
<#assign manufacturing_date = despatched_ipg.ipg_manufacture_date?datetime(rfx_date_format_default)?iso_utc />
<#assign manufacturing_date = despatched_ipg.ipg_manufacture_date?datetime(rfx_date_format_default)?iso_utc />
"Key": "ManufacturingDate",
"Value": "Timestamp": {
"AuthorTimeZone": "${time_zone_rfx}",
"DateTime": "${manufacturing_date}"
}
}
}
]

View File

@@ -1,23 +1,29 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
[
<#assign dispatched_datetime = RfxDateTimetoUTC(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_offset_rfx) />
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg>
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${despatched_ipg.carton_number}",
"RefDate": {
"DateTime": "${dispatched_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": { }
}<#sep>,</#sep>
<#assign dispatched3_datetime = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) />
<#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>
<#if !refIDHmap[despatched_ipg3.carton_number]?? >
<#if refIDHmap?size != 0 >
,
</#if>
<#assign refIDHmap += {despatched_ipg3.carton_number,despatched_ipg3.carton_number}>
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${despatched_ipg3.carton_number}",
"RefDate": {
"DateTime": "${dispatched3_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": { }
}
</#if>
</#list>
<#sep>,</#sep>
</#list>
</#list>
]

View File

@@ -0,0 +1,10 @@
<#-- 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": [ ]

View File

@@ -0,0 +1,27 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#include "ActorPrefix.ftl">
[
<#assign dispatched_datetime5 = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID":"${despatched_ipg.hd_number}",
"RefDate": {
"DateTime": "${dispatched_datetime5}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": {
"HandlingunitID": "${despatched_ipg.hd_number}"
<#if preparationOrder.load_data?? && preparationOrder.load_data.carrier_code?? && preparationOrder.load_data.carrier_code!="" >
,
"HUCarrier":{
"ActorID": "${RFXtoRPprefixCarrier(preparationOrder.load_data.carrier_code?trim?json_string)}"
}
</#if>
}
}
]

View File

@@ -1,23 +1,28 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
[
<#assign dispatched_datetime = RfxDateTimetoUTC(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_offset_rfx) />
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line>
<#assign dispatched_datetime = RfxDateTimetoUTCWithTimezone(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_rfx) />
<#assign refIDHmap_local ={}>
<#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>
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${despatched_ipg.hd_number}",
"RefDate": {
"DateTime": "${dispatched_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": { }
}<#sep>,</#sep>
</#list>
<#sep>,</#sep>
</#list>
<#if !refIDHmap_local[despatched_ipg.hd_number]?? >
<#if refIDHmap_local?size != 0 >
,
</#if>
<#assign refIDHmap_local +={despatched_ipg.hd_number,despatched_ipg.hd_number}>
{
"Header": {"ProjectID": "${projectRP}"},
"ID": {
"RefID": "${despatched_ipg.hd_number}",
"RefDate": {
"DateTime": "${dispatched_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": { }
}
</#if>
</#list>
</#list>
<#assign refIDHmap_local ={}>
]

View File

@@ -1,13 +1,19 @@
<#include "ReflexUtils.ftl">
<#include "HfRpConfig.ftl">
<#include "ActorPrefix.ftl">
[
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) 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>
<#assign packing_datetime = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefDate": {
"AuthorTimeZone": "${time_zone_rfx}",
"DateTime": "${packing_datetime}"
},
<#if despatched_ipg.carton_number != "000000000000000000">
"RefID": "${despatched_ipg.carton_number}"
<#else>
@@ -18,9 +24,9 @@
"Payload": {
"Information" :{
<#if despatched_ipg.carton_number != "000000000000000000">
"ContainerType": "${despatched_ipg.carton_type_code}"
"ContainerType": "${despatched_ipg.carton_type_code?json_string}"
<#if preparation_line.despatched_cartons_list?? >
<#list preparation_line.despatched_cartons_list?filter(l ->l.carton_number==despatched_ipg.carton_number) as dimensionCarton>
<#list preparation_line.despatched_cartons_list?filter(l -> l?? && l.carton_number==despatched_ipg.carton_number) as dimensionCarton>
,
"Length": {
"Unit": "${length_unit_rfx}",
@@ -43,7 +49,7 @@
<#else>
"ContainerType": "${despatched_ipg.hd_type_code?json_string}"
<#if preparation_line.despatched_hds_list??>
<#list preparation_line.despatched_hds_list?filter(j ->j.handling_device_number==despatched_ipg.hd_number) as dimensionHU>
<#list preparation_line.despatched_hds_list?filter(j -> j?? && j.handling_device_number==despatched_ipg.hd_number) as dimensionHU>
,
"Length": {
"Unit": "${length_unit_rfx}",
@@ -70,57 +76,64 @@
"Goods": {
"ItemID": "${preparation_line.item_code?trim?json_string}",
"LVBranchID": "${preparation_line.item_lv_code?json_string}",
<#if (despatched_ipg.ipg_manufacture_date?length != 0) && (despatched_ipg.ipg_manufacture_date?starts_with("00") == false)>
<#assign priority_date = despatched_ipg.ipg_manufacture_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_receipt_date?length != 0) && (despatched_ipg.ipg_receipt_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_receipt_date?datetime(rfx_date_format_default)?iso_utc />
<#if (despatched_ipg.ipg_use_by_date?length != 0) && (despatched_ipg.ipg_use_by_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_use_by_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_best_before_date?length != 0) && (despatched_ipg.ipg_best_before_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_best_before_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_sell_by_date?length != 0) && (despatched_ipg.ipg_sell_by_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_sell_by_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_best_before_date?length != 0) && (despatched_ipg.ipg_best_before_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_best_before_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_sell_by_date?length != 0) && (despatched_ipg.ipg_sell_by_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_sell_by_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_use_by_date?length != 0) && (despatched_ipg.ipg_use_by_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_use_by_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (preparationOrder.stock_despatch_at_preparation_datetime?length != 0) && (preparationOrder.stock_despatch_at_preparation_datetime?starts_with("00")== false)>
<#assign priority_date = preparationOrder.stock_despatch_at_preparation_datetime?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
</#if>
</#if>
</#if>
<#else>
<#if (despatched_ipg.ipg_manufacture_date?length != 0) && (despatched_ipg.ipg_manufacture_date?starts_with("00") == false)>
<#assign priority_date = despatched_ipg.ipg_manufacture_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_receipt_date?length != 0) && (despatched_ipg.ipg_receipt_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_receipt_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (preparationOrder.stock_despatch_at_preparation_datetime?length != 0) && (preparationOrder.stock_despatch_at_preparation_datetime?starts_with("00")== false)>
<#assign priority_date = preparationOrder.stock_despatch_at_preparation_datetime?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
<#-- Segmentation Keys inclusion -->
<#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>
"LineID": "${preparation_line.pro_originator_reference_line_number}",
<#else>
"LineID": "${preparation_line.pro_line_number!0}",
</#if>
"ActorID": "${preparationOrder.physical_depot_code?trim?json_string}",
"Quantity": {
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": ${despatched_ipg.quantity_lvs}
"ActorID": "${RFXtoRPprefixDepot(preparationOrder.physical_depot_code?trim?json_string)}",
"Quantity": {
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": ${despatched_ipg.quantity_lvs}
}
}
]
}
}<#sep>,</#sep>
</#list>
<#sep>,</#sep>

View File

@@ -1,19 +1,22 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
[
{
{
"Header": {
"ProjectID": "${projectRP}"
"ProjectID": "${projectRP}"
},
"ID": {
"RefDate": {
"AuthorTimeZone": "${time_zone_rfx}",
"DateTime": "${HUadded_packing_datetime}"
},
"RefID": "${despatched_ipg.hd_number}"
},
"Payload": {
"IncludedHandlingunitIDs": [ "${despatched_ipg.carton_number}" ]
<#if preparation_line.despatched_hds_list?? >
<#if preparation_line.despatched_hds_list?? && preparation_line.despatched_hds_list[0]??>
,
"Information": {
"ContainerType": "${preparation_line.despatched_hds_list[0].hd_type_code}",
@@ -28,9 +31,12 @@
"Width": {
"Unit": "${length_unit_rfx}",
"Value": ${preparation_line.despatched_hds_list[0].hd_type_width}
}
}
}
</#if>
</#if>,
<#-- HU Metadata inclusin inclusion -->
<#include "RFXtoRP_HsrPrepa_HUsAdded_Metadata.ftl">
}
}

View File

@@ -1,18 +0,0 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID":{
"RefID": "${preparationOrder.preparation_line_lst[0].preparation_order_originator_reference?trim?json_string}"
},
"Payload":{
"Carrier": {
"ActorID":"${preparationOrder.load_data.carrier_code?trim?json_string}"
}
}
}
]

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