You've already forked reflex-wms-connector
Compare commits
467 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 033ff99037 | |||
| 9165592815 | |||
| ed7726de60 | |||
| ac18299345 | |||
| 148d0daffd | |||
| 4e5070a902 | |||
| 2b25c4853d | |||
| 844ecb1558 | |||
| 837b8f86ed | |||
| 4e7d98144d | |||
| 3a061c2374 | |||
| ce7104ee9f | |||
| 846641ac35 | |||
| 50771c3268 | |||
| 7deb33a7e0 | |||
| d8c87881f5 | |||
| c9070dd01e | |||
| 3915c83146 | |||
| bf3f30190d | |||
| c67ca71693 | |||
| 17263f024f | |||
| e8afce8ef0 | |||
| e03a017118 | |||
| 2bfb866dcc | |||
| 68f99e1435 | |||
| 13fe55ae1a | |||
| 4f0874a7dc | |||
| 62984a07f4 | |||
| 2008f01f6f | |||
| a37d43f50f | |||
| 10fa7309fa | |||
| 8a810c8a14 | |||
| 8e1d0e3a17 | |||
| e12c6e64e4 | |||
| eaaa9bbea5 | |||
| 6c0deafd93 | |||
| 62cdd584d3 | |||
| 97f93a1f26 | |||
| ee7e5bb8c9 | |||
| 4e3162556c | |||
| 20437cace5 | |||
| 93effa78ff | |||
| 085f0ae4f8 | |||
| 3d585203ef | |||
| 57576b1ac0 | |||
| 83260c7ac5 | |||
| 8ebaa8e15a | |||
| f602f74da1 | |||
| 37495ca141 | |||
| 217a2680de | |||
| 6fd708cf58 | |||
| e5482ad09c | |||
| 33ea0af1b9 | |||
| f7394986c2 | |||
| 6ae3af7139 | |||
| c89c74d2e2 | |||
| d02e6feead | |||
| 6ce6ac0b8d | |||
| 647e2d45af | |||
| f26dda887a | |||
| 9dd59d75f3 | |||
| 48be4322cb | |||
| 07a50a71d9 | |||
| af0dd3fc66 | |||
| a8c85b40b4 | |||
| 88550b45ac | |||
| e0f46af99e | |||
| 81c6dec4f2 | |||
| 64fc9f3e15 | |||
| 5dd16bf4b5 | |||
| a43e59f7cb | |||
| eea2a41313 | |||
| 89b7ce149b | |||
| e673f7c134 | |||
| 8898467d7c | |||
| cd9db2ddb0 | |||
| 7844fdd015 | |||
| 2a908a85d7 | |||
| 8d806117fa | |||
| 84d0f73281 | |||
| 70ec04c65a | |||
| 4784cc2bc1 | |||
| ac5219b94a | |||
| 127a662057 | |||
| da53dc05fc | |||
| 4823bc6fed | |||
| b1577d1791 | |||
| 1352a36a21 | |||
| 57113f4c51 | |||
| 1de2a47dae | |||
| 02de559235 | |||
| b1527f9e7e | |||
| 7bb190e4f5 | |||
| c561f9674b | |||
| d2b5eeafdf | |||
| d1c3bb9d16 | |||
| dca0fa7fe4 | |||
| c3364d77a2 | |||
| e24e537650 | |||
| 71bd4918a9 | |||
| 8974632c22 | |||
| cb59aa28b5 | |||
| 868cc19e12 | |||
| c334ee1fdc | |||
| 50ca244177 | |||
| 45aac87589 | |||
| 95f07b1ae0 | |||
| 650990b045 | |||
| 5b316bb395 | |||
| 24d7ad81bd | |||
| 456b304879 | |||
| 1772ed970b | |||
| 8d4eb4ec4c | |||
| 04a72fcda4 | |||
| 264257fcd0 | |||
| 944f3a2da5 | |||
| 1c07a8dd77 | |||
| 0f4191012d | |||
| 27ea4f3795 | |||
| 5492139935 | |||
| c1ea6e46af | |||
| efeb0c0185 | |||
| 91467086c4 | |||
| b68855504a | |||
| 2d022ccf47 | |||
| 9b5eec0f7f | |||
| e12235319e | |||
| 289b8c3fc1 | |||
| 4e436a918d | |||
| b21e75c8e2 | |||
| caefae873c | |||
| f5c5afac1b | |||
| c324773fad | |||
| 5552265833 | |||
| 1864bef8bb | |||
| 8fe3dd364c | |||
| 4b5e20e6a9 | |||
| 5fa439f297 | |||
| 39914dbdde | |||
| fde8ffe813 | |||
| 833821a8a3 | |||
| c556124565 | |||
| 83d1fbfcaa | |||
| 509d47a979 | |||
| 8128e55ede | |||
| 0ef7219e29 | |||
| 9a130211ba | |||
| 6def04b358 | |||
| cd63035277 | |||
| 2f04415f2e | |||
| 8821916dc6 | |||
| 474061200b | |||
| 2098be0ce7 | |||
| e8bcece299 | |||
| cff6c1fd3f | |||
| 46260b8241 | |||
| 3e3091f194 | |||
| efddfdc821 | |||
| e03da2db8d | |||
| f5c8640d11 | |||
| adf81809db | |||
| cdcae921fd | |||
| 109b8eb119 | |||
| a6fec0c333 | |||
| 45258af56e | |||
| 11c4386aaa | |||
| 4d4578a88c | |||
| c0ebc698c8 | |||
| 81c67a8426 | |||
| 8a6260f54d | |||
| aba0cf5629 | |||
| 6bdd925601 | |||
| 9e8e20f6ce | |||
| 5006beed8c | |||
| e2eb764e2e | |||
| 6b86a61015 | |||
| b1c46cd0f1 | |||
| e7c3154c56 | |||
| 706c73a530 | |||
| 955928a754 | |||
| ec76673e95 | |||
| e6cd04b6bf | |||
| 2e3cd66843 | |||
| 2987a4fb38 | |||
| d4a389737e | |||
| 3a14a46b18 | |||
| 808b2072ce | |||
| 9c22f7786f | |||
| dcbd037b22 | |||
| 44a4f5f0cc | |||
| 03b2104500 | |||
| e1b1b8ad2d | |||
| f66912121e | |||
| b361f1fcf7 | |||
| 51b5fd7d17 | |||
| e1d6e3ca3f | |||
| 861cd70eb9 | |||
| b14e6c21ff | |||
| c352775cd4 | |||
| f1b0d1a5d4 | |||
| fad0c31ae8 | |||
| f81591371f | |||
| 7d0d4d5538 | |||
| 481bbcb1af | |||
| 6e4cc5549a | |||
| ce415efc4e | |||
| a6262045f4 | |||
| 3a7cfb555f | |||
| 249f9e3fbe | |||
| 3bd0cd26fd | |||
| 369a8b7e10 | |||
| a3fc98c8d9 | |||
| 613cfcd377 | |||
| c0bec9085b | |||
| 72143d38bd | |||
| 4faf7a3753 | |||
| 6ae403817f | |||
| a661bcc5e6 | |||
| 82c4aea28e | |||
| 420d1cd0ef | |||
| b173ee9ef0 | |||
| 9b7ba855d5 | |||
| dbe31fbb78 | |||
| 3d957d8572 | |||
| edd5562ed5 | |||
| 0917a0b435 | |||
| d94ba65307 | |||
| 0c3d1e2136 | |||
| f0145706a6 | |||
| 190d484c9b | |||
| e69022df0a | |||
| 2603c4ee27 | |||
| eea8276d78 | |||
| 437a39f115 | |||
| b2afedf9f8 | |||
| a3283f5531 | |||
| 608bbb4aee | |||
| 793abba25f | |||
| 0ac201dbc5 | |||
| 1006b619d8 | |||
| 9d3c536993 | |||
| 95ba5b5990 | |||
| 29aa9fa187 | |||
| 68e695c084 | |||
| 91d134d02d | |||
| f46aa46ae4 | |||
| e73fb15ffe | |||
| 3504515b03 | |||
| 55c3d24f79 | |||
| d6331bd8ca | |||
| 32c47dcf22 | |||
| 574cc16f10 | |||
| 0db8396224 | |||
| f242bf0d95 | |||
| 80e25c18d1 | |||
| f7d10368f2 | |||
| 59d170c599 | |||
| 17ae3b23bf | |||
| 7f3d3abb08 | |||
| 29e35d8ed1 | |||
| dbb4a21e66 | |||
| 34133aabec | |||
| cd7f2ecb22 | |||
| 67fb97753d | |||
| c654ef5cf9 | |||
| 8caed06a9e | |||
| c15b087c68 | |||
| 84bb2ca294 | |||
| ecb0ede86e | |||
| 540a6c9da6 | |||
| 21516ad815 | |||
| a4b2fb2eef | |||
| 8f66226519 | |||
| f0f0078e08 | |||
| 85e1dfd7d3 | |||
| 51198beafd | |||
| 503481e410 | |||
| 57db370c4c | |||
| c47da0ae86 | |||
| fbd3e74906 | |||
| de2a95e83c | |||
| ca1989b91a | |||
| 863253b7e0 | |||
| a75167d7f0 | |||
| 108d29b5b3 | |||
| be4dcf11f6 | |||
| ce9e528b70 | |||
| 261549ed60 | |||
| 825ca2bc54 | |||
| 9c5741cc7f | |||
| 0113829f9b | |||
| 08e1ac8c11 | |||
| 18c8a344bf | |||
| 87a120bb55 | |||
| b1d66f66aa | |||
| b0e231a38d | |||
| e8551aa698 | |||
| b24fe76a81 | |||
| 26e143efb0 | |||
| 65b34e6fe4 | |||
| cb5f3aaa4e | |||
| 719f0ed475 | |||
| c78be4ac9b | |||
| 268642a1fa | |||
| bb20aae908 | |||
| 23de1ee9b1 | |||
| 396ad187da | |||
| 832efcc8f6 | |||
| 92eecba160 | |||
| c635353b69 | |||
| 63a668340d | |||
| 7feb4a8242 | |||
| f5b20c2ac3 | |||
| 3e9cc53ced | |||
| 30cd227b41 | |||
| efc642999d | |||
| 0180dfb342 | |||
| 562d8fbba8 | |||
| c382107adc | |||
| f3c607ce94 | |||
| de580e5b2c | |||
| 7be9de856a | |||
| a933def832 | |||
| 133050bf8c | |||
| 14ce3c586f | |||
| 5c52f62b1e | |||
| ad040f82d0 | |||
| fe0f78a42e | |||
| 44187e0c24 | |||
| b259f1762f | |||
| 5c23ec6dec | |||
| ad15120def | |||
| ff28804bd5 | |||
| 8a43500c2b | |||
| 52b8e3d68d | |||
| a4c892b9e7 | |||
| 16f533bed4 | |||
| 07482da77d | |||
| df3df0e933 | |||
| 135862972d | |||
| b2ca7897eb | |||
| d7c78145ea | |||
| d355aa5676 | |||
| 979b90fdb3 | |||
| 64e46cace2 | |||
| c004d7f36c | |||
| 65b4ed7482 | |||
| 2f09297593 | |||
| 22d11ff07e | |||
| d3ffb379b6 | |||
| 39f654c95a | |||
| 97ed60c7fa | |||
| d6724025ee | |||
| 178e73d81b | |||
| 7bf4f67caf | |||
| 9150d2fe1b | |||
| e81c062092 | |||
| efd6a52332 | |||
| 613bd9739b | |||
| e0c159215b | |||
| 899b0fd4c2 | |||
| df49304c05 | |||
| 2f4280a4da | |||
| 806af7a011 | |||
| 1caf5b830f | |||
| 6eea1ad67f | |||
| 243482af3b | |||
| a678df969c | |||
| d4b7b7de82 | |||
| 0b03e04865 | |||
| 9129186a5a | |||
| 2a9162f31b | |||
| b691a8bf21 | |||
| 359b416b97 | |||
| c273754d49 | |||
| 64f3a77fb5 | |||
| 429d9588b2 | |||
| e3bbaa0211 | |||
| 9a458be469 | |||
| 8be4f0e949 | |||
| c0aeb305af | |||
| 39e2272e67 | |||
| 4d9f26f260 | |||
| 7233859ed8 | |||
| 5f9f912347 | |||
| f0d37c04ed | |||
| a5891999f2 | |||
| d7693249ca | |||
| 65ba8e94c9 | |||
| ced9c8adab | |||
| db60006e94 | |||
| 52cbace27a | |||
| 2a129f1b9c | |||
| 45e2779b58 | |||
| 1bff43fe8d | |||
| 08e9b9b9eb | |||
| a176edd4c6 | |||
| 35440a5eb3 | |||
| 2432b37d64 | |||
| 8cbfa04ac1 | |||
| 28c5cabbc3 | |||
| 861766cbe4 | |||
| 1168bfc50f | |||
| 3f1711728a | |||
| 256e747c48 | |||
| d03f3bb7a0 | |||
| 9018609ca1 | |||
| ae47fda38f | |||
| f57276f088 | |||
| 138dd801d2 | |||
| db0e4df78d | |||
| 5df1ebe54b | |||
| 4bfd6e7a4f | |||
| cdab58da71 | |||
| 065d4c026b | |||
| b930c0eb40 | |||
| 6c1a19ad04 | |||
| 7ff859420a | |||
| 789e2e6c19 | |||
| 1dcf91bf71 | |||
| 068ef56d25 | |||
| c9050d837a | |||
| e83186cc3f | |||
| 355e170831 | |||
| 53006d3fa1 | |||
| 4648c02a2c | |||
| 8f8f26d2a2 | |||
| b4f11ef83d | |||
| a2fd6f1145 | |||
| bd7b24fed7 | |||
| 9c38272c6c | |||
| e09c0fecda | |||
| 5477fbd66a | |||
| a151a0b655 | |||
| bf365ba170 | |||
| 894031cc49 | |||
| d895bac137 | |||
| 9214df8b96 | |||
| bfbf654ee2 | |||
| 0adef4a1f3 | |||
| e9c7594555 | |||
| a46b06fa3d | |||
| d116ab3856 | |||
| b3366a3597 | |||
| f8c4e5d79d | |||
| 4f8317f007 | |||
| b783e7dcc1 | |||
| 039e984ec0 | |||
| 791a958b4d | |||
| 0732360ff3 | |||
| 5bdd9fbfe1 | |||
| 15430bea94 | |||
| 93a0fbd79c | |||
| ae27efacf3 | |||
| b4677ea095 | |||
| eafbf7a6e3 | |||
| a262140b4b | |||
| 6080d1a959 | |||
| a98b0ef16b | |||
| 8ca640ca38 | |||
| 4129dfdd58 | |||
| a6628be34e | |||
| 4fd4007794 | |||
| 9b07206cf4 | |||
| 8d4721576f | |||
| 6b0d53926f | |||
| 7c15a16e57 |
11
InternalSettings.ftl
Normal file
11
InternalSettings.ftl
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
<#-- --------------------------------------------------------------------------------------- -->
|
||||
<#-- DeleteEF est un paramètre qui permet de déterminer si l’exécution logistique doit être supprimée lors de la création d’une commande.-->
|
||||
<#-- Attention : si vous choisissez de la supprimer, toutes les métadonnées associées à cette exécution logistique seront également supprimées. -->
|
||||
<#-- Si DeleteEF_False = true, nous ne supprimons pas l'exécution logistique, Si DeleteEF_False = false, nous supprimons l'exécution logistique.-->
|
||||
<#-- --------------------------------------------------------------------------------------- -->
|
||||
<#-- DeleteEF is a parameter used to determine whether the logistics execution should be deleted when creating an order.-->
|
||||
<#-- Warning: if deletion is selected, all metadata related to the logistics execution will also be removed. -->
|
||||
<#-- If DeleteEF_False = true, we do not delete the logistics execution. If DeleteEF_False = false, we delete the logistics execution. -->
|
||||
<#-- --------------------------------------------------------------------------------------- -->
|
||||
<#assign DeleteEF_False = true>
|
||||
@@ -8,7 +8,7 @@ This connector does not contain any standalone executable code: it is intended t
|
||||
|
||||
## Role of the FTL Files
|
||||
|
||||
- Each `.ftl` file corresponds to a **flow type** (order, stock, receipt, shipment, etc.).
|
||||
- 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).
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
<#-- 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,7 +22,7 @@
|
||||
<#if stock.batch_1 == "">
|
||||
"Value": { "String" : "no batch"}
|
||||
<#else>
|
||||
"Value": { "String" : "${stock.batch_1}"}
|
||||
"Value": { "String" : "${stock.batch_1?json_string}"}
|
||||
</#if>
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
<#-- 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": [ ]
|
||||
@@ -1,4 +1,10 @@
|
||||
<#-- 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": [ ]
|
||||
32
RFXtoRP_HsaDesPatch.ftl
Normal file
32
RFXtoRP_HsaDesPatch.ftl
Normal 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
32
RFXtoRP_HsaDespNt.ftl
Normal 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>
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
<#-- use protobuf of class HsaDispute to find Reflex Wms fields names -->
|
||||
<#-- 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": [ ]
|
||||
@@ -1,7 +1,15 @@
|
||||
|
||||
<#-- Specify table for reason code -->
|
||||
<#assign TableReasonCode = {}/>
|
||||
|
||||
<#-- Table example for reason code to claim type ID -->
|
||||
<#-- <#assign TableReasonCode = { -->
|
||||
<#-- "001":"ID_CLAIMTYPE_1",-->
|
||||
<#-- "M1":"ID_CLAIMTYPE_2",-->
|
||||
|
||||
<#-- }/>-->
|
||||
|
||||
<#assign TableReasonCode = {
|
||||
|
||||
"M1" :"CAS"
|
||||
|
||||
}
|
||||
/>
|
||||
@@ -34,7 +34,7 @@
|
||||
"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!="">
|
||||
<#if reflexMvtStockInterface.receipt_reference?? && reflexMvtStockInterface.receipt_reference!="" && !reflexMvtStockInterface.receipt_reference?starts_with(reflexMvtStockInterface.original_receipt_physical_depot_code + reflexMvtStockInterface.activity_code + reflexMvtStockInterface.receipt_year_number)>
|
||||
"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>
|
||||
|
||||
@@ -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": [
|
||||
{
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
<#-- 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",
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
<#-- 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": [ ]
|
||||
@@ -24,10 +24,15 @@
|
||||
<#include "RFXtoRP_HsaItm_ItemCreated_ItemMetadata.ftl">
|
||||
|
||||
<#-- Item Photo URI could be added here -->
|
||||
<#if item.url?? && item.url!="">
|
||||
<#if item.saved_picture_path?? && item.saved_picture_path!="" && item.saved_picture_path?starts_with("http") == true>
|
||||
,
|
||||
"PhotoURI": "${item.saved_picture_path?json_string}"
|
||||
<#else>
|
||||
<#if item.url?? && item.url!="" && item.url?starts_with("http") == true>
|
||||
,
|
||||
"PhotoURI": "${item.url?json_string}"
|
||||
</#if>
|
||||
</#if>
|
||||
|
||||
<#-- Loop for the Logistical Variants - LV -->
|
||||
<#if item.logistical_variant_list?? && (item.logistical_variant_list?size == item.logistical_variant_list?filter(l ->l??)?size)>
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
<#-- 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": [ ]
|
||||
@@ -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": [ ]
|
||||
@@ -1,40 +1,89 @@
|
||||
<#-- **** input parameters ***** -->
|
||||
<#-- input : message HARDIS WMS -->
|
||||
<#-- project : projectId in HARDIS SC NETWORK -->
|
||||
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
|
||||
<#-- 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>
|
||||
|
||||
<#stop>
|
||||
|
||||
<#switch cloudEventMsg.action>
|
||||
<#case "C">
|
||||
<#case "U">
|
||||
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
|
||||
<#-- *********************************************** Action = Update ******************** -->
|
||||
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
|
||||
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
|
||||
<#assign carrier_apt_status = JsonUtil.jsonToMap(dataRfx)>
|
||||
<#if !carrier_apt_status.status?? || carrier_apt_status.appointment_year_number==0>
|
||||
<#stop >
|
||||
</#if>
|
||||
[
|
||||
{
|
||||
|
||||
}
|
||||
]
|
||||
<#switch carrier_apt_status.status.carrier_status_code>
|
||||
<#case "010"> <#--Carrier Expected -->
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierExpected>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsaLstCarSta_CarrierExpected.ftl">
|
||||
<#break>
|
||||
|
||||
<#case "D">
|
||||
<#-- *********************************************** Action = DELETE *************************** -->
|
||||
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
|
||||
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
|
||||
[
|
||||
{
|
||||
|
||||
}
|
||||
]
|
||||
<#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>
|
||||
|
||||
|
||||
30
RFXtoRP_HsaLstCarSta_CarrierArrived.ftl
Normal file
30
RFXtoRP_HsaLstCarSta_CarrierArrived.ftl
Normal 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)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsaLstCarSta_CarrierDeparted.ftl
Normal file
30
RFXtoRP_HsaLstCarSta_CarrierDeparted.ftl
Normal 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)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsaLstCarSta_CarrierExpected.ftl
Normal file
30
RFXtoRP_HsaLstCarSta_CarrierExpected.ftl
Normal 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)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsaLstCarSta_LoadingCompleted.ftl
Normal file
30
RFXtoRP_HsaLstCarSta_LoadingCompleted.ftl
Normal 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)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsaLstCarSta_LoadingStarted.ftl
Normal file
30
RFXtoRP_HsaLstCarSta_LoadingStarted.ftl
Normal 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)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsaLstCarSta_UnloadingCompleted.ftl
Normal file
30
RFXtoRP_HsaLstCarSta_UnloadingCompleted.ftl
Normal 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)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsaLstCarSta_UnloadingStarted.ftl
Normal file
30
RFXtoRP_HsaLstCarSta_UnloadingStarted.ftl
Normal 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)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -16,6 +16,7 @@
|
||||
<#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" >
|
||||
{
|
||||
@@ -63,6 +64,9 @@
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
<#else>
|
||||
<#stop >
|
||||
</#if>
|
||||
]
|
||||
<#break>
|
||||
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
<#-- 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": [ ]
|
||||
50
RFXtoRP_HsrAntRec.ftl
Normal file
50
RFXtoRP_HsrAntRec.ftl
Normal 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">
|
||||
<#-- *********************************************** Action = CREATE ******************** -->
|
||||
|
||||
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
|
||||
<#assign ancReceipt = JsonUtil.jsonToMap(dataRfx)>
|
||||
[
|
||||
{
|
||||
<#stop >
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
<#case "U">
|
||||
<#-- *********************************************** Action = UPDATE ******************** -->
|
||||
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
|
||||
<#assign ancReceipt = JsonUtil.jsonToMap(dataRfx)>
|
||||
[
|
||||
{
|
||||
<#stop >
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
|
||||
<#case "D">
|
||||
<#-- *********************************************** Action = DELETE ******************** -->
|
||||
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
|
||||
<#assign ancReceipt = JsonUtil.jsonToMap(dataRfx)>
|
||||
[
|
||||
{
|
||||
<#stop >
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
|
||||
|
||||
<#default>
|
||||
<#stop >
|
||||
</#switch>
|
||||
|
||||
@@ -1,40 +1,156 @@
|
||||
<#-- **** input parameters ***** -->
|
||||
<#-- input : message HARDIS WMS -->
|
||||
<#-- project : projectId in HARDIS SC NETWORK -->
|
||||
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
|
||||
<#-- 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 partnerApplicationRP = partnerApplication>
|
||||
|
||||
<#assign aDateTime = .now>
|
||||
|
||||
<#stop>
|
||||
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
|
||||
<#assign carrier_apt = JsonUtil.jsonToMap(dataRfx)>
|
||||
|
||||
<#switch cloudEventMsg.action>
|
||||
<#case "C">
|
||||
<#case "U">
|
||||
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
|
||||
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
|
||||
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
|
||||
[
|
||||
{
|
||||
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.BookingForceBookAppointment>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierExpected>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrCarrierApt_CarrierExpected.ftl">
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
|
||||
<#case "D">
|
||||
<#-- *********************************************** Action = DELETE *************************** -->
|
||||
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
|
||||
<#assign depot = JsonUtil.jsonToMap(dataRfx)>
|
||||
<#case "U">
|
||||
<#-- *********************************************** Action = Update ********************-->
|
||||
[
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCustomFieldsUpdated>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl">
|
||||
},
|
||||
<#include "RFXtoRP_HsrCarrierApt_AppointmentMetadataUpdated.ftl">
|
||||
<#include "RFXtoRP_HsrCarrierApt_AppointmentCarrierInformationUpdated.ftl">
|
||||
<#if carrier_apt.status?? && (carrier_apt.status.status_code=="999" || carrier_apt.status.status_code=="040" || carrier_apt.status.status_code=="030")>
|
||||
[
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.BookingForceCancelAppointment>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrCarrierApt_BookingForceCancelAppointment.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">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierExpected>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrCarrierApt_CarrierExpected.ftl">
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
<#if carrier_apt.status?? && carrier_apt.status.status_code=="390"><#--Loading Completed-->
|
||||
[
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentLoadingCompleted>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrCarrierApt_LoadingCompleted.ftl">
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
<#if carrier_apt.status?? && carrier_apt.status.status_code=="500"><#--Carrier Departed-->
|
||||
[
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierDeparted>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrCarrierApt_CarrierDeparted.ftl">
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
[
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.BookingWMSUpdateAppointment>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl">
|
||||
}
|
||||
]
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
]
|
||||
<#break>
|
||||
<#case "D">
|
||||
<#-- *********************************************** Action = Delete ******************** -->
|
||||
[
|
||||
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.BookingForceCancelAppointment>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrCarrierApt_BookingForceCancelAppointment.ftl">
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
|
||||
<#default>
|
||||
<#stop >
|
||||
</#switch>
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<#-- A décommenter si besoin de les utiliser-->
|
||||
<#-- Uncomment if you need to use them-->
|
||||
<#--{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentCarrierInformationUpdated>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrCarrierApt_AppointmentCarrierInformationUpdatedToConfigure.ftl">
|
||||
},
|
||||
-->
|
||||
@@ -0,0 +1,42 @@
|
||||
<#--
|
||||
[
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}"
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}"
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}"
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}"
|
||||
</#if>
|
||||
</#if>
|
||||
},
|
||||
"Payload": {
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
|
||||
<#--To configure-->
|
||||
<#-- "CarrierInformation": [
|
||||
{
|
||||
"Key": "string",
|
||||
"Value": {
|
||||
"Bool": "true / false",
|
||||
"Float": 3.1415,
|
||||
"Int": 42,
|
||||
"String": "Hello World !",
|
||||
"Timestamp": {
|
||||
"AuthorTimeZone": "Europe/Paris",
|
||||
"DateTime": "2023-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
-->
|
||||
60
RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl
Normal file
60
RFXtoRP_HsrCarrierApt_AppointmentCustomFieldsUpdated.ftl
Normal file
@@ -0,0 +1,60 @@
|
||||
[
|
||||
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) />
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${ref_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
},
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot",
|
||||
"Value": "${carrier_apt.physical_depot?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "year",
|
||||
"Value": "${carrier_apt.year_number?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "number",
|
||||
"Value": "${carrier_apt.appointment_number?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${carrier_apt.appointment_reference?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "carrier",
|
||||
"Value": "${carrier_apt.planned_carrier?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "loading",
|
||||
"Value": "${carrier_apt.load_appointment?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "unloading",
|
||||
"Value": "${carrier_apt.unloading_appointment?json_string}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Payload":{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
9
RFXtoRP_HsrCarrierApt_AppointmentMetadataUpdated.ftl
Normal file
9
RFXtoRP_HsrCarrierApt_AppointmentMetadataUpdated.ftl
Normal 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">
|
||||
},
|
||||
-->
|
||||
@@ -0,0 +1,42 @@
|
||||
<#--
|
||||
[
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}"
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}"
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}"
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}"
|
||||
</#if>
|
||||
</#if>
|
||||
},
|
||||
"Payload": {
|
||||
"ActorID": "${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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
-->
|
||||
192
RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl
Normal file
192
RFXtoRP_HsrCarrierApt_BookingForceBookAppointment.ftl
Normal file
@@ -0,0 +1,192 @@
|
||||
[
|
||||
<#assign creation_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) />
|
||||
{
|
||||
"Header":{
|
||||
"ProjectID": "${projectRP}:${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
},
|
||||
"ID":{
|
||||
"RefDate": {
|
||||
"DateTime": "${creation_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
},
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot",
|
||||
"Value": "${carrier_apt.physical_depot?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "year",
|
||||
"Value": "${carrier_apt.year_number?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "number",
|
||||
"Value": "${carrier_apt.appointment_number?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${carrier_apt.appointment_reference?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "carrier",
|
||||
"Value": "${carrier_apt.planned_carrier?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "loading",
|
||||
"Value": "${carrier_apt.load_appointment?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "unloading",
|
||||
"Value": "${carrier_apt.unloading_appointment?json_string}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Payload": {
|
||||
"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" >
|
||||
<#else>
|
||||
<#if (duration == 0)>
|
||||
<#assign duration = 1 />
|
||||
</#if>
|
||||
</#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_load_start_datetime or planned_load_end_datetime field of appointmend are not valid" >
|
||||
<#else>
|
||||
<#if (duration == 0)>
|
||||
<#assign duration = 1 />
|
||||
</#if>
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
|
||||
<#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" >
|
||||
<#else>
|
||||
<#if (duration == 0)>
|
||||
<#assign duration = 1 />
|
||||
</#if>
|
||||
</#if>
|
||||
<#else>
|
||||
<#stop "Appointment type not supported" >
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
"AppointmentType": "${appointmentType}",
|
||||
"Emails": ["${carrier_apt.creation_user_email?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)>
|
||||
"Unloading" :
|
||||
{
|
||||
"Projects" : [{
|
||||
"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}",
|
||||
"PartnerAppID": "${partnerApplicationRP}",
|
||||
"OrganisationID": "${organisationRP}"
|
||||
}<#sep>,</#sep>
|
||||
</#list>
|
||||
],
|
||||
"ProjectID" : "${projectRP}"
|
||||
}]
|
||||
},
|
||||
<#else>
|
||||
<#if appointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
"Unloading" :
|
||||
<#else>
|
||||
"Loading" :
|
||||
</#if>
|
||||
{
|
||||
"Projects" : [{
|
||||
"Commissions": [{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
|
||||
"ProjectID": "${projectRP}",
|
||||
"PartnerAppID": "${partnerApplicationRP}",
|
||||
"OrganisationID": "${organisationRP}"
|
||||
}],
|
||||
"ProjectID" : "${projectRP}"
|
||||
}]
|
||||
},
|
||||
<#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>
|
||||
"Slot": {
|
||||
<#-- 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>
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
58
RFXtoRP_HsrCarrierApt_BookingForceCancelAppointment.ftl
Normal file
58
RFXtoRP_HsrCarrierApt_BookingForceCancelAppointment.ftl
Normal file
@@ -0,0 +1,58 @@
|
||||
<#assign update_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
|
||||
[
|
||||
{
|
||||
"ID":{
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${update_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
},
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot",
|
||||
"Value": "${carrier_apt.physical_depot?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "year",
|
||||
"Value": "${carrier_apt.year_number?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "number",
|
||||
"Value": "${carrier_apt.appointment_number?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${carrier_apt.appointment_reference?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "carrier",
|
||||
"Value": "${carrier_apt.planned_carrier?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "loading",
|
||||
"Value": "${carrier_apt.load_appointment?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "unloading",
|
||||
"Value": "${carrier_apt.unloading_appointment?json_string}"
|
||||
}
|
||||
]
|
||||
|
||||
},
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}:${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
196
RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl
Normal file
196
RFXtoRP_HsrCarrierApt_BookingWMSUpdateAppointment.ftl
Normal file
@@ -0,0 +1,196 @@
|
||||
[
|
||||
{
|
||||
<#assign update_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
|
||||
|
||||
"Header":{
|
||||
"ProjectID": "${projectRP}:${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
},
|
||||
"ID":{
|
||||
"RefDate": {
|
||||
"DateTime": "${update_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
},
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot",
|
||||
"Value": "${carrier_apt.physical_depot?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "year",
|
||||
"Value": "${carrier_apt.year_number?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "number",
|
||||
"Value": "${carrier_apt.appointment_number?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${carrier_apt.appointment_reference?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "carrier",
|
||||
"Value": "${carrier_apt.planned_carrier?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "loading",
|
||||
"Value": "${carrier_apt.load_appointment?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "unloading",
|
||||
"Value": "${carrier_apt.unloading_appointment?json_string}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Payload": {
|
||||
<#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>
|
||||
<#stop "Appointment type not supported" >
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
"TimeZone":"${time_zone_rfx}",
|
||||
<#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"))>
|
||||
"Unloading" :
|
||||
{
|
||||
"Projects" : [
|
||||
{
|
||||
"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}",
|
||||
"PartnerAppID": "${partnerApplicationRP}",
|
||||
"OrganisationID": "${organisationRP}"
|
||||
}<#sep>,</#sep>
|
||||
</#list>
|
||||
],
|
||||
"ProjectID" : "${projectRP}"
|
||||
}]
|
||||
},
|
||||
"Reason": "",
|
||||
<#else>
|
||||
<#if appointmentType == AppointmentType.APPOINTMENT_TYPE_LOADING>
|
||||
"Loading" :
|
||||
{
|
||||
"Projects" : [
|
||||
{
|
||||
"Commissions": [
|
||||
{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
|
||||
"ProjectID": "${projectRP}",
|
||||
"PartnerAppID": "${partnerApplicationRP}",
|
||||
"OrganisationID": "${organisationRP}"
|
||||
}
|
||||
],
|
||||
"ProjectID" : "${projectRP}"
|
||||
}]
|
||||
},
|
||||
<#else>
|
||||
<#if appointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
"Unloading" :
|
||||
{
|
||||
"Projects" : [
|
||||
{
|
||||
"Commissions": [
|
||||
{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
|
||||
"ProjectID": "${projectRP}",
|
||||
"PartnerAppID": "${partnerApplicationRP}",
|
||||
"OrganisationID": "${organisationRP}"
|
||||
}
|
||||
],
|
||||
"ProjectID" : "${projectRP}"
|
||||
}]
|
||||
},
|
||||
</#if>
|
||||
</#if>
|
||||
<#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>
|
||||
"Slot": {
|
||||
<#-- 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>
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsrCarrierApt_CarrierArrived.ftl
Normal file
30
RFXtoRP_HsrCarrierApt_CarrierArrived.ftl
Normal file
@@ -0,0 +1,30 @@
|
||||
[
|
||||
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${ref_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
}
|
||||
},
|
||||
"Payload":{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsrCarrierApt_CarrierDeparted.ftl
Normal file
30
RFXtoRP_HsrCarrierApt_CarrierDeparted.ftl
Normal file
@@ -0,0 +1,30 @@
|
||||
[
|
||||
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${ref_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
}
|
||||
},
|
||||
"Payload":{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
31
RFXtoRP_HsrCarrierApt_CarrierExpected.ftl
Normal file
31
RFXtoRP_HsrCarrierApt_CarrierExpected.ftl
Normal file
@@ -0,0 +1,31 @@
|
||||
[
|
||||
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
|
||||
<#assign ref_datetime2 = AddSecondsToDatetime(ref_datetime?datetime.iso, 60)?iso_utc />
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${ref_datetime2}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
}
|
||||
},
|
||||
"Payload":{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
3
RFXtoRP_HsrCarrierApt_CarrierInformation.ftl
Normal file
3
RFXtoRP_HsrCarrierApt_CarrierInformation.ftl
Normal file
@@ -0,0 +1,3 @@
|
||||
"CarrierInformation": [
|
||||
|
||||
]
|
||||
30
RFXtoRP_HsrCarrierApt_LoadingCompleted.ftl
Normal file
30
RFXtoRP_HsrCarrierApt_LoadingCompleted.ftl
Normal file
@@ -0,0 +1,30 @@
|
||||
[
|
||||
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${ref_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
}
|
||||
},
|
||||
"Payload":{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsrCarrierApt_LoadingStarted.ftl
Normal file
30
RFXtoRP_HsrCarrierApt_LoadingStarted.ftl
Normal file
@@ -0,0 +1,30 @@
|
||||
[
|
||||
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${ref_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
}
|
||||
},
|
||||
"Payload":{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
5
RFXtoRP_HsrCarrierApt_MetadataAppointment.ftl
Normal file
5
RFXtoRP_HsrCarrierApt_MetadataAppointment.ftl
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
"MetaData": [
|
||||
]
|
||||
|
||||
|
||||
6
RFXtoRP_HsrCarrierApt_SegmentationSelections.ftl
Normal file
6
RFXtoRP_HsrCarrierApt_SegmentationSelections.ftl
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
|
||||
"SegmentationSelections": [
|
||||
]
|
||||
|
||||
|
||||
22
RFXtoRP_HsrCarrierApt_SiteCancelAppointment.ftl
Normal file
22
RFXtoRP_HsrCarrierApt_SiteCancelAppointment.ftl
Normal file
@@ -0,0 +1,22 @@
|
||||
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
|
||||
[
|
||||
{
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsrCarrierApt_UnloadingCompleted.ftl
Normal file
30
RFXtoRP_HsrCarrierApt_UnloadingCompleted.ftl
Normal file
@@ -0,0 +1,30 @@
|
||||
[
|
||||
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${ref_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
}
|
||||
},
|
||||
"Payload":{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
30
RFXtoRP_HsrCarrierApt_UnloadingStarted.ftl
Normal file
30
RFXtoRP_HsrCarrierApt_UnloadingStarted.ftl
Normal file
@@ -0,0 +1,30 @@
|
||||
[
|
||||
<#assign ref_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.last_update_datetime,time_zone_rfx) />
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}", <#-- pour les RDV récurrents, aligner les statuts quand la balise sera dispo -->
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"RefID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"RefID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${ref_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
}
|
||||
},
|
||||
"Payload":{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}"
|
||||
}
|
||||
}
|
||||
]
|
||||
149
RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl
Normal file
149
RFXtoRP_HsrCarrierApt_UpdateAppointment.ftl
Normal file
@@ -0,0 +1,149 @@
|
||||
[
|
||||
{
|
||||
<#assign creation_datetime = RfxDateTimetoUTCWithTimezone(carrier_apt.metadata.creation_datetime,time_zone_rfx) />
|
||||
|
||||
"Header":{
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
<#if carrier_apt.constant_appointment?? && carrier_apt.constant_appointment== "true">
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"AppointmentID": "${carrier_apt.appointment_reference?json_string}-${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
<#else>
|
||||
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"AppointmentID": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"AppointmentID": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false">
|
||||
<#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-") || carrier_apt.planned_unloading_end_datetime?starts_with("00") || carrier_apt.planned_unloading_end_datetime?contains("-00-")>
|
||||
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend is not initialized" >
|
||||
</#if>
|
||||
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_unloading_end_datetime?datetime.iso) />
|
||||
<#if (duration <= 0)>
|
||||
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend are not valid" >
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true" >
|
||||
<#if carrier_apt.planned_load_start_datetime?starts_with("00") || carrier_apt.planned_load_start_datetime?contains("-00-") || carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-")>
|
||||
<#stop "planned_load_start_datetime or planned_load_end_datetime field of appointmend is not initialized" >
|
||||
</#if>
|
||||
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_LOADING>
|
||||
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_load_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) />
|
||||
<#if (duration <= 0)>
|
||||
<#stop "planned_unloading_start_datetime or planned_unloading_end_datetime field of appointmend are not valid" >
|
||||
</#if>
|
||||
<#else>
|
||||
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
|
||||
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
|
||||
<#if carrier_apt.planned_load_end_datetime?starts_with("00") || carrier_apt.planned_load_end_datetime?contains("-00-") || carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-") >
|
||||
<#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend is not initialized" >
|
||||
</#if>
|
||||
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
<#assign duration = DurationBetweenTwoDatetimeInSeconds(carrier_apt.planned_unloading_start_datetime?datetime.iso,carrier_apt.planned_load_end_datetime?datetime.iso) />
|
||||
<#if (duration <= 0)>
|
||||
<#stop "planned_unloading_start_datetime or planned_load_end_datetime field of appointmend are not valid" >
|
||||
</#if>
|
||||
<#else>
|
||||
<#assign appointmentType = AppointmentType.APPOINTMENT_TYPE_UNKNOWN>
|
||||
<#assign duration = 0 />
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
|
||||
"TimeZone":"${time_zone_rfx}",
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot",
|
||||
"Value": "${carrier_apt.physical_depot?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "year",
|
||||
"Value": "${carrier_apt.year_number?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "number",
|
||||
"Value": "${carrier_apt.appointment_number?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${carrier_apt.appointment_reference?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "carrier",
|
||||
"Value": "${carrier_apt.planned_carrier?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "loading",
|
||||
"Value": "${carrier_apt.load_appointment?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "unloading",
|
||||
"Value": "${carrier_apt.unloading_appointment?json_string}"
|
||||
}
|
||||
],
|
||||
<#if carrier_apt.physical_receipt_list?? && (carrier_apt.physical_receipt_list?filter(l ->l??)?size != 0) && ((carrier_apt.unloading_appointment =="true" && carrier_apt.load_appointment =="false") || (carrier_apt.unloading_appointment =="false" && carrier_apt.load_appointment =="true"))>
|
||||
"Commissions": [
|
||||
<#list carrier_apt.physical_receipt_list?filter(l ->l??) as physical_receipt>
|
||||
{
|
||||
"ActorID": "${RFXtoRPprefixDepot(carrier_apt.physical_depot?json_string)}",
|
||||
<#if physical_receipt.physical_receipt_reference?? && physical_receipt.physical_receipt_reference!="">
|
||||
"OrderID": "${physical_receipt.physical_receipt_reference?json_string}",
|
||||
<#else>
|
||||
"OrderID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year}${physical_receipt.receipt_number}",
|
||||
</#if>
|
||||
"ExecutionflowID": "R${carrier_apt.physical_depot?json_string}${physical_receipt.receipt_activity?json_string}${physical_receipt.originator_code?json_string}${physical_receipt.receipt_year?json_string}${physical_receipt.receipt_number?json_string}",
|
||||
"ProjectID": "${projectRP}"
|
||||
}<#sep>,</#sep>
|
||||
</#list>
|
||||
],
|
||||
<#else>
|
||||
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
|
||||
"Reason": "UNLOADING AND LOADING / ${carrier_apt.appointment_designation?json_string}",
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_designation?? && carrier_apt.appointment_designation!="">
|
||||
"Reason": "${carrier_apt.appointment_designation?json_string}",
|
||||
<#else>
|
||||
<#if carrier_apt.appointment_reference?? && carrier_apt.appointment_reference!="">
|
||||
"Reason": "${carrier_apt.appointment_reference?json_string}",
|
||||
<#else>
|
||||
"Reason": "${carrier_apt.year_number}-${carrier_apt.appointment_number}",
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
"Slots": [{
|
||||
<#-- calcul de de la durée en fonction des start et end time-->
|
||||
"DurationInSeconds": "${duration}",
|
||||
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "false" >
|
||||
<#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-")>
|
||||
<#stop "planned_unloading_start_datetime field of appointmend is not initialized" >
|
||||
</#if>
|
||||
|
||||
"StartDateTime": "${carrier_apt.planned_unloading_start_datetime}"
|
||||
<#else>
|
||||
<#if carrier_apt.unloading_appointment == "false" && carrier_apt.load_appointment == "true">
|
||||
<#if carrier_apt.planned_load_start_datetime?starts_with("00") || carrier_apt.planned_load_start_datetime?contains("-00-")>
|
||||
<#stop "planned_load_start_datetime field of appointmend is not initialized" >
|
||||
</#if>
|
||||
"StartDateTime": "${carrier_apt.planned_load_start_datetime}"
|
||||
<#else>
|
||||
<#if carrier_apt.unloading_appointment == "true" && carrier_apt.load_appointment == "true">
|
||||
<#if carrier_apt.planned_unloading_start_datetime?starts_with("00") || carrier_apt.planned_unloading_start_datetime?contains("-00-")>
|
||||
<#stop "planned_unloading_start_datetime field of appointmend is not initialized" >
|
||||
</#if>
|
||||
"StartDateTime": "${carrier_apt.planned_unloading_start_datetime}"
|
||||
<#else>
|
||||
<#stop "Appointment type not supported" >
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
}]
|
||||
|
||||
}
|
||||
]
|
||||
@@ -1,4 +1,10 @@
|
||||
<#-- 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": [ ]
|
||||
@@ -27,14 +27,13 @@
|
||||
"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!="">
|
||||
,
|
||||
{
|
||||
|
||||
27
RFXtoRP_HsrPrepa_ExecutionflowMetaDataUpdatedToConfigure.ftl
Normal file
27
RFXtoRP_HsrPrepa_ExecutionflowMetaDataUpdatedToConfigure.ftl
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
-->
|
||||
10
RFXtoRP_HsrPrepa_ExecutionflowMetadataUpdated.ftl
Normal file
10
RFXtoRP_HsrPrepa_ExecutionflowMetadataUpdated.ftl
Normal 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">
|
||||
},
|
||||
-->
|
||||
@@ -1,7 +1,10 @@
|
||||
<#-- 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": [ ]
|
||||
@@ -1,5 +1,11 @@
|
||||
<#-- 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",
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<#-- 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": [ ]
|
||||
@@ -24,6 +24,12 @@
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrPro_ExecutionflowDetected.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCustomFieldsUpdated>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrPro_ExecutionflowCustomFieldsUpdated.ftl">
|
||||
}
|
||||
<#else>
|
||||
<#-- No line -->
|
||||
|
||||
44
RFXtoRP_HsrPro_ExecutionflowCustomFieldsUpdated.ftl
Normal file
44
RFXtoRP_HsrPro_ExecutionflowCustomFieldsUpdated.ftl
Normal file
@@ -0,0 +1,44 @@
|
||||
<#include "HfRpConfig.ftl">
|
||||
<#include "ReflexUtils.ftl">
|
||||
<#include "ActorPrefix.ftl">
|
||||
[
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"Payload" :{},
|
||||
"ID":{
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot_code",
|
||||
"Value": "${preparation_order.physical_depot_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "activity_code",
|
||||
"Value": "${preparation_order.activity_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "originator_code",
|
||||
"Value": "${preparation_order.originator_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${preparation_order.originator_reference?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "order_year",
|
||||
"Value": "${preparation_order.preparation_order_year}"
|
||||
},
|
||||
{
|
||||
"Key": "order_number",
|
||||
"Value": "${preparation_order.preparation_order_number}"
|
||||
}
|
||||
],
|
||||
<#if preparation_order.originator_reference?? && preparation_order.originator_reference!="">
|
||||
"RefID": "${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.originator_reference?trim?json_string}"
|
||||
<#else>
|
||||
"RefID": "O${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.preparation_order_year}${preparation_order.preparation_order_number}"
|
||||
</#if>
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -9,6 +9,32 @@
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot_code",
|
||||
"Value": "${preparation_order.physical_depot_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "activity_code",
|
||||
"Value": "${preparation_order.activity_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "originator_code",
|
||||
"Value": "${preparation_order.originator_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${preparation_order.originator_reference?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "order_year",
|
||||
"Value": "${preparation_order.preparation_order_year}"
|
||||
},
|
||||
{
|
||||
"Key": "order_number",
|
||||
"Value": "${preparation_order.preparation_order_number}"
|
||||
}
|
||||
],
|
||||
<#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>
|
||||
@@ -53,6 +79,7 @@
|
||||
<#else>
|
||||
"Actor":
|
||||
{
|
||||
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_ShipToMetadata.ftl">,
|
||||
"Name" : "${(preparation_order.address.name_or_company_name!"")?json_string}",
|
||||
"Address" :
|
||||
{
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
<#-- use protobuf of class HsrPro to find HARDIS WMS fields names -->
|
||||
|
||||
<#--
|
||||
|
||||
"MetaData": [
|
||||
{
|
||||
"Key": "OrderType",
|
||||
"Value": { "String" : "${preparation_order.optional_attributes.reason_code}"}
|
||||
}
|
||||
],
|
||||
-->
|
||||
|
||||
<#-- Best practices:
|
||||
If the SK is of type:
|
||||
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
|
||||
- boolean: possible values: true and false
|
||||
- datetime: expected format: 2025-10-30T10:12:10.000Z
|
||||
- decimal number: the separator is a point (e.g. 10.5)-->
|
||||
|
||||
"MetaData": [ ]
|
||||
@@ -1,4 +1,10 @@
|
||||
<#-- use protobuf of class HsrPro to find HARDIS WMS fields names -->
|
||||
|
||||
<#-- Best practices:
|
||||
If the SK is of type:
|
||||
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
|
||||
- boolean: possible values: true and false
|
||||
- datetime: expected format: 2025-10-30T10:12:10.000Z
|
||||
- decimal number: the separator is a point (e.g. 10.5)-->
|
||||
|
||||
"MetaData": [ ]
|
||||
@@ -1,5 +1,11 @@
|
||||
<#-- use protobuf of class HsrPro to find HARDIS WMS fields names -->
|
||||
<#--
|
||||
<#-- Best practices:
|
||||
If the SK is of type:
|
||||
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
|
||||
- boolean: possible values: true and false
|
||||
- datetime: expected format: 2025-10-30T10:12:10.000Z
|
||||
- decimal number: the separator is a point (e.g. 10.5)
|
||||
|
||||
"SegmentationKeys": [
|
||||
{
|
||||
|
||||
10
RFXtoRP_HsrPro_ExecutionflowDetected_ShipToMetadata.ftl
Normal file
10
RFXtoRP_HsrPro_ExecutionflowDetected_ShipToMetadata.ftl
Normal file
@@ -0,0 +1,10 @@
|
||||
<#-- use protobuf of class HsrPro to find HARDIS WMS fields names -->
|
||||
|
||||
<#-- Best practices:
|
||||
If the SK is of type:
|
||||
- string: add ?json_string (e.g. "${stock.batch_1?json_string}")
|
||||
- boolean: possible values: true and false
|
||||
- datetime: expected format: 2025-10-30T10:12:10.000Z
|
||||
- decimal number: the separator is a point (e.g. 10.5)-->
|
||||
|
||||
"MetaData": [ ]
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
<#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 -->
|
||||
<#if receipt.receipt_type?? && receipt.receipt_type = "030" && receipt.line_list?? && receipt.line_list[0]?? > <#-- if reception is a transfer type -->
|
||||
[
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
|
||||
@@ -29,11 +29,16 @@
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrReceiptList_TransfertReceiptExpected.ftl">
|
||||
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCustomFieldsUpdated>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrReceiptList_TransfertCustomFieldsUpdated.ftl">
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
<#if receipt.line_list ??>
|
||||
<#if receipt.line_list ?? && receipt.line_list[0]??>
|
||||
[
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
|
||||
@@ -47,7 +52,12 @@
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrReceiptList_ReceiptExpected.ftl">
|
||||
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCustomFieldsUpdated>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrReceiptList_CustomFieldsUpdated.ftl">
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
@@ -69,12 +79,40 @@
|
||||
}
|
||||
<#else>
|
||||
<#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "true">
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="" && receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
<#assign ID = "${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>
|
||||
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
<#assign ID = "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_reference?trim?json_string}"/>
|
||||
<#else>
|
||||
<#assign ID = "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>
|
||||
</#if>
|
||||
<#assign payload = '{"Header": {"ProjectID": "${projectRP!""}"},"IDs": [{"RefID": "${ID}"}]}' />
|
||||
<#assign queryApiReflexPlatformID = QueryApiReflexPlatformID.OrderGetByIds>
|
||||
<#assign response = QueryApiReflexPlatformCall.call(queryApiReflexPlatformID,payload) />
|
||||
<#assign orderRP = JsonUtil.jsonToMap(response)>
|
||||
<#if orderRP?? && orderRP.Objects?? && orderRP.Objects[0]?? && orderRP.Objects[0].ID.RefID?? >
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptCompleted>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowReceiptCompleted.ftl">
|
||||
}
|
||||
<#else>
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowDetected.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptCompleted>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowReceiptCompleted.ftl">
|
||||
}
|
||||
</#if>
|
||||
<#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>
|
||||
{
|
||||
@@ -85,6 +123,12 @@
|
||||
}
|
||||
<#else>
|
||||
<#if receipt.receipt_confirmed ?? && receipt.receipt_confirmed == "true" >
|
||||
<#assign ID = "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}"/>
|
||||
<#assign payload = '{"Header": {"ProjectID": "${projectRP!""}"},"IDs": [{"RefID": "${ID}"}]}'/>
|
||||
<#assign queryApiReflexPlatformID = QueryApiReflexPlatformID.OrderGetByIds>
|
||||
<#assign response = QueryApiReflexPlatformCall.call(queryApiReflexPlatformID,payload) />
|
||||
<#assign orderRP = JsonUtil.jsonToMap(response)>
|
||||
<#if orderRP?? && orderRP.Objects?? && orderRP.Objects[0]?? && orderRP.Objects[0].ID.RefID?? >
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptCompleted>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
@@ -92,7 +136,21 @@
|
||||
<#include "RFXtoRP_HsrReceiptList_ExecutionflowReceiptCompleted.ftl">
|
||||
}
|
||||
<#else>
|
||||
<#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "false" && receipt.line_list??>
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptCompleted>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrReceiptList_ExecutionflowReceiptCompleted.ftl">
|
||||
}
|
||||
</#if>
|
||||
<#else>
|
||||
<#if receipt.receipt_type?? && receipt.receipt_type == "030" && receipt.receipt_confirmed == "false" && receipt.line_list?? && receipt.line_list[0]??>
|
||||
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
[
|
||||
{
|
||||
@@ -100,21 +158,19 @@
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_HsrReceiptList_TransfertExecutionflowDetected.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 ??>
|
||||
<#if receipt.line_list ?? && receipt.line_list[0]??>
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
|
||||
40
RFXtoRP_HsrReceiptList_CustomFieldsUpdated.ftl
Normal file
40
RFXtoRP_HsrReceiptList_CustomFieldsUpdated.ftl
Normal file
@@ -0,0 +1,40 @@
|
||||
<#include "HfRpConfig.ftl">
|
||||
<#include "ReflexUtils.ftl">
|
||||
<#include "ActorPrefix.ftl">
|
||||
[
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"Payload" :{},
|
||||
"ID":{
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot_code",
|
||||
"Value": "${receipt.physical_depot_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "activity_code",
|
||||
"Value": "${receipt.activity_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "originator_code",
|
||||
"Value": "${receipt.originator_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${receipt.receipt_reference?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "order_year",
|
||||
"Value": "${receipt.receipt_year}"
|
||||
},
|
||||
{
|
||||
"Key": "order_number",
|
||||
"Value": "${receipt.receipt_number}"
|
||||
}
|
||||
],
|
||||
"RefID": "R${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year}${receipt.receipt_number}"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -9,6 +9,32 @@
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot_code",
|
||||
"Value": "${receipt.physical_depot_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "activity_code",
|
||||
"Value": "${receipt.activity_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "originator_code",
|
||||
"Value": "${receipt.originator_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${receipt.receipt_reference?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "order_year",
|
||||
"Value": "${receipt.receipt_year}"
|
||||
},
|
||||
{
|
||||
"Key": "order_number",
|
||||
"Value": "${receipt.receipt_number}"
|
||||
}
|
||||
],
|
||||
"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}",
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
<#-- use protobuf of class HsrReceiptList 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": [
|
||||
{
|
||||
"Key": "OrderType",
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
<#-- use protobuf of class HsrReceiptList 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": [ ]
|
||||
@@ -1,6 +1,12 @@
|
||||
<#-- use protobuf of class HsrReceiptList 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",
|
||||
|
||||
48
RFXtoRP_HsrReceiptList_TransfertCustomFieldsUpdated.ftl
Normal file
48
RFXtoRP_HsrReceiptList_TransfertCustomFieldsUpdated.ftl
Normal file
@@ -0,0 +1,48 @@
|
||||
<#include "HfRpConfig.ftl">
|
||||
<#include "ReflexUtils.ftl">
|
||||
<#include "ActorPrefix.ftl">
|
||||
[
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"Payload" :{},
|
||||
"ID":{
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot_code",
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="">
|
||||
"Value": "${receipt.origin_order_line_depot?trim?json_string}"
|
||||
<#else>
|
||||
"Value": "${receipt.physical_depot_code?trim?json_string}"
|
||||
</#if>
|
||||
},
|
||||
{
|
||||
"Key": "activity_code",
|
||||
"Value": "${receipt.activity_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "originator_code",
|
||||
"Value": "${receipt.originator_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${receipt.receipt_reference?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "order_year",
|
||||
"Value": "${receipt.receipt_year}"
|
||||
},
|
||||
{
|
||||
"Key": "order_number",
|
||||
"Value": "${receipt.receipt_number}"
|
||||
}
|
||||
],
|
||||
<#if receipt.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>
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -7,10 +7,14 @@
|
||||
{
|
||||
"Header": {"ProjectID": "${projectRP}"},
|
||||
"ID": {
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="">
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="" && receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
"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>
|
||||
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
"RefID": "${receipt.physical_depot_code?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>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${receipt_status_datetime}",
|
||||
|
||||
@@ -9,11 +9,45 @@
|
||||
{
|
||||
"Header": {"ProjectID": "${projectRP}"},
|
||||
"ID": {
|
||||
"CustomFields": [
|
||||
{
|
||||
"Key": "depot_code",
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="">
|
||||
"Value": "${receipt.origin_order_line_depot?trim?json_string}"
|
||||
<#else>
|
||||
"Value": "${receipt.physical_depot_code?trim?json_string}"
|
||||
</#if>
|
||||
},
|
||||
{
|
||||
"Key": "activity_code",
|
||||
"Value": "${receipt.activity_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "originator_code",
|
||||
"Value": "${receipt.originator_code?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "reference",
|
||||
"Value": "${receipt.receipt_reference?trim?json_string}"
|
||||
},
|
||||
{
|
||||
"Key": "order_year",
|
||||
"Value": "${receipt.receipt_year}"
|
||||
},
|
||||
{
|
||||
"Key": "order_number",
|
||||
"Value": "${receipt.receipt_number}"
|
||||
}
|
||||
],
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="" && receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
"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>
|
||||
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
"RefID": "${receipt.physical_depot_code?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>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${receipt_creation_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
@@ -24,7 +58,7 @@
|
||||
"DateTime": "${receipt_creation_datetime}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
},
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="">
|
||||
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
"OrderID": "${receipt.receipt_reference?trim?json_string}",
|
||||
<#else>
|
||||
"OrderID": "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}",
|
||||
@@ -203,7 +237,7 @@
|
||||
"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}",
|
||||
"OrderID":"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}",
|
||||
<#-- Header Metadata inclusion -->
|
||||
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_HeaderMetadata.ftl">,
|
||||
"ShipFrom":
|
||||
|
||||
@@ -7,10 +7,14 @@
|
||||
{
|
||||
"Header": {"ProjectID": "${projectRP}"},
|
||||
"ID": {
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="">
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="" && receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
"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>
|
||||
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
"RefID": "${receipt.physical_depot_code?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>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${receipt_status_datetime}",
|
||||
|
||||
@@ -7,10 +7,14 @@
|
||||
{
|
||||
"Header": {"ProjectID": "${projectRP}"},
|
||||
"ID": {
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="">
|
||||
<#if receipt.origin_order_line_depot?? && receipt.origin_order_line_depot!="" && receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
"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>
|
||||
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||
"RefID": "${receipt.physical_depot_code?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>
|
||||
</#if>
|
||||
"RefDate": {
|
||||
"DateTime": "${receipt_status_datetime}",
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"DetailElements": [],
|
||||
"CorrelationID": "${id.correlationid!"no Correlationid"}",
|
||||
"ContextPayload": ${strJsonBody},
|
||||
"Type": "RP_EXECUTIONFLOW_EVENT",
|
||||
"Type": "${event}",
|
||||
"Task": "${id.apiRestReflexID!"no Task"}",
|
||||
"OriginalID": "${id.refid!"no OriginalID"?trim?json_string}",
|
||||
"StackTrace": ""
|
||||
|
||||
@@ -8,11 +8,13 @@
|
||||
<#assign projectRP = project>
|
||||
<#assign organisationRP = organisation>
|
||||
|
||||
|
||||
<#assign aDateTime = .now>
|
||||
<#assign no_apiRestReflexID = "no apiRestReflexID">
|
||||
<#assign no_status = -99999>
|
||||
|
||||
<#assign event = "UNKNOW_EVENT" >
|
||||
<#-- DeleteEF_False a définir dans ce fichier -->
|
||||
<#-- DeleteEF_False to be defined in this file.-->
|
||||
<#include "InternalSettings.ftl">
|
||||
|
||||
<#switch id.apiRestReflexID!no_apiRestReflexID>
|
||||
<#case no_apiRestReflexID>
|
||||
@@ -30,7 +32,7 @@
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
|
||||
<#-- *********************************************** ApiRestID = preparation_orders_post ******************** -->
|
||||
<#case "preparation_orders_post">
|
||||
<#switch restResponsetMsg.status!no_status>
|
||||
<#case no_status>
|
||||
@@ -44,6 +46,7 @@
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_EXECUTIONFLOW_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
@@ -54,13 +57,12 @@
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
|
||||
<#case 200>
|
||||
<#case 201>
|
||||
<#-- *********************************************** ApiRestID = preparation_orders_post ******************** -->
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#assign preparationOrderPostResponse = JsonUtil.jsonToMap(restResponseBody)>
|
||||
<#if preparationOrderPostResponse.status?? && preparationOrderPostResponse.status == "SUCCESS" >
|
||||
<#if preparationOrderPostResponse.status?? && (preparationOrderPostResponse.status == "SUCCESS" || preparationOrderPostResponse.status == "WARN") >
|
||||
<#if DeleteEF_False>
|
||||
[
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowShipFromAcked>
|
||||
@@ -70,15 +72,15 @@
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
<#if preparationOrderPostResponse.status?? && preparationOrderPostResponse.status == "WARN">
|
||||
[
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowShipFromAcked>
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDeleted>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_PrepOrder_ShipFromAcked.ftl">
|
||||
<#include "RFXtoRP_ExecutionflowDeleted.ftl">
|
||||
}
|
||||
]
|
||||
</#if>
|
||||
<#else>
|
||||
[
|
||||
{
|
||||
@@ -86,6 +88,7 @@
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_EXECUTIONFLOW_EVENT">
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
@@ -96,7 +99,6 @@
|
||||
}
|
||||
]
|
||||
</#if>
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
[
|
||||
@@ -104,11 +106,12 @@
|
||||
<#if restResponsetMsg.body?? >
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#else>
|
||||
<#assign restResponseBody = "${restResponsetMsg?trim?json_string}}" />
|
||||
<#assign restResponseBody = "${restResponsetMsg?trim?json_string}" />
|
||||
</#if>
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_EXECUTIONFLOW_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
@@ -120,7 +123,7 @@
|
||||
]
|
||||
</#switch>
|
||||
<#break>
|
||||
|
||||
<#-- *********************************************** ApiRestID = receipts_post ******************** -->
|
||||
<#case "receipts_post">
|
||||
<#switch restResponsetMsg.status!no_status>
|
||||
<#case no_status>
|
||||
@@ -134,6 +137,7 @@
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_EXECUTIONFLOW_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
@@ -144,19 +148,17 @@
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
|
||||
<#case 200>
|
||||
<#case 201>
|
||||
<#-- *********************************************** ApiRestID = receipts_post ******************** -->
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#assign preparationOrderPostResponse = JsonUtil.jsonToMap(restResponseBody)>
|
||||
<#if preparationOrderPostResponse.status?? && preparationOrderPostResponse.status == "SUCCESS" >
|
||||
<#if preparationOrderPostResponse.status?? && (preparationOrderPostResponse.status == "SUCCESS" || preparationOrderPostResponse.status == "WARN") >
|
||||
[
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDeleted>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_Receipt_ExecutionflowDeleted.ftl">
|
||||
<#include "RFXtoRP_ExecutionflowDeleted.ftl">
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
@@ -166,6 +168,7 @@
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_EXECUTIONFLOW_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
@@ -175,7 +178,6 @@
|
||||
<#include "RFXtoRP_RestResponseAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
@@ -189,6 +191,7 @@
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_EXECUTIONFLOW_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
@@ -200,6 +203,320 @@
|
||||
]
|
||||
</#switch>
|
||||
<#break>
|
||||
<#-- *********************************************** Appointment_post_create ******************** -->
|
||||
<#case "appointment_post_create">
|
||||
<#switch restResponsetMsg.status!no_status>
|
||||
<#case no_status>
|
||||
[
|
||||
{
|
||||
<#if restResponsetMsg.body?? >
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#else>
|
||||
<#assign restResponseBody = "${restResponsetMsg?trim?json_string}" />
|
||||
</#if>
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
<#case 200>
|
||||
<#case 201>
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#assign preparationOrderPostResponse = JsonUtil.jsonToMap(restResponseBody)>
|
||||
<#if preparationOrderPostResponse.status?? && (preparationOrderPostResponse.status == "SUCCESS" || preparationOrderPostResponse.status == "WARN") >
|
||||
[
|
||||
{
|
||||
<#stop >
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
[
|
||||
{
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
[
|
||||
{
|
||||
<#if restResponsetMsg.body?? >
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#else>
|
||||
<#assign restResponseBody = "${restResponsetMsg?trim?json_string}" />
|
||||
</#if>
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
</#switch>
|
||||
<#break>
|
||||
<#-- *********************************************** ApiRestID = appointment_put_update_ref ******************** -->
|
||||
<#case "appointment_put_update_by_ref">
|
||||
<#case "appointment_put_update_by_number">
|
||||
<#switch restResponsetMsg.status!no_status>
|
||||
<#case no_status>
|
||||
[
|
||||
{
|
||||
<#if restResponsetMsg.body?? >
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#else>
|
||||
<#assign restResponseBody = "${restResponsetMsg?trim?json_string}" />
|
||||
</#if>
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
<#case 200>
|
||||
<#case 201>
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#assign preparationOrderPostResponse = JsonUtil.jsonToMap(restResponseBody)>
|
||||
<#if preparationOrderPostResponse.status?? && (preparationOrderPostResponse.status == "SUCCESS" || preparationOrderPostResponse.status == "WARN") >
|
||||
[
|
||||
{
|
||||
<#stop >
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
[
|
||||
{
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
[
|
||||
{
|
||||
<#if restResponsetMsg.body?? >
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#else>
|
||||
<#assign restResponseBody = "${restResponsetMsg?trim?json_string}" />
|
||||
</#if>
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
</#switch>
|
||||
<#break>
|
||||
<#-- *********************************************** ApiRestID = canceled ******************** -->
|
||||
<#case "status_appointment_put_update_by_ref">
|
||||
<#case "status_appointment_put_update_by_number">
|
||||
<#switch restResponsetMsg.status!no_status>
|
||||
<#case no_status>
|
||||
[
|
||||
{
|
||||
<#if restResponsetMsg.body?? >
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#else>
|
||||
<#assign restResponseBody = "${restResponsetMsg?trim?json_string}" />
|
||||
</#if>
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
<#case 200>
|
||||
<#case 201>
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#assign preparationOrderPostResponse = JsonUtil.jsonToMap(restResponseBody)>
|
||||
<#if preparationOrderPostResponse.status?? && (preparationOrderPostResponse.status == "SUCCESS" || preparationOrderPostResponse.status == "WARN") >
|
||||
[
|
||||
{
|
||||
<#stop >
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
[
|
||||
{
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
[
|
||||
{
|
||||
<#if restResponsetMsg.body?? >
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#else>
|
||||
<#assign restResponseBody = "${restResponsetMsg?trim?json_string}" />
|
||||
</#if>
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
</#switch>
|
||||
<#break>
|
||||
<#-- *********************************************** ApiRestID = appointment_post_physical_receipt_associations/dissociations ******************** -->
|
||||
<#case "appointment_post_physical_receipt_associations_by_ref">
|
||||
<#case "appointment_post_physical_receipt_associations_by_number">
|
||||
<#case "appointment_post_physical_receipt_dissociations_by_ref">
|
||||
<#case "appointment_post_physical_receipt_dissociations_by_number">
|
||||
<#switch restResponsetMsg.status!no_status>
|
||||
<#case no_status>
|
||||
[
|
||||
{
|
||||
<#if restResponsetMsg.body?? >
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#else>
|
||||
<#assign restResponseBody = "${restResponsetMsg?trim?json_string}" />
|
||||
</#if>
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
<#case 200>
|
||||
<#case 201>
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#assign preparationOrderPostResponse = JsonUtil.jsonToMap(restResponseBody)>
|
||||
<#if preparationOrderPostResponse.status?? && (preparationOrderPostResponse.status == "SUCCESS" || preparationOrderPostResponse.status == "WARN") >
|
||||
[
|
||||
{
|
||||
<#stop >
|
||||
}
|
||||
]
|
||||
<#else>
|
||||
[
|
||||
{
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
[
|
||||
{
|
||||
<#if restResponsetMsg.body?? >
|
||||
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
|
||||
<#else>
|
||||
<#assign restResponseBody = "${restResponsetMsg?trim?json_string}" />
|
||||
</#if>
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#assign event = "RP_APPOINTMENT_EVENT" />
|
||||
<#include "RFXtoRP_PlatformLogCreate.ftl">
|
||||
},
|
||||
{
|
||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.AppointmentAllocationError>
|
||||
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||
"datas" :
|
||||
<#include "RFXtoRP_RestResponseAppointmentAllocationError.ftl">
|
||||
}
|
||||
]
|
||||
</#switch>
|
||||
<#break>
|
||||
<#-- *********************************************** default ******************** -->
|
||||
<#default>
|
||||
<#stop>
|
||||
</#switch>
|
||||
|
||||
22
RFXtoRP_RestResponseAppointmentAllocationError.ftl
Normal file
22
RFXtoRP_RestResponseAppointmentAllocationError.ftl
Normal file
@@ -0,0 +1,22 @@
|
||||
<#include "HfRpConfig.ftl">
|
||||
<#include "ReflexUtils.ftl">
|
||||
<#include "ActorPrefix.ftl">
|
||||
[
|
||||
{
|
||||
"Header": {
|
||||
"ProjectID": "${projectRP}"
|
||||
},
|
||||
"ID": {
|
||||
"RefID": "${id.refid!"no RefID"?trim?json_string}",
|
||||
"RefDate": {
|
||||
"DateTime": "${aDateTime?iso_utc}",
|
||||
"AuthorTimeZone": "${time_zone_rfx}"
|
||||
}
|
||||
},
|
||||
|
||||
"Payload": {
|
||||
"ActorID":"${RFXtoRPprefixDepot(id.actorID)?trim?json_string}"
|
||||
}
|
||||
|
||||
}
|
||||
]
|
||||
131
RPtoRFX_AppointmentEvent.ftl
Normal file
131
RPtoRFX_AppointmentEvent.ftl
Normal file
@@ -0,0 +1,131 @@
|
||||
<#-- **** input parameters ***** -->
|
||||
<#-- input : message HARDIS WMS -->
|
||||
<#-- project : projectId in HARDIS SC NETWORK -->
|
||||
<#-- organisation : organisationtId in HARDIS SC NETWORK -->
|
||||
<#include "HfRpConfig.ftl">
|
||||
<#include "ReflexUtils.ftl">
|
||||
<#include "ActorPrefix.ftl">
|
||||
|
||||
<#assign eventRP = JsonUtil.jsonToMap(input)>
|
||||
<#assign projectRP = project>
|
||||
<#assign organisationRP = organisation>
|
||||
|
||||
<#switch eventRP.event>
|
||||
<#-- *********************************************** Action = CREATE ******************** -->
|
||||
<#case "Created">
|
||||
<#assign appointment = eventRP.data />
|
||||
[
|
||||
{
|
||||
<#assign apiRestReflexID = ApiRestReflexID.appointment_post_create>
|
||||
"apiRestReflexID" : "${apiRestReflexID}",
|
||||
"datas" :
|
||||
<#include "RPtoRFX_CarrierAppointmentCreated.ftl">
|
||||
}
|
||||
]
|
||||
<#break>
|
||||
<#-- *********************************************** Action = CommissionsUpdated ******************** -->
|
||||
<#case "Updated">
|
||||
<#assign AddComma = false />
|
||||
<#assign appointment = eventRP.data />
|
||||
[
|
||||
<#if appointment?? && (!(appointment.WMSCreated??) || !appointment.WMSCreated) && appointment.Status?? && appointment.Status.Current?? && appointment.Status.Current.StatusCode?? && appointment.Status.Current.StatusCode == AppointmentStatusCode.APPOINTMENT_0150_ALLOCATION_ERROR>
|
||||
{
|
||||
<#assign apiRestReflexID = ApiRestReflexID.appointment_post_create>
|
||||
"apiRestReflexID" : "${apiRestReflexID}",
|
||||
"datas" :
|
||||
<#include "RPtoRFX_CarrierAppointmentCreated.ftl">
|
||||
}
|
||||
<#else>
|
||||
<#if eventRP.commissionsUpdated>
|
||||
<#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.addedUnloadCommissions?? && eventRP.addedUnloadCommissions != "">
|
||||
<#if eventRP.appointmentCustomFields?has_content>
|
||||
{
|
||||
<#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_number>
|
||||
"apiRestReflexID" : "${apiRestReflexID}",
|
||||
"datas" :
|
||||
<#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByNumber.ftl">
|
||||
}
|
||||
<#else>
|
||||
{
|
||||
<#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_associations_by_ref>
|
||||
"apiRestReflexID" : "${apiRestReflexID}",
|
||||
"datas" :
|
||||
<#include "RPtoRFX_CarrierAppointmentPhysicalReceiptAssociationByRef.ftl">
|
||||
}
|
||||
</#if>
|
||||
<#assign AddComma = true />
|
||||
</#if>
|
||||
<#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING && eventRP.removedUnloadCommissions?? && eventRP.removedUnloadCommissions!="">
|
||||
<#if AddComma == true>
|
||||
,
|
||||
</#if>
|
||||
|
||||
<#if eventRP.appointmentCustomFields?has_content>
|
||||
{
|
||||
<#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_number>
|
||||
"apiRestReflexID" : "${apiRestReflexID}",
|
||||
"datas" :
|
||||
<#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByNumber.ftl">
|
||||
}
|
||||
<#else>
|
||||
{
|
||||
<#assign apiRestReflexID = ApiRestReflexID.appointment_post_physical_receipt_dissociations_by_ref>
|
||||
"apiRestReflexID" : "${apiRestReflexID}",
|
||||
"datas" :
|
||||
<#include "RPtoRFX_CarrierAppointmentPhysicalReceiptDissociationByRef.ftl">
|
||||
}
|
||||
</#if>
|
||||
<#assign AddComma = true />
|
||||
</#if>
|
||||
</#if>
|
||||
<#-- *********************************************** Action = reasonUpdated or slotUpdated ******************** -->
|
||||
<#if eventRP.reasonUpdated || eventRP.slotUpdated || eventRP.carrierInformationUpdated>
|
||||
<#if AddComma == true>
|
||||
,
|
||||
</#if>
|
||||
<#if eventRP.appointmentCustomFields?has_content>
|
||||
{
|
||||
<#assign apiRestReflexID = ApiRestReflexID.appointment_put_update_by_number>
|
||||
"apiRestReflexID" : "${apiRestReflexID}",
|
||||
"datas" :
|
||||
<#include "RPtoRFX_CarrierAppointmentSlotOrCarrierInformationUpdatedByNumber.ftl">
|
||||
}
|
||||
<#else>
|
||||
{
|
||||
<#assign apiRestReflexID = ApiRestReflexID.appointment_put_update_by_ref>
|
||||
"apiRestReflexID" : "${apiRestReflexID}",
|
||||
"datas" :
|
||||
<#include "RPtoRFX_CarrierAppointmentSlotOrCarrierInformationUpdatedByRef.ftl">
|
||||
}
|
||||
</#if>
|
||||
<#assign AddComma = true />
|
||||
</#if>
|
||||
</#if>
|
||||
]
|
||||
<#break>
|
||||
<#-- *********************************************** Action = Canceled ******************** -->
|
||||
<#case "Canceled">
|
||||
<#assign appointment = eventRP.data />
|
||||
[
|
||||
<#if eventRP.appointmentCustomFields?has_content>
|
||||
{
|
||||
<#assign apiRestReflexID = ApiRestReflexID.status_appointment_put_update_by_number>
|
||||
"apiRestReflexID" : "${apiRestReflexID}",
|
||||
"datas" :
|
||||
<#include "RPtoRFX_CarrierAppointmentCanceledByNumber.ftl">
|
||||
}
|
||||
<#else>
|
||||
{
|
||||
<#assign apiRestReflexID = ApiRestReflexID.status_appointment_put_update_by_ref>
|
||||
"apiRestReflexID" : "${apiRestReflexID}",
|
||||
"datas" :
|
||||
<#include "RPtoRFX_CarrierAppointmentCanceledByRef.ftl">
|
||||
}
|
||||
</#if>
|
||||
]
|
||||
<#break>
|
||||
<#default>
|
||||
<#stop >
|
||||
</#switch>
|
||||
|
||||
|
||||
15
RPtoRFX_CarrierAppointmentCanceledByNumber.ftl
Normal file
15
RPtoRFX_CarrierAppointmentCanceledByNumber.ftl
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}/status",
|
||||
"method" : "PUT",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
|
||||
"appointment_year":"${eventRP.appointmentCustomFields.year?json_string}",
|
||||
"appointment_number":"${eventRP.appointmentCustomFields.number?json_string}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
"status_code": "999",
|
||||
<#include "RPtoRFX_CarrierAppointmentCancellationCode.ftl">
|
||||
}
|
||||
}
|
||||
14
RPtoRFX_CarrierAppointmentCanceledByRef.ftl
Normal file
14
RPtoRFX_CarrierAppointmentCanceledByRef.ftl
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}/status",
|
||||
"method" : "PUT",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
|
||||
"appointment_reference":"${eventRP.refid?json_string}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
"status_code": "999",
|
||||
<#include "RPtoRFX_CarrierAppointmentCancellationCode.ftl">
|
||||
}
|
||||
}
|
||||
2
RPtoRFX_CarrierAppointmentCancellationCode.ftl
Normal file
2
RPtoRFX_CarrierAppointmentCancellationCode.ftl
Normal file
@@ -0,0 +1,2 @@
|
||||
<#-- To custom with cancellation reason code, the reason code must be cancellation type-->
|
||||
"cancellation_reason_code": ""
|
||||
67
RPtoRFX_CarrierAppointmentCreated.ftl
Normal file
67
RPtoRFX_CarrierAppointmentCreated.ftl
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments",
|
||||
"method" : "POST",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
"appointment_reference": "${eventRP.refid?json_string}",
|
||||
<#switch appointment.AppointmentType>
|
||||
<#case AppointmentType.APPOINTMENT_TYPE_LOADING>
|
||||
"unloading_appointment" : "false",
|
||||
"load_appointment" : "true",
|
||||
<#if appointment.TimeZone?? && appointment.TimeZone!="">
|
||||
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
<#else>
|
||||
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
</#if>
|
||||
<#break>
|
||||
<#case AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
"unloading_appointment" : "true",
|
||||
"load_appointment" : "false",
|
||||
<#if appointment.TimeZone?? && appointment.TimeZone!="">
|
||||
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
<#else>
|
||||
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
<#stop "appointment.AppointmentType not implemented" >
|
||||
</#switch>
|
||||
<#include "RPtoRFX_CarrierAppointmentDefaultData.ftl">
|
||||
<#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING >
|
||||
<#if appointment.Unloading?? && appointment.Unloading.Projects?? && appointment.Unloading.Projects[0]?? &&
|
||||
appointment.Unloading.Projects[0].Commissions?? &&
|
||||
appointment.Unloading.Projects[0].Commissions[0]?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID?? && appointment.Unloading.Projects[0].Commissions[0].ExecutionflowID!="" >
|
||||
"physical_receipt_list": [
|
||||
<#list appointment.Unloading.Projects[0].Commissions?filter(l ->l.ExecutionflowID?? && l.ExecutionflowID !="") as commission>
|
||||
<#list eventRP.executionflowCustomFields.entrySet()?filter(l ->l.key == commission.ExecutionflowID && l.value?? && l.value?has_content) as custom>
|
||||
{
|
||||
"receipt_activity": "${custom.value.activity_code?json_string}",
|
||||
"originator_code": "${custom.value.originator_code?json_string}",
|
||||
"physical_receipt_reference": "${custom.value.reference?json_string}",
|
||||
"receipt_year": "${custom.value.order_year?json_string}",
|
||||
"receipt_number": "${custom.value.order_number?json_string}"
|
||||
}
|
||||
<#sep>,</#sep>
|
||||
</#list>
|
||||
<#sep>,</#sep>
|
||||
</#list>
|
||||
],
|
||||
<#else>
|
||||
"appointment_designation":"${(appointment.Reason!"")!?json_string}",
|
||||
</#if>
|
||||
<#else>
|
||||
<#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_LOADING>
|
||||
"appointment_designation":"${(appointment.Reason!"")?json_string}",
|
||||
</#if>
|
||||
</#if>
|
||||
"constant_appointment": "false"
|
||||
}
|
||||
}
|
||||
21
RPtoRFX_CarrierAppointmentDataUpdated.ftl
Normal file
21
RPtoRFX_CarrierAppointmentDataUpdated.ftl
Normal file
@@ -0,0 +1,21 @@
|
||||
<#-- Note : you can use Order Line Metadata, using the define map : Line_MetaData_Map -->
|
||||
<#-- Note : you can use Order Line Segmentation keys, using the define map : SegmentationKeys_Map -->
|
||||
|
||||
<#-- How to use MD or SK map
|
||||
<#if appointment.CarrierInformation??>
|
||||
<#assign CarrierInformation_Map = JsonUtil.sequenceToMap(appointment.CarrierInformation, "Key", "Value") />
|
||||
<#if CarrierInformation_Map["Immatriculation"]??>
|
||||
<#assign registration_number1 = CarrierInformation_Map["Immatriculation"].String!""/>
|
||||
"registration_number":"${registration_number1}",
|
||||
<#else>
|
||||
"registration_number":"no plate number",
|
||||
</#if>
|
||||
</#if>
|
||||
|
||||
If your SK is :
|
||||
Boolean : .Bool
|
||||
Float : .Float
|
||||
Timestamp : .Timestamp.DateTime or .Timestamp.AuthorTimeZone
|
||||
Int : .Int
|
||||
String : .String
|
||||
-->
|
||||
41
RPtoRFX_CarrierAppointmentDefaultData.ftl
Normal file
41
RPtoRFX_CarrierAppointmentDefaultData.ftl
Normal file
@@ -0,0 +1,41 @@
|
||||
<#-- Note : you can use Order Line Metadata, using the define map : Line_MetaData_Map -->
|
||||
<#-- Note : you can use Order Line Segmentation keys, using the define map : SegmentationKeys_Map -->
|
||||
|
||||
<#-- How to use MD or SK map
|
||||
<#if appointment.CarrierInformation??>
|
||||
<#assign CarrierInformation_Map = JsonUtil.sequenceToMap(appointment.CarrierInformation, "Key", "Value") />
|
||||
<#if CarrierInformation_Map["Immatriculation"]??>
|
||||
<#assign registration_number1 = CarrierInformation_Map["Immatriculation"].String!""/>
|
||||
"registration_number":"${registration_number1}",
|
||||
<#else>
|
||||
"registration_number":"no plate number",
|
||||
</#if>
|
||||
</#if>
|
||||
|
||||
If your SK is :
|
||||
Boolean : .Bool
|
||||
Float : .Float
|
||||
Timestamp : .Timestamp.DateTime or .Timestamp.AuthorTimeZone
|
||||
Int : .Int
|
||||
String : .String
|
||||
-->
|
||||
|
||||
<#-- Note : you can send url path of appointment to WMS, using this below code -->
|
||||
|
||||
<#--
|
||||
<#assign appointmentPathURL = JsonUtil.getAppointmentPathURL(eventRP.site,eventRP.refid)>
|
||||
<#assign payLoad = '{ "Header": {"ProjectID": "${projectRP!""}"},"IsOnce": false,"IsPublic": true,"TimeToLive": "0","URL": "${appointmentPathURL}"}' />
|
||||
<#assign projectGetTinyURL = QueryApiReflexPlatformID.ProjectGetTinyURL>
|
||||
<#assign response = QueryApiReflexPlatformCall.call(projectGetTinyURL,payLoad) />
|
||||
<#assign tinyURL = JsonUtil.jsonToMap(response)>
|
||||
|
||||
<#if tinyURL?? && tinyURL.TinyURL?? >
|
||||
"comment_list": [
|
||||
{
|
||||
"line_number": 1,
|
||||
"group_code": "SCN",
|
||||
"text": "${tinyURL.TinyURL.URL?json_string}"
|
||||
}
|
||||
],
|
||||
</#if>
|
||||
-->
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}/physical_receipt_associations",
|
||||
"method" : "POST",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
|
||||
"appointment_year":"${eventRP.appointmentCustomFields.year?json_string}",
|
||||
"appointment_number":"${eventRP.appointmentCustomFields.number?json_string}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
<#assign executionflowCustomFields = eventRP.executionflowCustomFields >
|
||||
<#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
<#assign addedCommissions = eventRP.addedUnloadCommissions />
|
||||
<#else>
|
||||
<#assign addedCommissions = eventRP.addedLoadCommissions />
|
||||
</#if>
|
||||
|
||||
"physical_receipt_list": [
|
||||
<#list addedCommissions?filter(l -> l.ExecutionflowID??) as addedCommission>
|
||||
{
|
||||
"receipt_activity": "${executionflowCustomFields[addedCommission.ExecutionflowID].activity_code?json_string}",
|
||||
"originator_code": "${executionflowCustomFields[addedCommission.ExecutionflowID].originator_code?json_string}",
|
||||
"physical_receipt_reference": "${executionflowCustomFields[addedCommission.ExecutionflowID].reference?json_string}",
|
||||
"receipt_year": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_year?json_string}",
|
||||
"receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}"
|
||||
}
|
||||
<#sep>,</#sep>
|
||||
</#list>
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}/physical_receipt_associations",
|
||||
"method" : "POST",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
|
||||
"appointment_reference":"${eventRP.refid?json_string}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
<#assign executionflowCustomFields = eventRP.executionflowCustomFields >
|
||||
<#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
<#assign addedCommissions = eventRP.addedUnloadCommissions />
|
||||
<#else>
|
||||
<#assign addedCommissions = eventRP.addedLoadCommissions />
|
||||
</#if>
|
||||
|
||||
"physical_receipt_list": [
|
||||
<#list addedCommissions?filter(l -> l.ExecutionflowID??) as addedCommission>
|
||||
{
|
||||
"receipt_activity": "${executionflowCustomFields[addedCommission.ExecutionflowID].activity_code?json_string}",
|
||||
"originator_code": "${executionflowCustomFields[addedCommission.ExecutionflowID].originator_code?json_string}",
|
||||
"physical_receipt_reference": "${executionflowCustomFields[addedCommission.ExecutionflowID].reference?json_string}",
|
||||
"receipt_year": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_year?json_string}",
|
||||
"receipt_number": "${executionflowCustomFields[addedCommission.ExecutionflowID].order_number?json_string}"
|
||||
}
|
||||
<#sep>,</#sep>
|
||||
</#list>
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}/physical_receipt_dissociations",
|
||||
"method" : "POST",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
|
||||
"appointment_year":"${eventRP.appointmentCustomFields.year?json_string}",
|
||||
"appointment_number":"${eventRP.appointmentCustomFields.number?json_string}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
<#assign executionflowCustomFields = eventRP.executionflowCustomFields >
|
||||
<#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
<#assign removedCommissions = eventRP.removedUnloadCommissions />
|
||||
<#else>
|
||||
<#assign removedCommissions = eventRP.removedLoadCommissions />
|
||||
</#if>
|
||||
|
||||
"physical_receipt_list": [
|
||||
<#list removedCommissions?filter(l -> l.ExecutionflowID??) as removedCommission>
|
||||
{
|
||||
"receipt_activity": "${executionflowCustomFields[removedCommission.ExecutionflowID].activity_code?json_string}",
|
||||
"originator_code": "${executionflowCustomFields[removedCommission.ExecutionflowID].originator_code?json_string}",
|
||||
"physical_receipt_reference": "${executionflowCustomFields[removedCommission.ExecutionflowID].reference?json_string}",
|
||||
"receipt_year": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_year?json_string}",
|
||||
"receipt_number": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_number?json_string}"
|
||||
}
|
||||
<#sep>,</#sep>
|
||||
</#list>
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}/physical_receipt_dissociations",
|
||||
"method" : "POST",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
|
||||
"appointment_reference":"${eventRP.refid?json_string}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
<#assign executionflowCustomFields = eventRP.executionflowCustomFields >
|
||||
<#if appointment.AppointmentType == AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
<#assign removedCommissions = eventRP.removedUnloadCommissions />
|
||||
<#else>
|
||||
<#assign removedCommissions = eventRP.removedLoadCommissions />
|
||||
</#if>
|
||||
|
||||
"physical_receipt_list": [
|
||||
<#list removedCommissions?filter(l -> l.ExecutionflowID??) as removedCommission>
|
||||
{
|
||||
"receipt_activity": "${executionflowCustomFields[removedCommission.ExecutionflowID].activity_code?json_string}",
|
||||
"originator_code": "${executionflowCustomFields[removedCommission.ExecutionflowID].originator_code?json_string}",
|
||||
"physical_receipt_reference": "${executionflowCustomFields[removedCommission.ExecutionflowID].reference?json_string}",
|
||||
"receipt_year": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_year?json_string}",
|
||||
"receipt_number": "${executionflowCustomFields[removedCommission.ExecutionflowID].order_number?json_string}"
|
||||
}
|
||||
<#sep>,</#sep>
|
||||
</#list>
|
||||
]
|
||||
}
|
||||
}
|
||||
38
RPtoRFX_CarrierAppointmentReasonUpdatedByNumber.ftl
Normal file
38
RPtoRFX_CarrierAppointmentReasonUpdatedByNumber.ftl
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}",
|
||||
"method" : "PUT",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
|
||||
"appointment_year":"${eventRP.appointmentCustomFields.year?json_string}",
|
||||
"appointment_number":"${eventRP.appointmentCustomFields.number?json_string}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
"unloading_appointment" : "${eventRP.appointmentCustomFields.unloading!"false"?json_string}",
|
||||
"load_appointment" : "${eventRP.appointmentCustomFields.loading!"false"?json_string}",
|
||||
<#switch appointment.AppointmentType>
|
||||
<#case AppointmentType.APPOINTMENT_TYPE_LOADING>
|
||||
<#if appointment.TimeZone?? && appointment.TimeZone!="">
|
||||
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
<#else>
|
||||
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
</#if>
|
||||
<#break>
|
||||
<#case AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
<#if appointment.TimeZone?? && appointment.TimeZone!="">
|
||||
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
<#else>
|
||||
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
<#stop "appointment.AppointmentType not implemented" >
|
||||
</#switch>
|
||||
"appointment_designation":"${(appointment.Reason!"")!?json_string}"
|
||||
}
|
||||
}
|
||||
39
RPtoRFX_CarrierAppointmentReasonUpdatedByRef.ftl
Normal file
39
RPtoRFX_CarrierAppointmentReasonUpdatedByRef.ftl
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}",
|
||||
"method" : "PUT",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
|
||||
"appointment_reference":"${eventRP.refid?json_string}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
<#switch appointment.AppointmentType>
|
||||
<#case AppointmentType.APPOINTMENT_TYPE_LOADING>
|
||||
"unloading_appointment" : "false",
|
||||
"load_appointment" : "true",
|
||||
<#if appointment.TimeZone?? && appointment.TimeZone!="">
|
||||
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
<#else>
|
||||
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
</#if>
|
||||
<#break>
|
||||
<#case AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
"unloading_appointment" : "true",
|
||||
"load_appointment" : "false",
|
||||
<#if appointment.TimeZone?? && appointment.TimeZone!="">
|
||||
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
<#else>
|
||||
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
<#stop "appointment.AppointmentType not implemented" >
|
||||
</#switch>
|
||||
"appointment_designation":"${(appointment.Reason!"")!?json_string}"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/appointment_years/{appointment_year}/appointment_numbers/{appointment_number}",
|
||||
"method" : "PUT",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
|
||||
"appointment_year":"${eventRP.appointmentCustomFields.year?json_string}",
|
||||
"appointment_number":"${eventRP.appointmentCustomFields.number?json_string}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
<#include "RPtoRFX_CarrierAppointmentDataUpdated.ftl">
|
||||
"unloading_appointment" : "${eventRP.appointmentCustomFields.unloading!"false"?json_string}",
|
||||
"load_appointment" : "${eventRP.appointmentCustomFields.loading!"false"?json_string}",
|
||||
<#switch appointment.AppointmentType>
|
||||
<#case AppointmentType.APPOINTMENT_TYPE_LOADING>
|
||||
<#if appointment.TimeZone?? && appointment.TimeZone!="">
|
||||
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
<#else>
|
||||
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
</#if>
|
||||
<#break>
|
||||
<#case AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
<#if appointment.TimeZone?? && appointment.TimeZone!="">
|
||||
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
<#else>
|
||||
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
<#stop "appointment.AppointmentType not implemented" >
|
||||
</#switch>
|
||||
"appointment_designation":"${(appointment.Reason!"")!?json_string}"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"id" : {"refid" : "${eventRP.refid?json_string}","actorID":"${RPtoRFXprefixDepot(eventRP.actor)}"},
|
||||
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments/{appointment_reference}",
|
||||
"method" : "PUT",
|
||||
"uri_substitutions": {
|
||||
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}",
|
||||
"appointment_reference":"${eventRP.refid?json_string}"
|
||||
},
|
||||
"payload" :
|
||||
{
|
||||
<#include "RPtoRFX_CarrierAppointmentDataUpdated.ftl">
|
||||
<#switch appointment.AppointmentType>
|
||||
<#case AppointmentType.APPOINTMENT_TYPE_LOADING>
|
||||
"unloading_appointment" : "false",
|
||||
"load_appointment" : "true",
|
||||
<#if appointment.TimeZone?? && appointment.TimeZone!="">
|
||||
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
<#else>
|
||||
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
"planned_load_end_datetime": "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
</#if>
|
||||
<#break>
|
||||
<#case AppointmentType.APPOINTMENT_TYPE_UNLOADING>
|
||||
"unloading_appointment" : "true",
|
||||
"load_appointment" : "false",
|
||||
<#if appointment.TimeZone?? && appointment.TimeZone!="">
|
||||
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,appointment.TimeZone),time_zone_rfx)}",
|
||||
<#else>
|
||||
"planned_unloading_start_datetime":"${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.StartDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
"planned_unloading_end_datetime" : "${DateTimeUTCtoRfxLocale(RfxDateTimetoUTCWithTimezone(appointment.Slot.EndDateTime,time_zone_rfx),time_zone_rfx)}",
|
||||
</#if>
|
||||
<#break>
|
||||
<#default>
|
||||
<#stop "appointment.AppointmentType not implemented" >
|
||||
</#switch>
|
||||
"appointment_designation":"${(appointment.Reason!"")!?json_string}"
|
||||
}
|
||||
}
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
<#assign activity_code = ""/>
|
||||
<#assign originator_code = ""/>
|
||||
<#assign preparation_type_code = ""/>
|
||||
<#assign requested_delivery_date_type = ""/>
|
||||
<#assign preparation_type_code = "010"/>
|
||||
<#assign requested_delivery_date_type = "010"/>
|
||||
<#assign consolidated_delivery_flag ="false"/>
|
||||
<#assign pick_sequence_code = ""/>
|
||||
<#assign protected_flag ="false"/>
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
<#-- A supprimer si utilisation de la table de correspondance-->
|
||||
<#--To be deleted if using the correspondence table-->
|
||||
<#assign load_grouping = "default">
|
||||
<#assign load_grouping = "">
|
||||
|
||||
|
||||
<#-- Table de correspondance Transporteur/Code regroupement chargement,
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
"work_mode_code" : "${work_mode_code}",
|
||||
"original_code" : "${RPtoRFXprefixSupplier(executionflow.ShipFrom.ActorID)}",
|
||||
"carrier_code" : "${RPtoRFXprefixCarrier(executionflow.Carrier.ActorID!"")}",
|
||||
|
||||
<#if executionflow.RequestedMilestones?? && executionflow.RequestedMilestones.RequestedDeliveryDateTime??>
|
||||
"receipt_datetime": "${DateTimeUTCtoRfxLocale(executionflow.RequestedMilestones.RequestedDeliveryDateTime.DateTime,time_zone_rfx)}",
|
||||
<#else>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<#-- --------------------------------------------------------------------------------------- -->
|
||||
<#-- -------------------------------------------------------------------------------------------- -->
|
||||
<#-- Concat HARDIS WMS timestamp with HARDIS WMS time zone and format this date in ISO UTC format -->
|
||||
<#-- --------------------------------------------------------------------------------------- -->
|
||||
<#-- -------------------------------------------------------------------------------------------- -->
|
||||
<#function RfxDateTimetoUTC rfxdatetime offset >
|
||||
<#return ((rfxdatetime + offset)?datetime.iso?iso_utc)>
|
||||
</#function>
|
||||
@@ -9,6 +9,22 @@
|
||||
<#return dateutc?datetime.iso?iso_nz(locale)>
|
||||
</#function>
|
||||
|
||||
<#-- -------------------------------------------------------------------------------------------- -->
|
||||
<#-- Add second to dateTime ex: AddSecondsToDatetime("2025-11-17T09:15:00Z"?datetime.iso, 61) -->
|
||||
<#-- -------------------------------------------------------------------------------------------- -->
|
||||
<#function AddSecondsToDatetime date seconds>
|
||||
<#assign timeInMilliseconds = (1000 * seconds) >
|
||||
<#assign aDate = date?long + timeInMilliseconds>
|
||||
<#return aDate?number_to_datetime>
|
||||
</#function>
|
||||
|
||||
<#-- -------------------------------------------------------------------------------------------- -->
|
||||
<#-- Duration between two datetimes in second -->
|
||||
<#-- -------------------------------------------------------------------------------------------- -->
|
||||
<#function DurationBetweenTwoDatetimeInSeconds startDate endDate>
|
||||
<#return (endDate?long - startDate?long) / 1000 >
|
||||
</#function>
|
||||
|
||||
<#-- --------------------------------------------------------------------------------------- -->
|
||||
<#-- Split email HARDIS WMS into json array string -->
|
||||
<#-- Example : splitemail "john.doe@hardis-group.com,; name@hardis-group.com" -->
|
||||
|
||||
Reference in New Issue
Block a user