Compare commits

...

119 Commits

Author SHA1 Message Date
892812e85e Release 1.2.12+1 2024-02-16 11:51:17 +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
3a9620e3ee Release 1.2.2+1 2024-01-26 10:56:09 +01:00
d5573b6dba Merge branch 'SCPN-5764' into 'release/1.2'
Modifs RPtoRFX 2301241050

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

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

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

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

See merge request r-d-technique/tiers/reflex-wms-connector!7
2024-01-10 09:33:49 +00:00
d94a74d399 Partial Merge branch 'develop' into SCPN1-5651 2024-01-09 17:17:26 +01:00
61753efabe Modifs JsonString 0901241701 2024-01-09 17:01:45 +01:00
c6a91f1980 Modifs RestResponse 0901241639 2024-01-09 16:39:30 +01:00
39ab7c4ce7 Modifs RPtoRFX 0901241622 2024-01-09 16:22:10 +01:00
e808925e0a Modifs RPtoRFX 0901241007 2024-01-09 10:08:49 +01:00
c103fc7f5a Modifs RPtoRFX 0901240955 2024-01-09 09:56:00 +01:00
1a9454cd2f Modifs Email 0801241009 2024-01-08 10:09:17 +01:00
aaf8fc5bb6 Modifs 0501241702 2024-01-05 17:02:33 +01:00
7acf529870 Modifs RPtoRFX_Order 2024-01-05 14:04:58 +01:00
47326a6b0c Modifs 0401241551 2024-01-04 15:51:04 +01:00
cb0385a64f Modifs 0401241457 2024-01-04 14:57:31 +01:00
a882ac4b86 Release 1.2.8+2 2024-01-03 14:42:40 +01:00
d2d9443fc7 bug SCPN1-5632 2024-01-03 13:32:45 +01:00
a5fa0dbfd9 Modifs HsrPro_ExecutionflowCancelled 0301231159 2024-01-03 11:59:20 +01:00
ca2dfe3fb2 Modifs 0301231029 2024-01-03 10:29:22 +01:00
980a44c1be Modifs 0301231014 2024-01-03 10:14:45 +01:00
6faa6bb4fc Modifs 0301240942 2024-01-03 09:42:44 +01:00
8b4103e50d Modifs 0201241109 2024-01-02 11:09:20 +01:00
bff543d852 Modifs 0201241057 2024-01-02 10:57:46 +01:00
0b71455e6f Modifs 0201241034 2024-01-02 10:34:43 +01:00
18f1bb3749 Modifs 2812231059 2023-12-28 10:59:43 +01:00
8211fcebf0 Modifs 2812231056 2023-12-28 10:56:19 +01:00
fcfb9206c0 Modifs 2812231048 2023-12-28 10:48:31 +01:00
59afa9fd65 Modifs 2812230930 2023-12-28 09:30:10 +01:00
07188a5c20 Modifs 2712231659 2023-12-27 16:59:30 +01:00
137982fcc0 Modifs 2712231641 2023-12-27 16:41:21 +01:00
64c35417b3 Modifs 2712231622 2023-12-27 16:22:25 +01:00
b6bf4d2be8 Modifs 2712231544 2023-12-27 15:44:15 +01:00
86a4180718 Modifs 2712231520 2023-12-27 15:20:53 +01:00
108e30d129 Modifs 2712231507 2023-12-27 15:07:45 +01:00
dd1d4980a8 Modifs 2112231116 2023-12-21 11:16:23 +01:00
8f212cf7c9 modifs 2012231201 2023-12-20 12:01:56 +01:00
c2e0cb7a15 Modifs 2012231153 2023-12-20 11:53:09 +01:00
7505c15a4a Modifs 2012231148 2023-12-20 11:48:59 +01:00
705ad9be63 Modifs 2012231139 2023-12-20 11:40:05 +01:00
7e2c22b4c9 Modifs 2012231135 2023-12-20 11:36:00 +01:00
27f2e18f0f Modifs 2012231122 2023-12-20 11:22:03 +01:00
783d7efd04 Modifs 2012231047 2023-12-20 10:47:18 +01:00
e319d273bb Modifs 2012231044 2023-12-20 10:44:03 +01:00
cb1793bf22 Modifs 1912231717 2023-12-19 17:17:54 +01:00
eac8ddc598 Modifs 1812231038 2023-12-18 10:38:42 +01:00
ba43f65277 Modifs 1512231750 2023-12-15 17:50:45 +01:00
b3cfa5c66d modifs 1512231745 2023-12-15 17:45:03 +01:00
882709f01b Modifs 1512231734 2023-12-15 17:35:01 +01:00
38ef2bd3df modifs 1512231727 2023-12-15 17:27:23 +01:00
cd75521f81 Modifs 1512231721 2023-12-15 17:21:12 +01:00
943a02d5f3 Modifs 1512231720 2023-12-15 17:20:40 +01:00
68e6840512 Modifs 1512231712 2023-12-15 17:12:36 +01:00
26facb3d6a Modifs 1512231705 2023-12-15 17:05:22 +01:00
7a3223a1ac Modifs 1512231613 2023-12-15 16:15:49 +01:00
7d32478c1b modifs 1512231548 2023-12-15 15:48:26 +01:00
88307561d2 Modifs 1512231545 2023-12-15 15:45:27 +01:00
2bdc02a1d4 Motifs 1512231531 2023-12-15 15:31:40 +01:00
e709d7d78a Modifs 1512231424 2023-12-15 14:24:36 +01:00
03f53c0fd0 Modifs 1512231407 2023-12-15 14:07:51 +01:00
ac731180db Modifs 1512231109 2023-12-15 11:10:02 +01:00
97d08b554c Modifs 1312231434 2023-12-13 14:34:51 +01:00
4636ca6c42 modifs 1312231423 2023-12-13 14:24:04 +01:00
8f066d7f62 Modifs 1312231411 2023-12-13 14:11:22 +01:00
dfdfd8c60e Modifs 1312231218 2023-12-13 12:18:31 +01:00
41447dbc35 Modifs 1212231643 2023-12-12 16:43:56 +01:00
ae338b00d1 Modifs 12121549 2023-12-12 15:49:58 +01:00
14243be12f Modifs 1212231545 2023-12-12 15:45:36 +01:00
c5c5f2bef7 Modifs 1212231532 2023-12-12 15:32:53 +01:00
edc5142c3f Modifs 1212231511 2023-12-12 15:11:12 +01:00
c79ab16480 Modifs 1212231425 2023-12-12 14:25:58 +01:00
97474cf5e4 Modifs 1212231201 2023-12-12 12:01:40 +01:00
0115159507 Modifs 1212231156 2023-12-12 11:56:33 +01:00
5222b56cc3 Modifs 1212231150 2023-12-12 11:50:23 +01:00
c27aec2730 modifs 1212231111 2023-12-12 11:11:59 +01:00
b286711d56 Modifs 1212231104 2023-12-12 11:04:13 +01:00
ba7ce14568 modifs 1212231058 2023-12-12 10:58:30 +01:00
02eb8cbe4e Modifs 1212231052 2023-12-12 10:52:22 +01:00
dbde25f5d3 Modifs 1212231047 2023-12-12 10:47:56 +01:00
fbba0ede34 Merge branch 'develop' of https://gitlab.hardis-group.com/r-d-technique/tiers/reflex-wms-connector into develop 2023-12-12 09:46:36 +01:00
adaedeec31 Modifs HsrPrepa 121223 2023-12-12 09:46:28 +01:00
fe66e643c0 SCPN1-5358 mise à vide des valeurs 2023-12-12 08:44:05 +01:00
43553eb1e4 Modifs HSRprepa 111223 2023-12-11 13:56:25 +01:00
1ed9617af7 Modifs hsrprepa 111223 2023-12-11 13:31:26 +01:00
1de8a56410 modifs lmo 2023-12-08 12:23:16 +01:00
30ae93b9e7 Release 1.2.8+1 2023-12-06 15:48:59 +01:00
64e03640d1 Release 1.2.7+2 2023-12-01 16:06:45 +01:00
270f90a9b3 Modif HsrPrepa 0112231019 2023-12-01 16:05:47 +01:00
b5c85220b5 Modifs FTL 2211231645 2023-12-01 16:05:36 +01:00
2409cf3a01 Modif FTL 2211231459 2023-12-01 16:05:11 +01:00
957df51487 Modifs FTL 2211231443 2023-12-01 16:04:57 +01:00
d09fa33577 Modif 2011231720 HsrPro 2023-12-01 16:04:46 +01:00
3bcdec1d5d Modif alignement champs techniques Reflex HsrPro 2011231657 2023-12-01 16:04:35 +01:00
b4ea1e7798 Release 1.2.7+1 2023-12-01 14:29:46 +01:00
80aecb3aa7 Update VERSION 2023-12-01 13:27:11 +00:00
e02218f7b1 Release 1.2.6+2 2023-12-01 14:23:58 +01:00
9bb625bade Modif HsrPrepa 0112231019 2023-12-01 10:20:01 +01:00
6270992346 Release 1.2.6+1 2023-11-23 10:02:38 +01:00
e093ea7c07 Modifs FTL 2211231645 2023-11-22 16:45:11 +01:00
3d9ec5b813 Modif FTL 2211231459 2023-11-22 14:59:25 +01:00
6b4f7e2ccc Modifs FTL 2211231443 2023-11-22 14:43:53 +01:00
0485a637af Modif 2011231720 HsrPro 2023-11-20 17:20:54 +01:00
293a4fb65c Modif alignement champs techniques Reflex HsrPro 2011231657 2023-11-20 16:57:25 +01:00
a544f6700d Release 1.2.6 2023-11-03 09:23:43 +01:00
04ec57377a Release 1.2.5 2023-10-24 16:47:19 +02:00
23 changed files with 254 additions and 167 deletions

View File

@@ -25,7 +25,9 @@
"ItemID": "${stock.item_code}",
"LVBranchID": "${stock.item_logistical_variant_code}",
<#assign priority_date = stock.priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate" : "${priority_date}",
<#if (stock.priority_date!="") && (stock.priority_date?starts_with("00")== false) >
"PriorityDate" : "${priority_date}",
</#if>
<#-- Segmentation keys inclusion -->
<#include "RFXtoRP_HfDtlStockLs_StockSnapshotted_SegmentationKeys.ftl">

View File

@@ -22,7 +22,7 @@
"Address":
{
<#-- if Reflex WMS address is structured -->
<#if carrier.carrier_structured_address?? >
<#if carrier.carrier_structured_address?? >
"Name": "${carrier.carrier_structured_address.name_or_company?json_string}",
"StreetAddressOne" : "${carrier.carrier_structured_address.street_and_PO?json_string}",
@@ -35,16 +35,19 @@
<#-- if Reflex WMS address is not structured -->
<#else>
"Name": "${carrier.address.company_name?json_string}",
"StreetAddressOne" : "${carrier.address.address_1?json_string}",
"StreetAddressTwo" : "${carrier.address.address_2?json_string}",
"StreetAddressThree" : "${carrier.address.address_3?json_string}"
<#if carrier.address??>
"Name": "${carrier.address.company_name?json_string}",
"StreetAddressOne" : "${carrier.address.address_1?json_string}",
"StreetAddressTwo" : "${carrier.address.address_2?json_string}",
"StreetAddressThree" : "${carrier.address.address_3?json_string}"
</#if>
</#if>
},
"Phones": ["${carrier.address.telephone?json_string}",
<#if carrier.address??>
"Phones": ["${carrier.address.telephone?json_string}",
"${carrier.address.other_number?json_string}"
],
</#if>
"Typology": "TYPOLOGY_CARRIER"
}
}

View File

@@ -35,18 +35,20 @@
<#-- if Reflex WMS is not structured -->
<#else>
<#if actor.address?? >
"Name": "${actor.address.company_name?json_string}",
"StreetAddressOne" : "${actor.address.address_1?json_string}",
"StreetAddressTwo" : "${actor.address.address_2?json_string}",
"StreetAddressThree" : "${actor.address.address_3?json_string}"
"Name": "${actor.address.company_name?json_string}",
"StreetAddressOne" : "${actor.address.address_1?json_string}",
"StreetAddressTwo" : "${actor.address.address_2?json_string}",
"StreetAddressThree" : "${actor.address.address_3?json_string}"
</#if>
</#if>
},
"Phones": ["${actor.address.telephone?json_string}",
<#if actor.address?? >
"Phones": ["${actor.address.telephone?json_string}",
"${actor.address.other_number?json_string}"
],
],
</#if>
"Typology": "TYPOLOGY_UNKNOWN"
}
}

View File

@@ -45,7 +45,7 @@
>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.GoodsReceived>
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsReceived>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsaIpgMove_GoodsReceived.ftl">
@@ -58,7 +58,7 @@
</#if>
</#if>
<#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">
</#if>
<#break>

View File

@@ -43,7 +43,7 @@
"ExternalMoveRef" : "${reflexMvtStockInterface.ipg_move_year_number} - ${reflexMvtStockInterface.ipg_move_number}",
"Type": "${MoveType_KV[reflexMvtStockInterface.ipg_move_type]!reflexMvtStockInterface.ipg_move_type}",
"Reason": "${reflexMvtStockInterface.miscellaneous_receipts_despatches_code}",
"ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference}",
"ExternalInfo" : "${reflexMvtStockInterface.stock_move_reference?json_string}",
<#if reflexMvtStockInterface.ipg_move_operation_year_number!= 0>
"OperationReference": "${reflexMvtStockInterface.ipg_move_operation_year_number} - ${reflexMvtStockInterface.ipg_move_operation_number}",
</#if>

View File

@@ -16,7 +16,7 @@
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparationStatusInterface = JsonUtil.jsonToMap(dataRfx) />
[
<#--**Pick batch runned (100) **-->
<#--**Pick batch runned (200) **-->
<#if preparationStatusInterface.preparation_status_type == "100" && preparationStatusInterface.preparation_status_code == "200" >
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowPreparationExpected>

View File

@@ -34,16 +34,20 @@
<#-- if Reflex WMS address is not structured -->
<#else>
"Name": "${actor.optional_attributes.company_name?json_string}",
"StreetAddressOne" : "${actor.optional_attributes.address_1?json_string}",
"StreetAddressTwo" : "${actor.optional_attributes.address_2?json_string}",
"StreetAddressThree" : "${actor.optional_attributes.address_3?json_string}"
<#if actor.optional_attributes?? >
"Name": "${actor.optional_attributes.company_name?json_string}",
"StreetAddressOne" : "${actor.optional_attributes.address_1?json_string}",
"StreetAddressTwo" : "${actor.optional_attributes.address_2?json_string}",
"StreetAddressThree" : "${actor.optional_attributes.address_3?json_string}"
</#if>
</#if>
},
"Phones": ["${actor.optional_attributes.telephone?json_string}",
"${actor.optional_attributes.other_number?json_string}"
],
<#if actor.optional_attributes?? >
"Phones": ["${actor.optional_attributes.telephone?json_string}",
"${actor.optional_attributes.other_number?json_string}"
],
</#if>
"Typology": "TYPOLOGY_UNKNOWN"
}
}

View File

@@ -2,57 +2,59 @@
<#-- input : message RFX -->
<#-- project : projectId in ReflexPlatform -->
<#-- organisation : organisationtId in ReflexPlatform -->
<#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 preparationOrder = JsonUtil.jsonToMap(dataRfx)>
[
<#case "C">
<#--<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign preparationOrder = JsonUtil.jsonToMap(dataRfx)>
<#if preparationOrder.total_lv_validated !=0>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.GoodsPrepared>
<#assign apiReflexPlatformID = ApiReflexPlatformID.GoodsPrepared>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_GoodsPrepared.ftl">
},
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched>
<#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl">
}
<#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list??) as preparation_line>
<#list preparation_line.despatched_ipg_list as despatched_ipg>
<#if despatched_ipg.consignment_unit_id != "">
,
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl">
}
</#if>
<#list preparation_line.despatched_ipg_list as despatched_ipg>
<#if despatched_ipg.consignment_unit_id != "">
,
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
<#include "RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl">
}
</#if>
</#list>
</#list>
]
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#stop "event not supported (Case D)">
<#break>
<#default>
<#stop "event not supported">
</#switch>
]
<#else>
<#stop "no confirmed quantity for the preparation - preparation closed">
</#if>
<#break>
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#stop "event not supported (Case D)">
<#break>
<#default>
<#stop "event not supported">
</#switch>

View File

@@ -33,42 +33,46 @@
"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 = JsonUtil.createUTCDateTime(despatched_ipg.ipg_manufacture_date) /> -->
<#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 = JsonUtil.createUTCDateTime(despatched_ipg.ipg_receipt_date) /> -->
<#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 = JsonUtil.createUTCDateTime(despatched_ipg.ipg_best_before_date) /> -->
<#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 = JsonUtil.createUTCDateTime(despatched_ipg.ipg_sell_by_date) /> -->
<#assign priority_date = despatched_ipg.ipg_sell_by_date?datetime(rfx_date_format_default)?iso_utc />
<#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 = JsonUtil.createUTCDateTime(despatched_ipg.ipg_use_by_date) /> -->
<#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>
</#if>
<#-- Segmentation Keys inclusion -->
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl">
},
"ExecutionflowID": "${preparation_line.preparation_order_originator_reference}",
"LineID": "${preparation_line.pro_line_number}",
<#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}",

View File

@@ -14,14 +14,14 @@
<#case "U">
<#-- *********************************************** Action = CREATE or UPDATE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign order = JsonUtil.jsonToMap(dataRfx)>
<#assign preparation_order = JsonUtil.jsonToMap(dataRfx)>
[
{
<#-- check preparation type code (internal order and reservation are ignored) -->
<#if order.preparation_type_code == "010" || order.preparation_type_code == "030">
<#if preparation_order.preparation_type_code == "010" || order.preparation_type_code == "030">
<#-- Only if preparation order not confirmed -->
<#if order.preparation_order_confirmed == "false" >
<#if preparation_order.preparation_order_confirmed == "false" >
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowDetected>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
@@ -41,7 +41,7 @@
<#case "D">
<#-- *********************************************** Action = DELETE ******************** -->
<#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) />
<#assign order = JsonUtil.jsonToMap(dataRfx)>
<#assign preparation_order = JsonUtil.jsonToMap(dataRfx)>
[
{
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowCancelled>

View File

@@ -1,13 +1,13 @@
<#include "HfRpConfig.ftl">
<#include "ReflexUtils.ftl">
<#assign preparation_status_datetime = RfxDateTimetoUTC(order.modification_datetime,time_zone_offset_rfx) />
<#assign preparation_status_datetime = RfxDateTimetoUTC(preparation_order.modification_datetime,time_zone_offset_rfx) />
[
{
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${order.originator_reference}",
"RefID": "${preparation_order.originator_reference}",
"RefDate": {
"DateTime": "${preparation_status_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"

View File

@@ -2,13 +2,13 @@
<#include "ReflexUtils.ftl">
[
{
<#assign planned_final_delivery_start_datetime = RfxDateTimetoUTC(order.planned_final_delivery_start_datetime,time_zone_offset_rfx) />
<#assign pro_creation_datetime = RfxDateTimetoUTC(order.creation_datetime,time_zone_offset_rfx) />
<#assign planned_final_delivery_start_datetime = RfxDateTimetoUTC(preparation_order.planned_final_delivery_start_datetime,time_zone_offset_rfx) />
<#assign pro_creation_datetime = RfxDateTimetoUTC(preparation_order.creation_datetime,time_zone_offset_rfx) />
"Header": {
"ProjectID": "${projectRP}"
},
"ID": {
"RefID": "${order.originator_reference}",
"RefID": "${preparation_order.originator_reference}",
"RefDate": {
"DateTime": "${pro_creation_datetime}",
"AuthorTimeZone": "${time_zone_rfx}"
@@ -21,47 +21,66 @@
},
<#-- Header Metadata inclusion -->
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl">,
<#-- Add transport grade code
<#if preparation_order.transport_grade_code!="">
"CarrierService":"${preparation_order.transport_grade_code}",
</#if> -->
"ShipFrom": {
"ActorID": "${order.physical_depot_code}"
"ActorID": "${preparation_order.physical_depot_code}"
},
"ShipFromAcked": true,
"ShipTo": {
<#if order.address.type_code == "" && order.address.title_code == "" && order.address.first_name == "" && order.address.last_name == "" && order.address.mail_address == "" && order.address.contact_type_code == "" && order.address.mobile_phone_number == "" && order.address.land_line_phone_number == "" && order.address.fax_number == "" && order.address.address_type_code == "" && order.address.name_or_company_name == "" && order.address.additional_address_data_1 == "" && order.address.additional_address_data_2 == "" && order.address.post_code_area_name == "" && order.address.territorial_division_code == "" && order.address.postal_code == "" && order.address.iso_country_code == "">
"ActorID": "${order.end_consignee_code}"
<#if
<#-- preparation_order.address.type_code == "" &&
preparation_order.address.title_code == "" &&
preparation_order.address.first_name == "" &&
preparation_order.address.last_name == "" &&
preparation_order.address.mail_address == "" &&
preparation_order.address.contact_type_code == "" &&
preparation_order.address.mobile_phone_number == "" &&
preparation_order.address.land_line_phone_number == "" &&
preparation_order.address.fax_number == "" && -->
preparation_order.address.address_type_code == "" &&
preparation_order.address.name_or_company_name == "" &&
preparation_order.address.additional_address_data_1 == "" &&
preparation_order.address.additional_address_data_2 == "" &&
preparation_order.address.post_code_area_name == "" &&
preparation_order.address.territorial_division_code == "" &&
preparation_order.address.postal_code == "" &&
preparation_order.address.iso_country_code == "">
"ActorID": "${preparation_order.end_consignee_code}"
<#else>
"Actor":
{
"Name" : "${order.address.name_or_company_name!""}",
"Name" : "${preparation_order.address.name_or_company_name?json_string!""}",
"Address" :
{
"City" : "${order.address.post_code_area_name!""}",
"CountryCode" : "${order.address.iso_country_code!""}",
"PostalCode" : "${order.address.postal_code!""}",
"StreetAddressOne" : "${order.address.street_and_number_and_po_box!""}",
"StreetAddressTwo" : "${order.address.additional_address_data_1!""}",
"StreetAddressThree" : "${order.address.additional_address_data_2!""}"
"City" : "${preparation_order.address.post_code_area_name?json_string!""}",
"CountryCode" : "${preparation_order.address.iso_country_code!""}",
"PostalCode" : "${preparation_order.address.postal_code!""}",
"StreetAddressOne" : "${preparation_order.address.street_and_number_and_po_box?json_string!""}",
"StreetAddressTwo" : "${preparation_order.address.additional_address_data_1?json_string!""}",
"StreetAddressThree" : "${preparation_order.address.additional_address_data_2?json_string!""}"
}
},
"Contact" :
"Contact" :
{
"FirstName" : "${order.address.first_name!""}",
"LastName" : "${order.address.last_name!""}",
"Emails" : ["${order.address.mail_address!""}"],
"Phones" : ["${order.address.mobile_phone_number!""}","${order.address.land_line_phone_number!""}", "${order.address.fax_number!""}" ]
}
"FirstName" : "${preparation_order.address.first_name?json_string!""}",
"LastName" : "${preparation_order.address.last_name?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!""}" ]
}
</#if>
},
<#if order.line_list??>
<#if preparation_order.line_list??>
"Lines" : [
<#list order.line_list as line>
<#list preparation_order.line_list as preparation_order_line >
{
<#if (line.originator_reference_line_number!0) != 0>
"LineID": "${line.originator_reference_line_number}",
<#if (preparation_order_line.originator_reference_line_number!0) != 0>
"LineID": "${preparation_order_line.originator_reference_line_number}",
<#else>
"LineID": "${line.preparation_order_line_number!0}",
"LineID": "${preparation_order_line.preparation_order_line_number!0}",
</#if>
<#-- Line Metadata inclusion -->
<#include "RFXtoRP_HsrPro_ExecutionflowDetected_LineMetadata.ftl">,
@@ -70,10 +89,10 @@
{
"Goods":
{
"ItemID": "${line.item_code!"0"}",
"LVBranchID": "${line.item_lv_code!"0"}",
<#if (line.optional_attributes.forced_priority_date?length != 0) && (line.optional_attributes.forced_priority_date?starts_with("00") == false)>
<#assign forced_priority_date = line.optional_attributes.forced_priority_date?datetime(rfx_date_format_default)?iso_utc />
"ItemID": "${preparation_order_line.item_code!"0"}",
"LVBranchID": "${preparation_order_line.item_lv_code!"0"}",
<#if (preparation_order_line.optional_attributes.forced_priority_date?length != 0) && (preparation_order_line.optional_attributes.forced_priority_date?starts_with("00") == false)>
<#assign forced_priority_date = preparation_order_line.optional_attributes.forced_priority_date?datetime(rfx_date_format_default)?iso_utc />
"PriorityDate": "${forced_priority_date}",
</#if>
@@ -84,7 +103,7 @@
"Quantity" :
{
"LVID": "${quantity_in_base_lv_RP_Cst}",
"Value": "${line.base_lv_quantity_to_prepare!0}"
"Value": "${preparation_order_line.base_lv_quantity_to_prepare!0}"
}
}
}<#sep>,</#sep>

View File

@@ -5,7 +5,7 @@
"MetaData": [
{
"Key": "OrderType",
"Value": { "String" : "${order.optional_attributes.reason_code}"}
"Value": { "String" : "${preparation_order.optional_attributes.reason_code}"}
}
],
-->

View File

@@ -4,18 +4,18 @@
"SegmentationKeys": [
{
"Key": "Grade",
"Value": { "String" : "${line.grade_code_to_prepare}"}
"Value": { "String" : "${preparation_order_line.grade_code_to_prepare}"}
},
{
"Key": "Owner",
"Value": { "String" : "${line.owner_code_to_prepare}"}
"Value": { "String" : "${preparation_order_line.owner_code_to_prepare}"}
},
{
"Key": "BatchNumber",
<#if reflexMvtStockInterface.batch_1 == "">
"Value": { "String" : "no batch"}
<#else>
"Value": { "String" : "${line.batch_1}"}
"Value": { "String" : "${preparation_order_line.batch_1}"}
</#if>
}
]

View File

@@ -43,7 +43,11 @@
<#default>
[
{
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
<#if restResponsetMsg.body?? >
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
<#else>
<#assign restResponseBody = "{}" />
</#if>
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :
@@ -57,7 +61,7 @@
<#switch restResponsetMsg.status>
<#case 200>
<#case 201>
<#-- *********************************************** ApiRestID = preparation_orders_post ******************** -->
<#-- *********************************************** ApiRestID = receipts_post ******************** -->
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
<#assign preparationOrderPostResponse = JsonUtil.jsonToMap(restResponseBody)>
<#if preparationOrderPostResponse.status?? && preparationOrderPostResponse.status == "SUCCESS" >
@@ -85,7 +89,11 @@
<#default>
[
{
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
<#if restResponsetMsg.body?? >
<#assign restResponseBody = JsonUtil.decodeBase64(restResponsetMsg.body) />
<#else>
<#assign restResponseBody = "{}" />
</#if>
<#assign apiReflexPlatformID = ApiReflexPlatformID.PlatformLogCreate>
"apiReflexPlatformID" : "${apiReflexPlatformID}",
"datas" :

View File

@@ -28,6 +28,7 @@
"intermediate_consignee": "false",
"protected": "${protected_flag}",
"automatic_generation": "${automatic_generation_flag}",
"deactivate": "false",
"optional_attributes": {
"apt_with_end_consignee": "${apt_with_end_consignee_flag}",
"apt_with_intermediate": "false",
@@ -35,13 +36,13 @@
},
<#if executionflow.ShipTo.ActorID == "">
"address": {
"first_name": "${executionflow.ShipTo.Contact.FirstName!""}",
"last_name" :"${executionflow.ShipTo.Contact.Lastname!""}",
"first_name": "${executionflow.ShipTo.Contact.FirstName!""?json_string}",
"last_name" :"${executionflow.ShipTo.Contact.Lastname!""?json_string}",
"mail_address": "${executionflow.ShipTo.Actor.Emails[0]!""}",
"mobile_phone_number": "${executionflow.ShipTo.Actor.Phones[0]!""}",
"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_2": "${executionflow.ShipTo.Actor.Address.StreetAddressThree?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_2": "${executionflow.ShipTo.Actor.Address.StreetAddressThree!""?json_string}",
"postal_code": "${executionflow.ShipTo.Actor.Address.PostalCode!""}",
"iso_country_code": "${executionflow.ShipTo.Actor.Address.CountryCode!""}"
},
@@ -66,13 +67,13 @@
"grade_code_to_prepare" :"${grade_code_to_prepare}",
"input_order_data": "false",
"batch_1": "${batch_1}",
"base_lv_quantity": "true",
"any_lv": "false"
<#--
"stock_reservation": "false",
"forced_priority_date_min_lead_time": "false",
"temp_substitution_possible": "false",
"substitution_possible": "false",
"base_lv_quantity": "true",
"substitution_possible": "false"
-->
}<#sep>,</#sep>

View File

@@ -2,14 +2,22 @@
<#-- How to use MD Header map
Example :
<#assign pick_sequence_code = Header_MetaData_Map["OrderType"]!""/>
<#assign pick_sequence_code = Header_MetaData_Map["OrderType"].String!""/>
If your MD is :
Boolean : .Bool
Float : .Float
Timestamp : .Timestamp.DateTime or .Timestamp.AuthorTimeZone
Int : .Int
String : .String
-->
<#assign activity_code = "PEN"/>
<#assign originator_code = "50000189"/>
<#assign preparation_type_code = "010"/>
<#assign requested_delivery_date_type = "010"/>
<#assign activity_code = ""/>
<#assign originator_code = ""/>
<#assign preparation_type_code = ""/>
<#assign requested_delivery_date_type = ""/>
<#assign consolidated_delivery_flag ="false"/>
<#assign pick_sequence_code = ""/>
<#assign protected_flag ="false"/>

View File

@@ -3,7 +3,14 @@
<#-- How to use MD or SK map
Example :
<#assign owner_code_to_prepare = SegmentationKeys_Map["Owner"]!""/>
<#assign owner_code_to_prepare = SegmentationKeys_Map["Owner"].String!""/>
If your SK is :
Boolean : .Bool
Float : .Float
Timestamp : .Timestamp.DateTime or .Timestamp.AuthorTimeZone
Int : .Int
String : .String
-->
<#assign owner_code_to_prepare = SegmentationKeys_Map["myOwner"]!""/>

View File

@@ -19,30 +19,26 @@
"carrier_code" : "${executionflow.Carrier.ActorID!""}",
<#if executionflow.RequestedMilestones?? && executionflow.RequestedMilestones.RequestedDeliveryDateTime??>
"receipt_datetime": "${executionflow.RequestedMilestones.RequestedDeliveryDateTime.DateTime}",
"receipt_datetime": "${executionflow.RequestedMilestones.RequestedDeliveryDateTime.DateTime}",
<#else>
"receipt_datetime": "${aDateTime?iso_utc}",
"receipt_datetime": "${aDateTime?iso_utc}",
</#if>
<#--
"carrier_appointment_made": "false",
"receipt_in_cross_docking": "false",
"dock_occupation_duration": 10,
-->
"carrier_appointment_made": "false",
"receipt_in_cross_docking": "false",
"dock_occupation_duration": 1,
<#if executionflow.Lines??>
"line_list": [
<#list executionflow.Lines as line>
"line_list": [
<#list executionflow.Lines as line>
<#-- ******* line MetaData and Segmentationkeys to maps ******** -->
<#if line.MetaData??>
<#assign Line_MetaData_Map = JsonUtil.sequenceToMap(line.MetaData, "Key", "Value") />
</#if>
<#if line.RequestedContent.Goods.SegmentationKeys??>
<#assign SegmentationKeys_Map = JsonUtil.sequenceToMap(line.RequestedContent.Goods.SegmentationKeys, "Key", "Value") />
</#if>
<#if line.MetaData??>
<#assign Line_MetaData_Map = JsonUtil.sequenceToMap(line.MetaData, "Key", "Value") />
</#if>
<#if line.RequestedContent.Goods.SegmentationKeys??>
<#assign SegmentationKeys_Map = JsonUtil.sequenceToMap(line.RequestedContent.Goods.SegmentationKeys, "Key", "Value") />
</#if>
<#include "RPtoRFX_Receipt_DefaultLineData.ftl">
{
"receipt_reference_line_no": ${line.LineID?number},
"item_code": "${line.RequestedContent.Goods.ItemID!""}",
@@ -50,20 +46,17 @@
"level_1_quantity": ${line.RequestedMetrics.QuantityInBaseLV.Value!0},
"owner_code": "${owner_code}",
"grade_code": "${grade_code}",
"batch_1": "${batch_1!""}",
<#--
"batch_1": "${batch_1!""}",
"optional_attributes": {
"held_for_check": "false",
<#--"held_for_check": "false",
"held _for_repacking": "false",
"hold_for_specific_code": "false",
"hold_code": "false"
},
-->
"quality_control_attributes": {
<#--"qcf_to_create_for_receipt_line": "false",-->
"hold_code": "false", -->
"hold_for_specific_code": "false"
}
<#--"quality_control_attributes": {
"qcf_to_create_for_receipt_line": "false",
"exclude_item_from_inspection": "false"
}
} -->
}<#sep>,</#sep>
</#list>

View File

@@ -2,11 +2,18 @@
<#-- How to use MD Header map
Example :
<#assign receipt_type = Header_MetaData_Map["OrderType"]!""/>
<#assign receipt_type = Header_MetaData_Map["OrderType"].String!""/>
If your MD is :
Boolean : .Bool
Float : .Float
Timestamp : .Timestamp.DateTime or .Timestamp.AuthorTimeZone
Int : .Int
String : .String
-->
<#assign activity_code = "PEN"/>
<#assign originator_code = "STANDARD"/>
<#assign receipt_type = "010"/>
<#assign receipt_reason_code = "REC"/>
<#assign work_mode_code = "LPA"/>
<#assign activity_code = ""/>
<#assign originator_code = ""/>
<#assign receipt_type = ""/>
<#assign receipt_reason_code = ""/>
<#assign work_mode_code = ""/>

View File

@@ -3,10 +3,17 @@
<#-- How to use MD or SK map
Example :
<#assign owner_code = SegmentationKeys_Map["Owner"]!""/>
<#assign owner_code = SegmentationKeys_Map["Owner"].String!""/>
If your SK is :
Boolean : .Bool
Float : .Float
Timestamp : .Timestamp.DateTime or .Timestamp.AuthorTimeZone
Int : .Int
String : .String
-->
<#assign owner_code = "PEN"/>
<#assign grade_code = "STD"/>
<#assign batch_1 = "STD"/>
<#assign owner_code = ""/>
<#assign grade_code = ""/>
<#assign batch_1 = ""/>

View File

@@ -6,4 +6,24 @@
<#return (datetimeUTC)>
</#function>
<#-- --------------------------------------------------------------------------------------- -->
<#-- Split email reflex into json array string -->
<#-- Example : splitemail "john.doe@hardis-group.com,; name@hardis-group.com" -->
<#-- return "["john.doe@hardis-group.com","name@hardis-group.com"]" -->
<#-- ${splitEmailsIntoArray(emailReflex)} -->
<#-- --------------------------------------------------------------------------------------- -->
<#function splitEmailsIntoArray emails >
<#local str = "[">
<#list emails?split(';|,| ',"r")?filter(l -> l != "") as email>
<#if email?matches("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$")>
<#if str != "[">
<#local str += ",">
</#if>
<#local str += "\"">
<#local str += email>
<#local str += "\"">
</#if>
</#list>
<#local str += "]">
<#return (str)>
</#function>

View File

@@ -1 +1 @@
1.2.4
1.2.12+1