Compare commits

..

135 Commits

Author SHA1 Message Date
011540fc51 Release 1.2.16+4 2024-05-30 17:20:55 +02:00
5e9804db40 Merge branch 'SCPN1-6641' into 'release/1.2'
SCPN1-6641 et SCPN1-6642

See merge request r-d-technique/tiers/reflex-wms-connector!42
2024-05-30 15:05:08 +00:00
e344cca043 SCPN1-6642 2024-05-30 16:30:59 +02:00
b0b4714df9 SCPN1-6641 2024-05-30 14:30:09 +02:00
15bd095feb Release 1.2.16+3 2024-05-16 17:55:49 +02:00
c0dd029d1f Merge branch 'SCPN1-6564' into 'release/1.2'
SCPN1-6564

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

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

See merge request r-d-technique/tiers/reflex-wms-connector!33
2024-04-24 16:19:29 +00:00
6809b32410 Création de commande
(cherry picked from commit 82dfc05cdb)
2024-04-24 17:49:09 +02:00
37a5e64e83 Release 1.2.15+7 2024-04-11 11:22:18 +02:00
2f31833bc3 Merge branch 'versio-1.2.15' into 'release/1.2'
Modifs RPtoRFX 1701240947 SCPN1-6379

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

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

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

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

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

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

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

See merge request r-d-technique/tiers/reflex-wms-connector!20
2024-03-12 08:56:33 +00:00
f5970127b0 update version 2024-03-12 09:55:32 +01:00
33c7ab08a7 reverted VERSION 2024-03-12 08:51:41 +00:00
fb8f9ca651 Release 1.2.14+1 2024-03-12 09:31:26 +01:00
86afce4b0d reverted VERSION 2024-03-12 08:29:59 +00:00
16c7d6b686 Merge branch 'develop' into version-1.7
# Conflicts:
#	RFXtoRP_HfDtlStockLs_StockSnapshotted.ftl
#	RFXtoRP_HfLvTypeList.ftl
#	RFXtoRP_HsaIpgMove.ftl
#	RFXtoRP_HsaIpgMove_GoodsReceived.ftl
#	RFXtoRP_HsaIpgMove_StockMoved.ftl
#	RFXtoRP_HsaItmLv_LogisticVariantUpdated.ftl
#	RFXtoRP_HsaItm_ItemCreated.ftl
#	RFXtoRP_HsaProStatus.ftl
#	RFXtoRP_HsrPrepa.ftl
#	RFXtoRP_HsrPrepa_CarrierUpdated.ftl
#	RFXtoRP_HsrPrepa_GoodsPrepared.ftl
#	RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl
#	RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl
#	RFXtoRP_HsrPro.ftl
#	RFXtoRP_HsrPro_ExecutionflowDetected.ftl
#	RFXtoRP_HsrReceiptList.ftl
#	RFXtoRP_HsrReceiptList_ExecutionflowDetected.ftl
#	ReflexUtils.ftl
#	VERSION
2024-03-12 08:11:21 +01:00
9cffad8ffb Snapshot reflex-wms-connector 1.4.0-SNAPSHOT 2024-03-11 17:12:45 +01:00
fc919c2199 Release 1.2.13+1 2024-03-11 16:13:48 +01:00
48052a8112 SCPN1-6130 2024-03-11 14:25:42 +01:00
5af4faf052 modifs 2024-03-07 10:16:44 +01:00
dc362f6826 modifs 2024-03-05 17:30:56 +01:00
3ef86f9e5c modifs 2024-03-05 17:03:32 +01:00
97b3eb3d97 SCPN1-6130 2024-03-05 15:05:51 +01:00
3b98560221 modifs 2024-03-04 10:30:24 +01:00
7eee45993e modif 2024-02-29 17:13:39 +01:00
76c17efbec modifs 2024-02-29 16:48:02 +01:00
1038471fd0 modifs 2024-02-29 16:23:09 +01:00
3365a94098 Release 1.2.12+3 2024-02-29 15:35:54 +01:00
e055eab522 Merge branch 'SCPN1-6093' into 'release/1.2'
SCPN1-6093

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

See merge request r-d-technique/tiers/reflex-wms-connector!17
2024-02-29 13:30:33 +00:00
fba36b5d77 SCPN1-6093 2024-02-29 14:16:53 +01:00
76c071fab7 modif receipt 2024-02-29 13:53:59 +01:00
3ed530fb09 modifs trim json 2024-02-29 13:34:59 +01:00
da8939ec74 modifs 2024-02-29 11:57:41 +01:00
4193d6e48c modifs 2024-02-29 11:54:30 +01:00
d038e1f6ce modifs order 2024-02-29 11:01:52 +01:00
f4b1864337 Priority date goods 2024-02-27 16:05:43 +01:00
37f5fbf364 modif hsrprepa 2024-02-26 16:21:44 +01:00
a18f41ed78 Modifs prioritydate 2024-02-22 16:29:08 +01:00
b6aa1d544e ajout fonction jsonString 2024-02-19 18:12:05 +01:00
892812e85e Release 1.2.12+1 2024-02-16 11:51:17 +01:00
3ededd9c62 Modifs logs 2024-02-15 10:42:42 +01:00
f25f664b9a Modifs HsrPro 2024-02-15 10:30:51 +01:00
feee703166 Modifs 2024-02-15 10:19:31 +01:00
c183b1398e Modifs LMO 2024-02-14 17:43:20 +01:00
e5981b5b0d Modifs HSAProstatus 2024-02-08 17:51:28 +01:00
ceac740066 modifs HsaProstatut 2024-02-08 17:23:25 +01:00
9aa9500f0b Modifs HSRprpaGP 2024-02-06 15:56:41 +01:00
585ac07746 Modifs HsrPrepaGP 2024-02-06 15:41:57 +01:00
4a806b3977 Modifs HSRPrepaGP 2024-02-06 15:26:24 +01:00
eedd7cb16a Modifs hsrprepaGP 2024-02-06 15:00:52 +01:00
387721fd82 Modifs HSRPrepa 0502241451 2024-02-05 14:51:55 +01:00
d334812615 Modifs HsrPrepa 2024-02-02 17:29:04 +01:00
071b5e47b0 Modifs HsrPrepa 2024-02-02 17:15:32 +01:00
ba9c557ae5 Modifs HSRprepa 2024-02-02 17:04:50 +01:00
a512e4c23a Release 1.2.11+1 2024-01-26 11:15:57 +01:00
884ad540fe Update VERSION to roolback to 1.2.10+2 2024-01-26 10:02:42 +00:00
869dc5e2f7 Modifs RPtoRFX_Receipts 2301241132 2024-01-23 11:32:31 +01:00
252302e688 Modifs RPtoRFX_Receipts 2301241118 2024-01-23 11:18:52 +01:00
56cd76fe0e Modifs RPtoRFX 2301241050 2024-01-23 10:50:44 +01:00
262e22d970 Modifs date 1901241548 2024-01-19 15:51:08 +01:00
ed809f872d Modifs HsaIpgMove-Rec 1801241412 2024-01-18 14:12:33 +01:00
ca30958d35 Modifs RPtoRFX 1701240947 2024-01-17 09:48:01 +01:00
824a52a588 Modifs 1601241713 2024-01-16 17:14:01 +01:00
60cadad51f Modifs 1601241710 2024-01-16 17:10:40 +01:00
123d1dce90 Modifs date 1601241705 2024-01-16 17:06:17 +01:00
4073c63a75 Modifs 1601241500 2024-01-16 15:00:05 +01:00
b8aea218ce Modifs 1601241452 2024-01-16 14:53:23 +01:00
380b6ea116 Modifs Hsrprepa 1601241448 2024-01-16 14:48:17 +01:00
59db159c29 modifs trackinhHULabelled 1601241437 2024-01-16 14:37:51 +01:00
c7fbfe21fb Modifs emalis 1601241352 2024-01-16 13:52:38 +01:00
12e29c6644 Modifs 1601241121 2024-01-16 11:21:04 +01:00
fb1980d07a Ajout Statut HU 1601241049 2024-01-16 10:49:13 +01:00
736054e237 Modifs hsrprepa dimension 1501241759 2024-01-15 17:59:50 +01:00
4eb68902bf Modifs 1201241553 2024-01-12 15:54:08 +01:00
52 changed files with 1139 additions and 803 deletions

View File

@@ -26,7 +26,7 @@
<#list reflexStockPicturesInterface.detailled_stock_list as stock> <#list reflexStockPicturesInterface.detailled_stock_list as stock>
<#if stock.stock_type_code != "200"> <#if stock.stock_type_code != "200">
<#stop "stock type different from 200"> <#stop>
<#break> <#break>
</#if> </#if>
</#list> </#list>

View File

@@ -22,11 +22,13 @@
}, },
"Goods": { "Goods": {
"ItemID": "${stock.item_code}", "ItemID": "${stock.item_code?trim?json_string}",
"LVBranchID": "${stock.item_logistical_variant_code}", "LVBranchID": "${stock.item_logistical_variant_code}",
<#assign priority_date = stock.priority_date?datetime(rfx_date_format_default)?iso_utc /> <#assign priority_date = stock.priority_date?datetime(rfx_date_format_default)?iso_utc />
<#if (stock.priority_date!="") && (stock.priority_date?starts_with("00")== false) > <#if (stock.priority_date!="") && (stock.priority_date?starts_with("00")== false) >
"PriorityDate" : "${priority_date}", "PriorityDate" : "${priority_date}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if> </#if>
<#-- Segmentation keys inclusion --> <#-- Segmentation keys inclusion -->

View File

@@ -24,5 +24,5 @@ ${output}
<#break> <#break>
<#default> <#default>
<#stop> <#stop >
</#switch> </#switch>

View File

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

View File

@@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${carrier.carrier_code}" "RefID": "${carrier.carrier_code?trim?json_string}"
}, },
"Payload": { "Payload": {

View File

@@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${carrier.carrier_code}" "RefID": "${carrier.carrier_code?trim?json_string}"
}, },
"Payload": {} "Payload": {}

View File

@@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${actor.code}" "RefID": "${actor.code?trim?json_string}"
}, },
"Payload": { "Payload": {

View File

@@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${actor.code}" "RefID": "${actor.code?trim?json_string}"
}, },
"Payload": {} "Payload": {}

View File

@@ -12,8 +12,8 @@
<#assign reflexMvtStockInterface = JsonUtil.jsonToMap(dataRfx)> <#assign reflexMvtStockInterface = JsonUtil.jsonToMap(dataRfx)>
<#-- exclusion of the cases of an IPG move with quantity = 0 (weight modification) --> <#-- exclusion of the cases of an IPG move with quantity = 0 (weight modification) -->
<#if reflexMvtStockInterface.ipg_move_quantity_in_base_lvs != 0>
<#if reflexMvtStockInterface.ipg_move_quantity_in_base_lvs != 0>
<#-- IPG moves translated into Stock moves --> <#-- IPG moves translated into Stock moves -->
<#if reflexMvtStockInterface.ipg_move_type == "130" || <#if reflexMvtStockInterface.ipg_move_type == "130" ||
reflexMvtStockInterface.ipg_move_type == "200" || reflexMvtStockInterface.ipg_move_type == "200" ||
@@ -34,32 +34,33 @@
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsaIpgMove_StockMoved.ftl"> <#include "RFXtoRP_HsaIpgMove_StockMoved.ftl">
} }
] ]
<#else> <#else>
<#-- IPG moves translated into goods received (all type of receipt) --> <#-- IPG moves translated into goods received (all type of receipt) -->
<#if reflexMvtStockInterface.ipg_move_type == "100" || <#if (reflexMvtStockInterface.ipg_move_type == "100" ||
reflexMvtStockInterface.ipg_move_type == "110" || reflexMvtStockInterface.ipg_move_type == "110" ||
reflexMvtStockInterface.ipg_move_type == "120" reflexMvtStockInterface.ipg_move_type == "120") >
> <#if reflexMvtStockInterface.receipt_reference?? && reflexMvtStockInterface.receipt_reference!="">
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsReceived> <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsReceived>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsaIpgMove_GoodsReceived.ftl"> <#include "RFXtoRP_HsaIpgMove_GoodsReceived.ftl">
} }
] ]
<#else> <#else>
<#-- Case of IPG move type volontarilly ignored--> <#-- Case of IPG move type volontarilly ignored-->
<#stop "Move type not supported"> <#stop " Reference receipt is empty">
</#if>
<#else>
<#stop>
</#if> </#if>
</#if> </#if>
<#else> <#else>
<#-- cases of an IPG move with quantity = 0 (weight modification)--> <#-- cases of an IPG move with quantity = 0 (weight modification)-->
<#stop "move ignored quantity = 0"> <#stop>
</#if> </#if>
<#break> <#break>

View File

@@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${reflexMvtStockInterface.hd_number}" "RefID": "${reflexMvtStockInterface.hd_number?trim?json_string}"
}, },
"Payload": { "Payload": {
"ReceivedContents" :[ "ReceivedContents" :[
@@ -18,16 +18,20 @@
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
}, },
"Goods": { "Goods": {
"ItemID": "${reflexMvtStockInterface.item_code}", "ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
"LVBranchID": "${reflexMvtStockInterface.lv_code}", "LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}",
"PriorityDate": "${priority_date}", "PriorityDate": "${priority_date}",
<#-- Goods received Segmentation Keys inclusion --> <#-- Goods received Segmentation Keys inclusion -->
<#include "RFXtoRP_HsaIpgMove_GoodsReceived_SegmentationKeys.ftl"> <#include "RFXtoRP_HsaIpgMove_GoodsReceived_SegmentationKeys.ftl">
}, },
"ExecutionflowID": "${reflexMvtStockInterface.receipt_reference}", <#if reflexMvtStockInterface.receipt_reference!="">
"ExecutionflowID": "${reflexMvtStockInterface.receipt_reference?trim?json_string}",
<#else>
"ExecutionflowID": "${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.ipg_move_year_number}${reflexMvtStockInterface.extended_ipg_move_number}",
</#if>
"LineID": "${reflexMvtStockInterface.receipt_line_number}", "LineID": "${reflexMvtStockInterface.receipt_line_number}",
"ActorID": "${reflexMvtStockInterface.physical_depot_code}", "ActorID": "${reflexMvtStockInterface.physical_depot_code?trim?json_string}",
"Quantity": { "Quantity": {
"LVID": "${quantity_in_base_lv_RP_Cst}", "LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": ${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs} "Value": ${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs}

View File

@@ -23,26 +23,30 @@
}, },
"Payload": { "Payload": {
"Goods": { "Goods": {
"ItemID": "${reflexMvtStockInterface.item_code}", "ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
<#if (reflexMvtStockInterface.ipg_priority_date!="") && (reflexMvtStockInterface.ipg_priority_date?starts_with("00")== false) >
"PriorityDate": "${ipg_priority_datetime}", "PriorityDate": "${ipg_priority_datetime}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
<#-- Segmentation keys inclusions --> <#-- Segmentation keys inclusions -->
<#include "RFXtoRP_HsaIpgMove_StockMoved_SegmentationKeys.ftl">, <#include "RFXtoRP_HsaIpgMove_StockMoved_SegmentationKeys.ftl">,
"LVBranchID": "${reflexMvtStockInterface.lv_code}" "LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}"
}, },
"ActorID": "${reflexMvtStockInterface.physical_depot_code}", "ActorID": "${reflexMvtStockInterface.physical_depot_code?trim?json_string}",
"Movement": { "Movement": {
"DateTime": { "DateTime": {
"DateTime": "${generation_date}", "DateTime": "${generation_date}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
}, },
"Author": "ReflexWMS-${reflexMvtStockInterface.ipg_move_creation_user_code}", "Author": "ReflexWMS-${reflexMvtStockInterface.ipg_move_creation_user_code?json_string}",
"ExternalMoveRef" : "${reflexMvtStockInterface.ipg_move_year_number} - ${reflexMvtStockInterface.ipg_move_number}", "ExternalMoveRef" : "${reflexMvtStockInterface.ipg_move_year_number} - ${reflexMvtStockInterface.ipg_move_number}",
"Type": "${MoveType_KV[reflexMvtStockInterface.ipg_move_type]!reflexMvtStockInterface.ipg_move_type}", "Type": "${MoveType_KV[reflexMvtStockInterface.ipg_move_type]!reflexMvtStockInterface.ipg_move_type}",
"Reason": "${reflexMvtStockInterface.miscellaneous_receipts_despatches_code}", "Reason": "${reflexMvtStockInterface.miscellaneous_receipts_despatches_code?json_string}",
"ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference?json_string}", "ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference?json_string}",
<#if reflexMvtStockInterface.ipg_move_operation_year_number!= 0> <#if reflexMvtStockInterface.ipg_move_operation_year_number!= 0>
"OperationReference": "${reflexMvtStockInterface.ipg_move_operation_year_number} - ${reflexMvtStockInterface.ipg_move_operation_number}", "OperationReference": "${reflexMvtStockInterface.ipg_move_operation_year_number} - ${reflexMvtStockInterface.ipg_move_operation_number}",

View File

@@ -5,7 +5,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${lv.item_code}" "RefID": "${lv.item_code?trim?json_string}"
}, },
"Payload": { "Payload": {
"RemovedLogisticVariantIDs":["${lv.logistical_variant_code}"] "RemovedLogisticVariantIDs":["${lv.logistical_variant_code}"]

View File

@@ -5,19 +5,19 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${lv.item_code}" "RefID": "${lv.item_code?trim?json_string}"
}, },
"Payload": { "Payload": {
"LogisticVariants": [ "LogisticVariants": [
{ {
"LVID": "${lv.logistical_variant_code}", "LVID": "${lv.logistical_variant_code?json_string}",
"Name" : "${lv.lv_type_code}", "Name" : "${lv.lv_type_code?json_string}",
<#if lv.id_list??> <#if lv.id_list??>
"Codes": [ "Codes": [
<#list lv.id_list as id> <#list lv.id_list as id>
{ {
"Key": "${id.logistical_variant_ID_type_code}", "Key": "${id.logistical_variant_ID_type_code?json_string!""}",
"Value": "${id.logistical_variant_ID_code}" "Value": "${id.logistical_variant_ID_code?json_string!""}"
}<#sep>,</#sep> }<#sep>,</#sep>
</#list> </#list>
], ],
@@ -29,7 +29,7 @@
"IsBaseLogisticVariant": ${lv.base_lv}, "IsBaseLogisticVariant": ${lv.base_lv},
<#if lv.base_lv != "true"> <#if lv.base_lv != "true">
"RefLV": "${lv.subpackaging_lv_code}", "RefLV": "${lv.subpackaging_lv_code?json_string}",
</#if> </#if>
"QuantityInRefLV": ${lv.quantity_in_subpackaging_lv}, "QuantityInRefLV": ${lv.quantity_in_subpackaging_lv},

View File

@@ -6,7 +6,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${item.item_code}" "RefID": "${item.item_code?trim?json_string}"
}, },
"Payload": { "Payload": {
"DescriptionsByLanguage": [{ "DescriptionsByLanguage": [{
@@ -32,15 +32,15 @@
<#list item.logistical_variant_list as logistical_variant> <#list item.logistical_variant_list as logistical_variant>
{ {
"LVID": "${logistical_variant.logistical_variant_code}", "LVID": "${logistical_variant.logistical_variant_code?json_string}",
"Name" : "${logistical_variant.lv_type_code}", "Name" : "${logistical_variant.lv_type_code?json_string}",
<#if logistical_variant.id_list??> <#if logistical_variant.id_list??>
"Codes": [ "Codes": [
<#list logistical_variant.id_list as id> <#list logistical_variant.id_list as id>
{ {
"Key": "${id.logistical_variant_ID_type_code}", "Key": "${id.logistical_variant_ID_type_code?json_string!""}",
"Value": "${id.logistical_variant_ID_code}" "Value": "${id.logistical_variant_ID_code?json_string!""}"
}<#sep>,</#sep> }<#sep>,</#sep>
</#list> </#list>
], ],
@@ -49,10 +49,12 @@
<#-- LV Metadata inclusion --> <#-- LV Metadata inclusion -->
<#include "RFXtoRP_HsaItm_ItemCreated_LogisticVariantMetadata.ftl">, <#include "RFXtoRP_HsaItm_ItemCreated_LogisticVariantMetadata.ftl">,
<#if logistical_variant.base_lv?? && logistical_variant.base_lv!="">
"IsBaseLogisticVariant": ${logistical_variant.base_lv}, "IsBaseLogisticVariant": ${logistical_variant.base_lv},
</#if>
<#if logistical_variant.base_lv != "true"> <#if logistical_variant.base_lv != "true">
"RefLV": "${logistical_variant.subpackaging_lv_code}", "RefLV": "${logistical_variant.subpackaging_lv_code?json_string}",
</#if> </#if>
"QuantityInRefLV": ${logistical_variant.quantity_in_subpackaging_lv}, "QuantityInRefLV": ${logistical_variant.quantity_in_subpackaging_lv},

View File

@@ -5,7 +5,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${item.item_code}" "RefID": "${item.item_code?trim?json_string}"
}, },
"Payload": {} "Payload": {}
} }

View File

@@ -17,6 +17,7 @@
<#assign preparationStatusInterface = JsonUtil.jsonToMap(dataRfx) /> <#assign preparationStatusInterface = JsonUtil.jsonToMap(dataRfx) />
[ [
<#--**Pick batch runned (200) **--> <#--**Pick batch runned (200) **-->
<#if preparationStatusInterface.preparation_order_originator_reference?? && preparationStatusInterface.preparation_order_originator_reference!="">
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "200" > <#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "200" >
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationExpected> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationExpected>
@@ -34,17 +35,14 @@
<#include "RFXtoRP_HsaProStatus_PreparationStarted.ftl"> <#include "RFXtoRP_HsaProStatus_PreparationStarted.ftl">
} }
<#else> <#else>
<#-- **Preparation to package (500) and preparation completed (550)** --> <#-- ****Preparation dispatched (600)** -->
<#if preparationStatusInterface.preparation_status_type == "100" && (preparationStatusInterface.preparation_status_code == "500" || preparationStatusInterface.preparation_status_code == "550")> <#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "600" >
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationCompleted> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsaProStatus_PreparationCompleted.ftl"> <#include "RFXtoRP_HsaProStatus_PreparationCompleted.ftl">
} },
<#else>
<#-- ****Preparation dispatched (600)** -->
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "600" >
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowTransportStarted> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowTransportStarted>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
@@ -61,11 +59,13 @@
<#include "RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl"> <#include "RFXtoRP_HsaProStatus_ExecutionflowCancelled.ftl">
} }
<#else> <#else>
<#stop "Reflex WMS status not supported on Reflex Platform"> <#stop>
</#if> </#if>
</#if> </#if>
</#if> </#if>
</#if> </#if>
<#else>
<#stop "PRO reference is empty">
</#if> </#if>
] ]
<#break> <#break>

View File

@@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference}", "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference}", "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference}", "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference}", "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparationStatusInterface.preparation_order_originator_reference}", "RefID": "${preparationStatusInterface.preparation_order_originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${actor.code}" "RefID": "${actor.code?trim?json_string}"
}, },
"Payload": { "Payload": {

View File

@@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${actor.code}" "RefID": "${actor.code?trim?json_string}"
}, },
"Payload": {} "Payload": {}

View File

@@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${depot.physical_depot_code}" "RefID": "${depot.physical_depot_code?trim?json_string}"
}, },
"Payload": { "Payload": {

View File

@@ -4,7 +4,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${depot.physical_depot_code}" "RefID": "${depot.physical_depot_code?trim?json_string}"
}, },
"Payload": {} "Payload": {}

View File

@@ -2,7 +2,7 @@
<#-- input : message RFX --> <#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in ReflexPlatform -->
<#include "ReflexUtils.ftl">
<#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>
<#assign organisationRP = organisation> <#assign organisationRP = organisation>
@@ -16,23 +16,43 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparationOrder = JsonUtil.jsonToMap(dataRfx)> <#assign preparationOrder = JsonUtil.jsonToMap(dataRfx)>
<#if preparationOrder.total_lv_validated !=0> <#if preparationOrder.total_lv_validated !=0>
[ [
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.GoodsPrepared> <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsPrepared>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrPrepa_GoodsPrepared.ftl"> <#include "RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl">
}, },
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched> <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl"> <#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl">
} }
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line>
<#if preparationOrder.load_data?? && preparationOrder.load_data.carrier_code?? && preparationOrder.load_data.carrier_code!="">
,
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCarrierUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_CarrierUpdated.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.OrderCarrierUpdated>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl">
}
</#if>
<#assign refIDHmap ={}>
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.preparation_order_originator_reference!="") as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg> <#list preparation_line.despatched_ipg_list as despatched_ipg>
<#if despatched_ipg.consignment_unit_id != ""> <#assign HUadded_packing_datetime = RfxDateTimetoUTC(preparation_line.confirmation_datetime,time_zone_offset_rfx) />
<#if despatched_ipg.consignment_unit_id!="">
, ,
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled> <#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled>
@@ -41,13 +61,29 @@
<#include "RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl"> <#include "RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl">
} }
</#if> </#if>
<#if despatched_ipg.carton_number != "000000000000000000" && despatched_ipg.carton_number!=despatched_ipg.hd_number >
,
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitHUsAdded>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HandlingunitHUsAdded.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl">
}
</#if>
</#list> </#list>
</#list> </#list>
<#assign refIDHmap ={}>
] ]
<#else> <#else>
<#stop "no confirmed quantity for the preparation - preparation closed"> <#stop "no confirmed quantity for the preparation - preparation closed">
</#if> </#if>
<#break> <#break>
<#case "D"> <#case "D">

View File

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

View File

@@ -1,89 +0,0 @@
<#include "HfRpConfig.ftl">
[
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg>
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
<#if despatched_ipg.carton_number != "000000000000000000">
"RefID": "${despatched_ipg.carton_number}"
<#else>
"RefID": "${despatched_ipg.hd_number}"
</#if>
},
"Payload": {
"Information" :{
<#if despatched_ipg.carton_number != "000000000000000000">
"ContainerType": "${despatched_ipg.carton_type_code}"
<#else>
"ContainerType": "${despatched_ipg.hd_type_code}"
</#if>
},
<#-- HU Metadata inclusin inclusion -->
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_HandlingUnitMetadata.ftl">
,
"PreparedContents" :[
{
"Goods": {
"ItemID": "${preparation_line.item_code}",
"LVBranchID": "${preparation_line.item_lv_code}",
<#if (despatched_ipg.ipg_manufacture_date?length != 0) && (despatched_ipg.ipg_manufacture_date?starts_with("00") == false)>
<#assign priority_date = despatched_ipg.ipg_manufacture_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_receipt_date?length != 0) && (despatched_ipg.ipg_receipt_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_receipt_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_best_before_date?length != 0) && (despatched_ipg.ipg_best_before_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_best_before_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_sell_by_date?length != 0) && (despatched_ipg.ipg_sell_by_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_sell_by_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_use_by_date?length != 0) && (despatched_ipg.ipg_use_by_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_use_by_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (preparationOrder.stock_despatch_at_preparation_datetime?length != 0) && (preparationOrder.stock_despatch_at_preparation_datetime?starts_with("00")== false)>
<#assign priority_date = preparationOrder.stock_despatch_at_preparation_datetime?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
"PriorityDate": "error_date",
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
<#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl">
},
"ExecutionflowID": "${preparation_line.preparation_order_originator_reference}",
<#if (preparation_line.pro_originator_reference_line_number!0) != 0>
"LineID": "${preparation_line.pro_originator_reference_line_number}",
<#else>
"LineID": "${preparation_line.pro_line_number!0}",
</#if>
"ActorID": "${preparationOrder.physical_depot_code}",
"Quantity": {
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": ${despatched_ipg.quantity_lvs}
}
}
]
}
}<#sep>,</#sep>
</#list>
<#sep>,</#sep>
</#list>
]

View File

@@ -0,0 +1,29 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
[
<#assign dispatched3_datetime = RfxDateTimetoUTC(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_offset_rfx) />
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line3>
<#list preparation_line3.despatched_ipg_list?filter(j ->j.carton_number!="000000000000000000") as despatched_ipg3>
<#if !refIDHmap[despatched_ipg3.carton_number]?? >
<#if refIDHmap?size != 0 >
,
</#if>
<#assign refIDHmap += {despatched_ipg3.carton_number,despatched_ipg3.carton_number}>
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${despatched_ipg3.carton_number}",
"RefDate": {
"DateTime": "${dispatched3_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": { }
}
</#if>
</#list>
</#list>
]

View File

@@ -2,26 +2,27 @@
<#include "ReflexUtils.ftl"> <#include "ReflexUtils.ftl">
[ [
<#assign dispatched_datetime = RfxDateTimetoUTC(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_offset_rfx) /> <#assign dispatched_datetime = RfxDateTimetoUTC(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_offset_rfx) />
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line> <#assign refIDHmap_local ={}>
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.preparation_order_originator_reference!="") as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg> <#list preparation_line.despatched_ipg_list as despatched_ipg>
{ <#if !refIDHmap_local[despatched_ipg.hd_number]?? >
"Header": { <#if refIDHmap_local?size != 0 >
"ProjectID": "${projectRP}" ,
},
"ID": {
<#if despatched_ipg.carton_number != "000000000000000000">
"RefID": "${despatched_ipg.carton_number}",
<#else>
"RefID": "${despatched_ipg.hd_number}",
</#if> </#if>
<#assign refIDHmap_local +={despatched_ipg.hd_number,despatched_ipg.hd_number}>
{
"Header": {"ProjectID": "${projectRP}"},
"ID": {
"RefID": "${despatched_ipg.hd_number}",
"RefDate": { "RefDate": {
"DateTime": "${dispatched_datetime}", "DateTime": "${dispatched_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
} }
}, },
"Payload": { } "Payload": { }
}<#sep>,</#sep> }
</#if>
</#list> </#list>
<#sep>,</#sep>
</#list> </#list>
<#assign refIDHmap_local ={}>
] ]

View File

@@ -0,0 +1,132 @@
<#include "HfRpConfig.ftl">
[
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? && l.preparation_order_originator_reference!="") as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg>
<#assign packing_datetime = RfxDateTimetoUTC(preparation_line.confirmation_datetime,time_zone_offset_rfx) />
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefDate": {
"AuthorTimeZone": "${time_zone_rfx}",
"DateTime": "${packing_datetime}"
},
<#if despatched_ipg.carton_number != "000000000000000000">
"RefID": "${despatched_ipg.carton_number}"
<#else>
"RefID": "${despatched_ipg.hd_number}"
</#if>
},
"Payload": {
"Information" :{
<#if despatched_ipg.carton_number != "000000000000000000">
"ContainerType": "${despatched_ipg.carton_type_code}"
<#if preparation_line.despatched_cartons_list?? >
<#list preparation_line.despatched_cartons_list?filter(l -> l?? && l.carton_number==despatched_ipg.carton_number) as dimensionCarton>
,
"Length": {
"Unit": "${length_unit_rfx}",
"Value": "${dimensionCarton.overall_depth}"
},
"Weight": {
"Unit": "${weight_unit_rfx}",
"Value": "${dimensionCarton.carton_gross_weight}"
},
"Height": {
"Unit": "${length_unit_rfx}",
"Value": "${dimensionCarton.overall_height}"
},
"Width": {
"Unit": "${length_unit_rfx}",
"Value": "${dimensionCarton.overall_width}"
}
</#list>
</#if>
<#else>
"ContainerType": "${despatched_ipg.hd_type_code?json_string}"
<#if preparation_line.despatched_hds_list??>
<#list preparation_line.despatched_hds_list?filter(j -> j?? && j.handling_device_number==despatched_ipg.hd_number) as dimensionHU>
,
"Length": {
"Unit": "${length_unit_rfx}",
"Value": "${dimensionHU.hd_type_depth}"
},
"Weight": {
"Unit": "${weight_unit_rfx}",
"Value": "${dimensionHU.hd_gross_weight}"
},
"Width": {
"Unit": "${length_unit_rfx}",
"Value": "${dimensionHU.hd_type_width}"
}
</#list>
</#if>
</#if>
},
<#-- HU Metadata inclusin inclusion -->
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_HandlingUnitMetadata.ftl">
,
"PreparedContents" :[
{
"Goods": {
"ItemID": "${preparation_line.item_code?trim?json_string}",
"LVBranchID": "${preparation_line.item_lv_code?json_string}",
<#if (despatched_ipg.ipg_manufacture_date?length != 0) && (despatched_ipg.ipg_manufacture_date?starts_with("00") == false)>
<#assign priority_date = despatched_ipg.ipg_manufacture_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_receipt_date?length != 0) && (despatched_ipg.ipg_receipt_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_receipt_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_best_before_date?length != 0) && (despatched_ipg.ipg_best_before_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_best_before_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_sell_by_date?length != 0) && (despatched_ipg.ipg_sell_by_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_sell_by_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (despatched_ipg.ipg_use_by_date?length != 0) && (despatched_ipg.ipg_use_by_date?starts_with("00")== false)>
<#assign priority_date = despatched_ipg.ipg_use_by_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
<#if (preparationOrder.stock_despatch_at_preparation_datetime?length != 0) && (preparationOrder.stock_despatch_at_preparation_datetime?starts_with("00")== false)>
<#assign priority_date = preparationOrder.stock_despatch_at_preparation_datetime?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${priority_date}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
</#if>
</#if>
</#if>
</#if>
</#if>
<#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl">
},
"ExecutionflowID": "${preparation_line.preparation_order_originator_reference?trim?json_string}",
<#if (preparation_line.pro_originator_reference_line_number!0) != 0>
"LineID": "${preparation_line.pro_originator_reference_line_number}",
<#else>
"LineID": "${preparation_line.pro_line_number!0}",
</#if>
"ActorID": "${preparationOrder.physical_depot_code?trim?json_string}",
"Quantity": {
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": ${despatched_ipg.quantity_lvs}
}
}
]
}
}<#sep>,</#sep>
</#list>
<#sep>,</#sep>
</#list>
]

View File

@@ -0,0 +1,40 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefDate": {
"AuthorTimeZone": "${time_zone_rfx}",
"DateTime": "${HUadded_packing_datetime}"
},
"RefID": "${despatched_ipg.hd_number}"
},
"Payload": {
"IncludedHandlingunitIDs": [ "${despatched_ipg.carton_number}" ]
<#if preparation_line.despatched_hds_list?? && preparation_line.despatched_hds_list[0]??>
,
"Information": {
"ContainerType": "${preparation_line.despatched_hds_list[0].hd_type_code}",
"Length": {
"Unit": "${length_unit_rfx}",
"Value": ${preparation_line.despatched_hds_list[0].hd_type_depth}
},
"Weight": {
"Unit": "${weight_unit_rfx}",
"Value": ${preparation_line.despatched_hds_list[0].hd_gross_weight}
},
"Width": {
"Unit": "${length_unit_rfx}",
"Value": ${preparation_line.despatched_hds_list[0].hd_type_width}
}
}
</#if>
}
}
]

View File

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

View File

@@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${despatched_ipg.consignment_unit_id}" "RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}"
}, },
"Payload": { "Payload": {
<#if despatched_ipg.carton_number != "000000000000000000"> <#if despatched_ipg.carton_number != "000000000000000000">
@@ -15,6 +15,13 @@
<#else> <#else>
"HandlingunitID": "${despatched_ipg.hd_number}" "HandlingunitID": "${despatched_ipg.hd_number}"
</#if> </#if>
<#if preparationOrder.load_data?? && preparationOrder.load_data.carrier_code?? && preparationOrder.load_data.carrier_code!="" >
,
"HUCarrier":{
"ActorID": "${preparationOrder.load_data.carrier_code?json_string}"
}
</#if>
} }
} }
] ]

View File

@@ -16,16 +16,18 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparation_order = JsonUtil.jsonToMap(dataRfx)> <#assign preparation_order = JsonUtil.jsonToMap(dataRfx)>
[ [
{
<#-- check preparation type code (internal order and reservation are ignored) -->
<#if preparation_order.preparation_type_code == "010" || order.preparation_type_code == "030">
<#if preparation_order.originator_reference?? && preparation_order.originator_reference!="">
<#-- check preparation type code (internal order and reservation are ignored) -->
<#if preparation_order.preparation_type_code == "010" || preparation_order.preparation_type_code == "030">
<#-- Only if preparation order not confirmed --> <#-- Only if preparation order not confirmed -->
<#if preparation_order.preparation_order_confirmed == "false" > <#if preparation_order.preparation_order_confirmed == "false" >
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrPro_ExecutionflowDetected.ftl"> <#include "RFXtoRP_HsrPro_ExecutionflowDetected.ftl">
}
<#else> <#else>
<#stop "preparation order already confirmed"> <#stop "preparation order already confirmed">
</#if> </#if>
@@ -33,7 +35,10 @@
<#else> <#else>
<#stop "preparation order type not supported"> <#stop "preparation order type not supported">
</#if> </#if>
} <#else>
<#stop "PRO reference is empty">
</#if>
] ]
<#break> <#break>
@@ -43,12 +48,16 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparation_order = JsonUtil.jsonToMap(dataRfx)> <#assign preparation_order = JsonUtil.jsonToMap(dataRfx)>
[ [
<#if preparation_order.originator_reference?? && preparation_order.originator_reference!="">
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrPro_ExecutionflowCancelled.ftl"> <#include "RFXtoRP_HsrPro_ExecutionflowCancelled.ftl">
} }
<#else>
<#stop "PRO reference is empty">
</#if>
] ]
<#break> <#break>

View File

@@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparation_order.originator_reference}", "RefID": "${preparation_order.originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${preparation_status_datetime}", "DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${preparation_order.originator_reference}", "RefID": "${preparation_order.originator_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${pro_creation_datetime}", "DateTime": "${pro_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
@@ -23,10 +23,10 @@
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl">, <#include "RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl">,
<#-- Add transport grade code <#-- Add transport grade code
<#if preparation_order.transport_grade_code!=""> <#if preparation_order.transport_grade_code!="">
"CarrierService":"${preparation_order.transport_grade_code}", "CarrierService":"${preparation_order.transport_grade_code?trim?json_string}",
</#if> --> </#if> -->
"ShipFrom": { "ShipFrom": {
"ActorID": "${preparation_order.physical_depot_code}" "ActorID": "${preparation_order.physical_depot_code?trim?json_string}"
}, },
"ShipFromAcked": true, "ShipFromAcked": true,
"ShipTo": { "ShipTo": {
@@ -68,7 +68,7 @@
"FirstName" : "${preparation_order.address.first_name?json_string!""}", "FirstName" : "${preparation_order.address.first_name?json_string!""}",
"LastName" : "${preparation_order.address.last_name?json_string!""}", "LastName" : "${preparation_order.address.last_name?json_string!""}",
"Emails" : ${splitEmailsIntoArray(preparation_order.address.mail_address!""?json_string)}, "Emails" : ${splitEmailsIntoArray(preparation_order.address.mail_address!""?json_string)},
"Phones" : ["${preparation_order.address.mobile_phone_number!""}","${preparation_order.address.land_line_phone_number!""}", "${preparation_order.address.fax_number!""}" ] "Phones" : ["${preparation_order.address.mobile_phone_number?json_string!""}","${preparation_order.address.land_line_phone_number?json_string!""}", "${preparation_order.address.fax_number?json_string!""}" ]
} }
</#if> </#if>
}, },
@@ -89,8 +89,8 @@
{ {
"Goods": "Goods":
{ {
"ItemID": "${preparation_order_line.item_code!"0"}", "ItemID": "${preparation_order_line.item_code?trim?json_string!"0"}",
"LVBranchID": "${preparation_order_line.item_lv_code!"0"}", "LVBranchID": "${preparation_order_line.item_lv_code?json_string!"0"}",
<#if (preparation_order_line.optional_attributes.forced_priority_date?length != 0) && (preparation_order_line.optional_attributes.forced_priority_date?starts_with("00") == false)> <#if (preparation_order_line.optional_attributes.forced_priority_date?length != 0) && (preparation_order_line.optional_attributes.forced_priority_date?starts_with("00") == false)>
<#assign forced_priority_date = preparation_order_line.optional_attributes.forced_priority_date?datetime(rfx_date_format_default)?iso_utc /> <#assign forced_priority_date = preparation_order_line.optional_attributes.forced_priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${forced_priority_date}", "PriorityDate": "${forced_priority_date}",

View File

@@ -15,7 +15,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign receipt = JsonUtil.jsonToMap(dataRfx)> <#assign receipt = JsonUtil.jsonToMap(dataRfx)>
<#if receipt.receipt_reference ?? && receipt.receipt_reference!="">
<#if receipt.receipt_type = "030"> <#if receipt.receipt_type = "030">
<#stop "ignored message because receipt type = transfert"> <#stop "ignored message because receipt type = transfert">
<#else> <#else>
@@ -36,18 +36,22 @@
} }
] ]
</#if> </#if>
<#else>
<#stop "Receipt reference is empty">
</#if>
<#break> <#break>
<#case "U"> <#case "U">
<#-- *********************************************** Action = UPDATE ******************** --> <#-- *********************************************** Action = UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign receipt = JsonUtil.jsonToMap(dataRfx)> <#assign receipt = JsonUtil.jsonToMap(dataRfx)>
[ [
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
<#if receipt.receipt_confirmed == "true" > <#if receipt.receipt_confirmed == "true" >
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ReceiptCompleted> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowReceiptCompleted>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrReceiptList_ReceiptCompleted.ftl"> <#include "RFXtoRP_HsrReceiptList_ExecutionflowReceiptCompleted.ftl">
} }
<#else> <#else>
<#if receipt.receipt_type = "030"> <#if receipt.receipt_type = "030">
@@ -64,10 +68,12 @@
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrReceiptList_ReceiptExpected.ftl"> <#include "RFXtoRP_HsrReceiptList_ReceiptExpected.ftl">
} }
</#if> </#if>
</#if> </#if>
<#else>
<#stop "Receipt reference is empty">
</#if>
] ]
<#break> <#break>
@@ -76,14 +82,17 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign receipt = JsonUtil.jsonToMap(dataRfx)> <#assign receipt = JsonUtil.jsonToMap(dataRfx)>
[ [
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
{ {
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled> <#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl"> <#include "RFXtoRP_HsrReceiptList_ExecutionflowCancelled.ftl">
} }
<#else>
<#stop "Receipt reference is empty">
</#if>
] ]
<#break> <#break>

View File

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

View File

@@ -8,7 +8,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${receipt.receipt_reference}", "RefID": "${receipt.receipt_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${receipt_creation_datetime}", "DateTime": "${receipt_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"
@@ -25,16 +25,16 @@
"ShipFrom": "ShipFrom":
{ {
"ActorID": "${receipt.original_code}" "ActorID": "${receipt.original_code?trim?json_string}"
}, },
"ShipTo" : "ShipTo" :
{ {
"ActorID": "${receipt.physical_depot_code}" "ActorID": "${receipt.physical_depot_code?trim?json_string}"
}, },
"ShipToAcked": true, "ShipToAcked": true,
<#if receipt.carrier_informations.carrier_code != ""> <#if receipt.carrier_informations.carrier_code != "">
"Carrier" : {"ActorID": "${receipt.carrier_informations.carrier_code}"}, "Carrier" : {"ActorID": "${receipt.carrier_informations.carrier_code?trim?json_string}"},
</#if> </#if>
@@ -49,15 +49,18 @@
{ {
"Goods": "Goods":
{ {
"ItemID": "${line.item_code!"0"}", "ItemID": "${line.item_code?trim?json_string!"0"}",
"LVBranchID": "${line.item_lv_code!"0"}", "LVBranchID": "${line.item_lv_code?json_string!"0"}",
<#if line.line_without_detail??> <#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)>
<#if (line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)>
<#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc /> <#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${line_without_detail_priority_date}", "PriorityDate": "${line_without_detail_priority_date}",
</#if>
<#else> <#else>
<#stop "line with detail"> <#if (line.line_detail?? && line.line_detail.priority_date?length != 0) && (line.line_detail.priority_date?starts_with("00") == false)>
<#assign line_detail_priority_date = line.line_detail.priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${line_detail_priority_date}",
<#else>
"PriorityDate": "1970-01-01T00:00:00Z",
</#if>
</#if> </#if>
<#-- Segmentation Keys inclusion --> <#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl"> <#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl">

View File

@@ -7,7 +7,7 @@
"ProjectID": "${projectRP}" "ProjectID": "${projectRP}"
}, },
"ID": { "ID": {
"RefID": "${receipt.receipt_reference}", "RefID": "${receipt.receipt_reference?trim?json_string}",
"RefDate": { "RefDate": {
"DateTime": "${receipt_status_datetime}", "DateTime": "${receipt_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}" "AuthorTimeZone": "${time_zone_rfx}"

View File

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

View File

@@ -35,7 +35,7 @@
"ContextPayload": "rfxresponse", "ContextPayload": "rfxresponse",
"Type": "RP_EXECUTIONFLOW_EVENT", "Type": "RP_EXECUTIONFLOW_EVENT",
"Task": "${id.apiRestReflexID}", "Task": "${id.apiRestReflexID}",
"OriginalID": "${id.refid}", "OriginalID": "${id.refid?trim?json_string}",
"StackTrace": "" "StackTrace": ""
} }
} }

View File

@@ -36,6 +36,12 @@
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_PlatformLogCreate.ftl"> <#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
} }
] ]
</#if> </#if>
@@ -52,6 +58,12 @@
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_PlatformLogCreate.ftl"> <#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
} }
] ]
</#switch> </#switch>
@@ -81,6 +93,12 @@
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_PlatformLogCreate.ftl"> <#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
} }
] ]
@@ -98,6 +116,12 @@
"apiReflexPlatformID" : "${apiReflexPlatformID}", "apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" : "datas" :
<#include "RFXtoRP_PlatformLogCreate.ftl"> <#include "RFXtoRP_PlatformLogCreate.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowAllocationError>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_RestResponseAllocationError.ftl">
} }
] ]
</#switch> </#switch>

View File

@@ -0,0 +1,20 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${id.refid?trim?json_string}",
"RefDate": {
"DateTime": "${aDateTime?iso_utc}",
"AuthorTimeZone": "${time_zone_rfx}"
}
},
"Payload": {}
}
]

View File

@@ -2,6 +2,8 @@
<#-- input : message RFX --> <#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform --> <#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform --> <#-- organisation : organisationtId in ReflexPlatform -->
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign eventRP = JsonUtil.jsonToMap(input)> <#assign eventRP = JsonUtil.jsonToMap(input)>
<#assign projectRP = project> <#assign projectRP = project>

View File

@@ -1,7 +1,18 @@
<#include "RPtoRFX_PrepOrder_DefaultHeaderData.ftl"> <#include "RPtoRFX_PrepOrder_DefaultHeaderData.ftl">
<#-- Valeurs par défaut Adresse -->
<#assign aDateTime = .now> <#-- Default values -->
<#assign typecode ="010">
<#assign titlecode ="1">
<#assign contacttypecode ="010">
<#assign adresstypecode ="010">
<#-- Si vous utilisez des acteurs non référencés, il faudra créer un destinataire "VIZ" dans Reflex WMS pour utiliser cette fonctionnalité -->
<#-- If you are using unreferenced actors, you will need to create a "VIZ" consignee in Reflex WMS to use this feature -->
<#assign defaultactor ="VIZ">
<#if executionflow.ShipTo.ActorID?? && executionflow.ShipTo.ActorID!="">
<#assign actorID = executionflow.ShipTo.ActorID >
<#else>
<#assign actorID = defaultactor >
</#if>
{ {
"id" : {"refid" : "${executionflow.OrderID}"}, "id" : {"refid" : "${executionflow.OrderID}"},
@@ -16,11 +27,11 @@
{ {
"originator_reference": "${executionflow.OrderID}", "originator_reference": "${executionflow.OrderID}",
"preparation_type_code": "${preparation_type_code}", "preparation_type_code": "${preparation_type_code}",
"end_consignee_code": "${executionflow.ShipTo.ActorID!""}", "end_consignee_code": "${actorID}",
<#if executionflow.RequestedMilestones?? && executionflow.RequestedMilestones.RequestedDeliveryDateTime??> <#if executionflow.RequestedMilestones?? && executionflow.RequestedMilestones.RequestedDeliveryDateTime??>
"requested_delivery_start_datetime": "${executionflow.RequestedMilestones.RequestedDeliveryDateTime.DateTime}", "requested_delivery_start_datetime": "${DateTimeUTCtoRfxLocale(executionflow.RequestedMilestones.RequestedDeliveryDateTime.DateTime,time_zone_rfx)}",
<#else> <#else>
"requested_delivery_start_datetime": "${aDateTime?iso_utc}", "requested_delivery_start_datetime": "${DateTimeUTCtoRfxLocale(.now?iso_utc?string,time_zone_rfx)}",
</#if> </#if>
"requested_delivery_date_type": "${requested_delivery_date_type}", "requested_delivery_date_type": "${requested_delivery_date_type}",
"consolidated_delivery": "${consolidated_delivery_flag}", "consolidated_delivery": "${consolidated_delivery_flag}",
@@ -34,16 +45,26 @@
"apt_with_intermediate": "false", "apt_with_intermediate": "false",
"load_grouping": "${load_grouping}" "load_grouping": "${load_grouping}"
}, },
<#if executionflow.ShipTo.ActorID == ""> <#if actorID == defaultactor >
"address": { "address": {
"type_code": "${typecode}",
"title_code" : "${titlecode}",
"contact_type_code" : "${contacttypecode}",
"address_type_code" : "${adresstypecode}",
"first_name": "${executionflow.ShipTo.Contact.FirstName!""?json_string}", "first_name": "${executionflow.ShipTo.Contact.FirstName!""?json_string}",
"last_name" :"${executionflow.ShipTo.Contact.Lastname!""?json_string}", "last_name" :"${executionflow.ShipTo.Contact.LastName!""?json_string}",
"mail_address": "${executionflow.ShipTo.Actor.Emails[0]!""}", "name_or_company_name" : "${executionflow.ShipTo.Contact.FirstName!""?json_string} ${executionflow.ShipTo.Contact.LastName!""?json_string}",
"mobile_phone_number": "${executionflow.ShipTo.Actor.Phones[0]!""}", <#if executionflow.ShipTo.Contact.Emails?? && executionflow.ShipTo.Contact.Emails[0]!="">
"mail_address": "${executionflow.ShipTo.Contact.Emails[0]}",
</#if>
<#if executionflow.ShipTo.Contact.Phones?? && executionflow.ShipTo.Contact.Phones[0]!="">
"mobile_phone_number": "${executionflow.ShipTo.Contact.Phones[0]}",
</#if>
"street_and_number_and_po_box": "${executionflow.ShipTo.Actor.Address.StreetAddressOne!""?json_string}", "street_and_number_and_po_box": "${executionflow.ShipTo.Actor.Address.StreetAddressOne!""?json_string}",
"additional_address_data_1": "${executionflow.ShipTo.Actor.Address.StreetAddressTwo!""?json_string}", "additional_address_data_1": "${executionflow.ShipTo.Actor.Address.StreetAddressTwo!""?json_string}",
"additional_address_data_2": "${executionflow.ShipTo.Actor.Address.StreetAddressThree!""?json_string}", "additional_address_data_2": "${executionflow.ShipTo.Actor.Address.StreetAddressThree!""?json_string}",
"postal_code": "${executionflow.ShipTo.Actor.Address.PostalCode!""}", "postal_code": "${executionflow.ShipTo.Actor.Address.PostalCode!""}",
"post_code_area_name" : "${executionflow.ShipTo.Actor.Address.City!""}",
"iso_country_code": "${executionflow.ShipTo.Actor.Address.CountryCode!""}" "iso_country_code": "${executionflow.ShipTo.Actor.Address.CountryCode!""}"
}, },
</#if> </#if>
@@ -76,10 +97,10 @@
"substitution_possible": "false" "substitution_possible": "false"
--> -->
}<#sep>,</#sep> }
<#sep>,</#sep>
</#list> </#list>
</#if> </#if>
] ]
} }
} }

View File

@@ -23,8 +23,22 @@
<#assign protected_flag ="false"/> <#assign protected_flag ="false"/>
<#assign automatic_generation_flag ="false"/> <#assign automatic_generation_flag ="false"/>
<#assign apt_with_end_consignee_flag="false"/> <#assign apt_with_end_consignee_flag="false"/>
<#assign load_grouping = "DEFAUT"/>
<#-- A supprimer si utilisation de la table de correspondance-->
<#--To be deleted if using the correspondence table-->
<#assign load_grouping = "default">
<#-- Table de correspondance Transporteur/Code regroupement chargement,
affectation à un chargement si paramétrage regroupement chargement+plan de base distribution-->
<#--Carrier / Load Grouping Code Correspondence Table,
Assigning to a load if you set up Load Grouping+Distribution Master Plan-->
<#-- Example -->
<#--<#if executionflow.Carrier.ActorID == "TEST" >
<#assign load_grouping = "TEST">
<#else>
<#assign load_grouping = "default">
</#if>-->

View File

@@ -1,5 +1,5 @@
<#include "RPtoRFX_Receipt_DefaultHeaderData.ftl"> <#include "RPtoRFX_Receipt_DefaultHeaderData.ftl">
<#assign aDateTime = .now>
{ {
"id" : {"refid" : "${executionflow.OrderID}"}, "id" : {"refid" : "${executionflow.OrderID}"},
"route" : "rest/public/v1/activities/{activity_code}/physical_depots/{physical_depot_code}/originators/{originator_code}/receipts", "route" : "rest/public/v1/activities/{activity_code}/physical_depots/{physical_depot_code}/originators/{originator_code}/receipts",
@@ -19,9 +19,9 @@
"carrier_code" : "${executionflow.Carrier.ActorID!""}", "carrier_code" : "${executionflow.Carrier.ActorID!""}",
<#if executionflow.RequestedMilestones?? && executionflow.RequestedMilestones.RequestedDeliveryDateTime??> <#if executionflow.RequestedMilestones?? && executionflow.RequestedMilestones.RequestedDeliveryDateTime??>
"receipt_datetime": "${executionflow.RequestedMilestones.RequestedDeliveryDateTime.DateTime}", "receipt_datetime": "${DateTimeUTCtoRfxLocale(executionflow.RequestedMilestones.RequestedDeliveryDateTime.DateTime,time_zone_rfx)}",
<#else> <#else>
"receipt_datetime": "${aDateTime?iso_utc}", "receipt_datetime": "${DateTimeUTCtoRfxLocale(.now?iso_utc?string,time_zone_rfx)}",
</#if> </#if>
"carrier_appointment_made": "false", "carrier_appointment_made": "false",
"receipt_in_cross_docking": "false", "receipt_in_cross_docking": "false",

View File

@@ -2,19 +2,21 @@
<#-- Concat reflex timestamp with reflex time zone and format this date in ISO UTC format --> <#-- Concat reflex timestamp with reflex time zone and format this date in ISO UTC format -->
<#-- --------------------------------------------------------------------------------------- --> <#-- --------------------------------------------------------------------------------------- -->
<#function RfxDateTimetoUTC rfxdatetime offset > <#function RfxDateTimetoUTC rfxdatetime offset >
<#assign datetimeUTC = JsonUtil.createUTCDateTime(rfxdatetime,time_zone_rfx , "yyyy-MM-dd'T'HH:mm:ss") /> <#return ((rfxdatetime + offset)?datetime.iso?iso_utc)>
<#return (datetimeUTC)> </#function>
<#function DateTimeUTCtoRfxLocale dateutc locale >
<#return dateutc?datetime.iso?iso_nz(locale)>
</#function> </#function>
<#-- --------------------------------------------------------------------------------------- --> <#-- --------------------------------------------------------------------------------------- -->
<#-- Split email reflex into json array string --> <#-- Split email reflex into json array string -->
<#-- Example : splitemail "john.doe@hardis-group.com,; name@hardis-group.com" --> <#-- Example : splitemail "john.doe@hardis-group.com,; name@hardis-group.com" -->
<#-- return "["john.doe@hardis-group.com","name@hardis-group.com"]" --> <#-- return "["john.doe@hardis-group.com","name@hardis-group.com"]" -->
<#-- ${splitEmailsIntoArray(emailReflex)} -->
<#-- --------------------------------------------------------------------------------------- --> <#-- --------------------------------------------------------------------------------------- -->
<#function splitEmailsIntoArray emails > <#function splitEmailsIntoArray emails >
<#local str = "["> <#local str = "[">
<#list emails?split(';|,| ',"r")?filter(l -> l != "") as email> <#list emails?split(";|,| |à|/","r")?filter(l -> l != "") as email>
<#if email?matches("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$")> <#if email?matches("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$")>
<#if str != "["> <#if str != "[">
<#local str += ","> <#local str += ",">

View File

@@ -1 +1 @@
1.2.2+1 1.2.16+4