You've already forked reflex-wms-connector
Compare commits
215 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 46a9a82e12 | |||
| ae0b82b6e4 | |||
| 5fc26e6015 | |||
| 236c2d754c | |||
| 5499e3059f | |||
| cae9bf80bb | |||
| ed0141584b | |||
| e6a27c2ba2 | |||
| 0a26159dc9 | |||
| a4f3bf8151 | |||
| 867fdc5743 | |||
| b69bfa50ba | |||
| 834abe1b78 | |||
| e190a16ddc | |||
| e63b14d0ff | |||
| 04bc005cda | |||
| 6e46d30221 | |||
| 1f2d3ab212 | |||
| 771915ad19 | |||
| 4a1fe56381 | |||
| a9a357d4ed | |||
| 0e3e60b45a | |||
| f0e27a6f88 | |||
| f72bcc2537 | |||
| 9700548214 | |||
| 96aec6555c | |||
| 54511c55f1 | |||
| de828ed606 | |||
| eaa7ef1b9b | |||
| 4c84e4195b | |||
| 113c94f100 | |||
| 7963b351aa | |||
| 8425747b42 | |||
| 03e20e7aed | |||
| 04b7974c77 | |||
| 087346139d | |||
| 0a4263d551 | |||
| b00302c8e3 | |||
| 55b7b54b44 | |||
| 26003c24f2 | |||
| 0468700574 | |||
| fe35481144 | |||
| d21204a949 | |||
| 46421972a8 | |||
| ccca6d1592 | |||
| 68622896f0 | |||
| fea5691ddd | |||
| 2fb5dcd103 | |||
| 04253d939f | |||
| 5c0b112c39 | |||
| c3d1ceb0c5 | |||
| b80623e631 | |||
| 45e8c4fee2 | |||
| 23a87c1995 | |||
| a3a2fa3b23 | |||
| 22b26ac7d3 | |||
| af29a11b22 | |||
| 74b976b367 | |||
| 0b3f07add9 | |||
| 28659b1157 | |||
| 3de6a2f6a9 | |||
| 4afc7fa50c | |||
| 6910fb80a8 | |||
| 1052849c12 | |||
| 044fda9d16 | |||
| e8510d079c | |||
| 24a94caf29 | |||
| aa19de32a5 | |||
| 513a5c2c3e | |||
| 2524859cd4 | |||
| 011540fc51 | |||
| 06147dd8d4 | |||
| 5e9804db40 | |||
| e344cca043 | |||
| b0b4714df9 | |||
| 9cbacc0ebc | |||
| c31d6de4a2 | |||
| 15bd095feb | |||
| c0dd029d1f | |||
| 2e0d61310b | |||
| f62ccadba5 | |||
| 2c29166ccb | |||
| 4534155f2e | |||
| b3da874dd3 | |||
| 5948467818 | |||
| c63e4ff5c8 | |||
| 457cfc85c2 | |||
| 6809b32410 | |||
| 82dfc05cdb | |||
| eda5fe4e07 | |||
| 26654a9820 | |||
| 37a5e64e83 | |||
| 2f31833bc3 | |||
| cff0f18d8a | |||
| 6b6cef5332 | |||
| 22b78b4ffe | |||
| 25bf3110e9 | |||
| 0a32ead29a | |||
| d7c9c72762 | |||
| 46a9dc8996 | |||
| 1eb262c91c | |||
| 2588fda3a8 | |||
| 87efb21e64 | |||
| d060d3eb10 | |||
| 28e99e9a2b | |||
| 78b0b467a3 | |||
| eca09f2e9e | |||
| cfb8e2ab5a | |||
| d1512d4269 | |||
| 264f9131d0 | |||
| fd9f248619 | |||
| 0fff71b759 | |||
| 196ab387ac | |||
| 5cafa068a7 | |||
| 6f287e878a | |||
| c3a23254b1 | |||
| c47672b8cc | |||
| 12483253f1 | |||
| f0f6e39407 | |||
| fb0bab260a | |||
| 040ba2a392 | |||
| 753de14f97 | |||
| 9cdcd2784d | |||
| cfe6bddf8d | |||
| 0cb3cc7dd0 | |||
| 59a7783203 | |||
| 03362d6a8b | |||
| f7125548db | |||
| 92e37e8baa | |||
| 6b633663e9 | |||
| c801c574ab | |||
| 6282266c6d | |||
| be2229d184 | |||
| 0067755ee4 | |||
| 03953258d6 | |||
| cb9d61bfe9 | |||
| 591b49cd88 | |||
| cc5357369d | |||
| c03129855e | |||
| 0211b91069 | |||
| 53afac0ccf | |||
| 349642fe25 | |||
| 4802c74fb8 | |||
| c6370e2eb7 | |||
| e5f775605f | |||
| 8575ad0de2 | |||
| c7d7aaec16 | |||
| 60c6f812d1 | |||
| c2f6537e0c | |||
| f5970127b0 | |||
| 33c7ab08a7 | |||
| fb8f9ca651 | |||
| 86afce4b0d | |||
| 16c7d6b686 | |||
| 9cffad8ffb | |||
| fc919c2199 | |||
| 48052a8112 | |||
| 5af4faf052 | |||
| dc362f6826 | |||
| 3ef86f9e5c | |||
| 97b3eb3d97 | |||
| 3b98560221 | |||
| 7eee45993e | |||
| 76c17efbec | |||
| 1038471fd0 | |||
| 3365a94098 | |||
| e055eab522 | |||
| c95bdc7f00 | |||
| 319cb6cc51 | |||
| 1f289e229c | |||
| fba36b5d77 | |||
| 76c071fab7 | |||
| 3ed530fb09 | |||
| da8939ec74 | |||
| 4193d6e48c | |||
| d038e1f6ce | |||
| f4b1864337 | |||
| 37f5fbf364 | |||
| a18f41ed78 | |||
| b6aa1d544e | |||
| 892812e85e | |||
| 3ededd9c62 | |||
| f25f664b9a | |||
| feee703166 | |||
| c183b1398e | |||
| e5981b5b0d | |||
| ceac740066 | |||
| 9aa9500f0b | |||
| 585ac07746 | |||
| 4a806b3977 | |||
| eedd7cb16a | |||
| 387721fd82 | |||
| d334812615 | |||
| 071b5e47b0 | |||
| ba9c557ae5 | |||
| a512e4c23a | |||
| 884ad540fe | |||
| 869dc5e2f7 | |||
| 252302e688 | |||
| 56cd76fe0e | |||
| 262e22d970 | |||
| ed809f872d | |||
| ca30958d35 | |||
| 824a52a588 | |||
| 60cadad51f | |||
| 123d1dce90 | |||
| 4073c63a75 | |||
| b8aea218ce | |||
| 380b6ea116 | |||
| 59db159c29 | |||
| c7fbfe21fb | |||
| 12e29c6644 | |||
| fb1980d07a | |||
| 736054e237 | |||
| 4eb68902bf |
@@ -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>
|
||||||
|
|||||||
@@ -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 -->
|
||||||
|
|||||||
@@ -24,5 +24,5 @@ ${output}
|
|||||||
<#break>
|
<#break>
|
||||||
|
|
||||||
<#default>
|
<#default>
|
||||||
<#stop>
|
<#stop >
|
||||||
</#switch>
|
</#switch>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"RefID": "${carrier.carrier_code}"
|
"RefID": "${carrier.carrier_code?trim?json_string}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"Payload": {
|
"Payload": {
|
||||||
@@ -29,7 +29,12 @@
|
|||||||
"StreetAddressTwo" : "${carrier.carrier_structured_address.additionnal_data?json_string}",
|
"StreetAddressTwo" : "${carrier.carrier_structured_address.additionnal_data?json_string}",
|
||||||
"PostalCode" : "${carrier.carrier_structured_address.postal_code?json_string}",
|
"PostalCode" : "${carrier.carrier_structured_address.postal_code?json_string}",
|
||||||
"City" : "${carrier.carrier_structured_address.post_code_area_name?json_string}",
|
"City" : "${carrier.carrier_structured_address.post_code_area_name?json_string}",
|
||||||
"CountryCode" : "${carrier.carrier_structured_address.country_code?json_string}",
|
<#assign isCountryCode = JsonUtil.isCountryCode(carrier.carrier_structured_address.country_code?upper_case) />
|
||||||
|
<#if isCountryCode>
|
||||||
|
"CountryCode" : "${carrier.carrier_structured_address.country_code?upper_case?json_string}",
|
||||||
|
<#else>
|
||||||
|
"CountryCode" : "",
|
||||||
|
</#if>
|
||||||
"ProvinceCode": "${carrier.carrier_structured_address.territorial_div_code?json_string}",
|
"ProvinceCode": "${carrier.carrier_structured_address.territorial_div_code?json_string}",
|
||||||
"State": "${carrier.carrier_structured_address.country_designation?json_string}"
|
"State": "${carrier.carrier_structured_address.country_designation?json_string}"
|
||||||
|
|
||||||
@@ -39,7 +44,8 @@
|
|||||||
"Name": "${carrier.address.company_name?json_string}",
|
"Name": "${carrier.address.company_name?json_string}",
|
||||||
"StreetAddressOne" : "${carrier.address.address_1?json_string}",
|
"StreetAddressOne" : "${carrier.address.address_1?json_string}",
|
||||||
"StreetAddressTwo" : "${carrier.address.address_2?json_string}",
|
"StreetAddressTwo" : "${carrier.address.address_2?json_string}",
|
||||||
"StreetAddressThree" : "${carrier.address.address_3?json_string}"
|
"StreetAddressThree" : "${carrier.address.address_3?json_string}",
|
||||||
|
"CountryCode" : ""
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"RefID": "${carrier.carrier_code}"
|
"RefID": "${carrier.carrier_code?trim?json_string}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"Payload": {}
|
"Payload": {}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"RefID": "${actor.code}"
|
"RefID": "${actor.code?trim?json_string}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"Payload": {
|
"Payload": {
|
||||||
@@ -29,7 +29,12 @@
|
|||||||
"StreetAddressTwo" : "${actor.consignee_structured_address.additionnal_data?json_string}",
|
"StreetAddressTwo" : "${actor.consignee_structured_address.additionnal_data?json_string}",
|
||||||
"PostalCode" : "${actor.consignee_structured_address.postal_code?json_string}",
|
"PostalCode" : "${actor.consignee_structured_address.postal_code?json_string}",
|
||||||
"City" : "${actor.consignee_structured_address.post_code_area_name?json_string}",
|
"City" : "${actor.consignee_structured_address.post_code_area_name?json_string}",
|
||||||
"CountryCode" : "${actor.consignee_structured_address.country_code?json_string}",
|
<#assign isCountryCode = JsonUtil.isCountryCode(actor.consignee_structured_address.country_code?upper_case) />
|
||||||
|
<#if isCountryCode>
|
||||||
|
"CountryCode" : "${actor.consignee_structured_address.country_code?upper_case?json_string}",
|
||||||
|
<#else>
|
||||||
|
"CountryCode" : "",
|
||||||
|
</#if>
|
||||||
"ProvinceCode": "${actor.consignee_structured_address.territorial_div_code?json_string}",
|
"ProvinceCode": "${actor.consignee_structured_address.territorial_div_code?json_string}",
|
||||||
"State": "${actor.consignee_structured_address.country_designation?json_string}"
|
"State": "${actor.consignee_structured_address.country_designation?json_string}"
|
||||||
|
|
||||||
@@ -40,7 +45,8 @@
|
|||||||
"Name": "${actor.address.company_name?json_string}",
|
"Name": "${actor.address.company_name?json_string}",
|
||||||
"StreetAddressOne" : "${actor.address.address_1?json_string}",
|
"StreetAddressOne" : "${actor.address.address_1?json_string}",
|
||||||
"StreetAddressTwo" : "${actor.address.address_2?json_string}",
|
"StreetAddressTwo" : "${actor.address.address_2?json_string}",
|
||||||
"StreetAddressThree" : "${actor.address.address_3?json_string}"
|
"StreetAddressThree" : "${actor.address.address_3?json_string}",
|
||||||
|
"CountryCode" : ""
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"RefID": "${actor.code}"
|
"RefID": "${actor.code?trim?json_string}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"Payload": {}
|
"Payload": {}
|
||||||
|
|||||||
@@ -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" ||
|
||||||
@@ -24,42 +24,45 @@
|
|||||||
reflexMvtStockInterface.ipg_move_type == "260" ||
|
reflexMvtStockInterface.ipg_move_type == "260" ||
|
||||||
reflexMvtStockInterface.ipg_move_type == "290" ||
|
reflexMvtStockInterface.ipg_move_type == "290" ||
|
||||||
reflexMvtStockInterface.ipg_move_type == "300" ||
|
reflexMvtStockInterface.ipg_move_type == "300" ||
|
||||||
|
reflexMvtStockInterface.ipg_move_type == "350" ||
|
||||||
|
reflexMvtStockInterface.ipg_move_type == "370" ||
|
||||||
reflexMvtStockInterface.ipg_move_type == "400" ||
|
reflexMvtStockInterface.ipg_move_type == "400" ||
|
||||||
reflexMvtStockInterface.ipg_move_type == "410" ||
|
reflexMvtStockInterface.ipg_move_type == "410" ||
|
||||||
reflexMvtStockInterface.ipg_move_type == "420"
|
reflexMvtStockInterface.ipg_move_type == "420"
|
||||||
>
|
>
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.StockMoved>
|
<#assign apiReflexPlatformID = ApiReflexPlatformID.MovementCreated>
|
||||||
"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>
|
||||||
|
|
||||||
|
|||||||
@@ -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,24 @@
|
|||||||
"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}",
|
||||||
|
<#if (priority_date!="") && (priority_date?starts_with("00")== false) >
|
||||||
"PriorityDate": "${priority_date}",
|
"PriorityDate": "${priority_date}",
|
||||||
|
<#else>
|
||||||
|
"PriorityDate": "1970-01-01T00:00:00Z",
|
||||||
|
</#if>
|
||||||
|
|
||||||
<#-- 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}
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
"260":"STOCK_MOVEMENT_TYPE_REQUALIFICATION",
|
"260":"STOCK_MOVEMENT_TYPE_REQUALIFICATION",
|
||||||
"290":"STOCK_MOVEMENT_TYPE_REQUALIFICATION",
|
"290":"STOCK_MOVEMENT_TYPE_REQUALIFICATION",
|
||||||
"300":"STOCK_MOVEMENT_TYPE_REQUALIFICATION",
|
"300":"STOCK_MOVEMENT_TYPE_REQUALIFICATION",
|
||||||
|
"350":"STOCK_MOVEMENT_TYPE_USE_OF_GOODS",
|
||||||
|
"370":"STOCK_MOVEMENT_TYPE_USE_OF_GOODS",
|
||||||
"400":"STOCK_MOVEMENT_TYPE_FIX",
|
"400":"STOCK_MOVEMENT_TYPE_FIX",
|
||||||
"410":"STOCK_MOVEMENT_TYPE_FIX",
|
"410":"STOCK_MOVEMENT_TYPE_FIX",
|
||||||
"420":"STOCK_MOVEMENT_TYPE_REQUALIFICATION"}>
|
"420":"STOCK_MOVEMENT_TYPE_REQUALIFICATION"}>
|
||||||
@@ -23,26 +25,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}",
|
||||||
@@ -51,7 +57,7 @@
|
|||||||
"Quantity":
|
"Quantity":
|
||||||
{
|
{
|
||||||
"LVID": "${quantity_in_base_lv_RP_Cst}",
|
"LVID": "${quantity_in_base_lv_RP_Cst}",
|
||||||
<#if reflexMvtStockInterface.move_sign == "+">
|
<#if reflexMvtStockInterface.move_sign == "+" || reflexMvtStockInterface.ipg_move_quantity_in_base_lvs <= 0 >
|
||||||
"Value": ${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs}
|
"Value": ${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs}
|
||||||
<#else>
|
<#else>
|
||||||
"Value": -${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs}
|
"Value": -${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs}
|
||||||
|
|||||||
@@ -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}"]
|
||||||
|
|||||||
@@ -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},
|
||||||
|
|||||||
@@ -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},
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"RefID": "${item.item_code}"
|
"RefID": "${item.item_code?trim?json_string}"
|
||||||
},
|
},
|
||||||
"Payload": {}
|
"Payload": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"RefID": "${actor.code}"
|
"RefID": "${actor.code?trim?json_string}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"Payload": {
|
"Payload": {
|
||||||
@@ -28,7 +28,12 @@
|
|||||||
"StreetAddressTwo" : "${actor.supplier_structured_address.additionnal_data?json_string}",
|
"StreetAddressTwo" : "${actor.supplier_structured_address.additionnal_data?json_string}",
|
||||||
"PostalCode" : "${actor.supplier_structured_address.postal_code?json_string}",
|
"PostalCode" : "${actor.supplier_structured_address.postal_code?json_string}",
|
||||||
"City" : "${actor.supplier_structured_address.post_code_area_name?json_string}",
|
"City" : "${actor.supplier_structured_address.post_code_area_name?json_string}",
|
||||||
"CountryCode" : "${actor.supplier_structured_address.country_code?json_string}",
|
<#assign isCountryCode = JsonUtil.isCountryCode(actor.supplier_structured_address.country_code?upper_case) />
|
||||||
|
<#if isCountryCode>
|
||||||
|
"CountryCode" : "${actor.supplier_structured_address.country_code?upper_case?json_string}",
|
||||||
|
<#else>
|
||||||
|
"CountryCode" : "",
|
||||||
|
</#if>
|
||||||
"ProvinceCode": "${actor.supplier_structured_address.territorial_div_code?json_string}",
|
"ProvinceCode": "${actor.supplier_structured_address.territorial_div_code?json_string}",
|
||||||
"State": "${actor.supplier_structured_address.country_designation?json_string}"
|
"State": "${actor.supplier_structured_address.country_designation?json_string}"
|
||||||
|
|
||||||
@@ -38,7 +43,8 @@
|
|||||||
"Name": "${actor.optional_attributes.company_name?json_string}",
|
"Name": "${actor.optional_attributes.company_name?json_string}",
|
||||||
"StreetAddressOne" : "${actor.optional_attributes.address_1?json_string}",
|
"StreetAddressOne" : "${actor.optional_attributes.address_1?json_string}",
|
||||||
"StreetAddressTwo" : "${actor.optional_attributes.address_2?json_string}",
|
"StreetAddressTwo" : "${actor.optional_attributes.address_2?json_string}",
|
||||||
"StreetAddressThree" : "${actor.optional_attributes.address_3?json_string}"
|
"StreetAddressThree" : "${actor.optional_attributes.address_3?json_string}",
|
||||||
|
"CountryCode" : ""
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"RefID": "${actor.code}"
|
"RefID": "${actor.code?trim?json_string}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"Payload": {}
|
"Payload": {}
|
||||||
|
|||||||
@@ -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": {
|
||||||
@@ -28,7 +28,12 @@
|
|||||||
"StreetAddressTwo" : "${depot.physical_depot_structured_address.additionnal_data?json_string}",
|
"StreetAddressTwo" : "${depot.physical_depot_structured_address.additionnal_data?json_string}",
|
||||||
"PostalCode" : "${depot.physical_depot_structured_address.postal_code?json_string}",
|
"PostalCode" : "${depot.physical_depot_structured_address.postal_code?json_string}",
|
||||||
"City" : "${depot.physical_depot_structured_address.post_code_area_name?json_string}",
|
"City" : "${depot.physical_depot_structured_address.post_code_area_name?json_string}",
|
||||||
"CountryCode" : "${depot.physical_depot_structured_address.country_code?json_string}",
|
<#assign isCountryCode = JsonUtil.isCountryCode(depot.physical_depot_structured_address.country_code?upper_case) />
|
||||||
|
<#if isCountryCode >
|
||||||
|
"CountryCode" : "${depot.physical_depot_structured_address.country_code?upper_case?json_string}",
|
||||||
|
<#else>
|
||||||
|
"CountryCode" : "",
|
||||||
|
</#if>
|
||||||
"ProvinceCode": "${depot.physical_depot_structured_address.territorial_div_code?json_string}",
|
"ProvinceCode": "${depot.physical_depot_structured_address.territorial_div_code?json_string}",
|
||||||
"State": "${depot.physical_depot_structured_address.country_designation?json_string}"
|
"State": "${depot.physical_depot_structured_address.country_designation?json_string}"
|
||||||
|
|
||||||
@@ -37,7 +42,8 @@
|
|||||||
"Name": "${depot.physical_depot_address.company_name?json_string}",
|
"Name": "${depot.physical_depot_address.company_name?json_string}",
|
||||||
"StreetAddressOne" : "${depot.physical_depot_address.address_1?json_string}",
|
"StreetAddressOne" : "${depot.physical_depot_address.address_1?json_string}",
|
||||||
"StreetAddressTwo" : "${depot.physical_depot_address.address_2?json_string}",
|
"StreetAddressTwo" : "${depot.physical_depot_address.address_2?json_string}",
|
||||||
"StreetAddressThree" : "${depot.physical_depot_address.address_3?json_string}"
|
"StreetAddressThree" : "${depot.physical_depot_address.address_3?json_string}",
|
||||||
|
"CountryCode" : ""
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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": {}
|
||||||
|
|||||||
@@ -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,46 @@
|
|||||||
<#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 ={}>
|
||||||
|
<#assign hd_numberHmap ={}>
|
||||||
|
<#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!="">
|
||||||
|
<#if !hd_numberHmap[despatched_ipg.hd_number]?? >
|
||||||
|
<#assign hd_numberHmap += {despatched_ipg.hd_number,despatched_ipg.hd_number}>
|
||||||
,
|
,
|
||||||
{
|
{
|
||||||
<#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled>
|
<#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled>
|
||||||
@@ -41,13 +64,30 @@
|
|||||||
<#include "RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl">
|
<#include "RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl">
|
||||||
}
|
}
|
||||||
</#if>
|
</#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">
|
||||||
|
|||||||
33
RFXtoRP_HsrPrepa_CarrierUpdated.ftl
Normal file
33
RFXtoRP_HsrPrepa_CarrierUpdated.ftl
Normal 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 ={}>
|
||||||
|
]
|
||||||
@@ -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>
|
|
||||||
]
|
|
||||||
29
RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl
Normal file
29
RFXtoRP_HsrPrepa_HUsAdded_HandlingUnitDispatched.ftl
Normal 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>
|
||||||
|
]
|
||||||
9
RFXtoRP_HsrPrepa_HUsAdded_Metadata.ftl
Normal file
9
RFXtoRP_HsrPrepa_HUsAdded_Metadata.ftl
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<#-- use protobuf of class HsrPrepa to find Reflex WMS fields names -->
|
||||||
|
|
||||||
|
<#--
|
||||||
|
"MetaData" :[
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
-->
|
||||||
|
"MetaData": [ ]
|
||||||
@@ -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 ={}>
|
||||||
]
|
]
|
||||||
|
|||||||
133
RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl
Normal file
133
RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
<#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?json_string}"
|
||||||
|
<#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_use_by_date?length != 0) && (despatched_ipg.ipg_use_by_date?starts_with("00")== false)>
|
||||||
|
<#assign priority_date = despatched_ipg.ipg_use_by_date?datetime(rfx_date_format_default)?iso_utc />
|
||||||
|
"PriorityDate": "${priority_date}",
|
||||||
|
<#else>
|
||||||
|
<#if (despatched_ipg.ipg_best_before_date?length != 0) && (despatched_ipg.ipg_best_before_date?starts_with("00")== false)>
|
||||||
|
<#assign priority_date = despatched_ipg.ipg_best_before_date?datetime(rfx_date_format_default)?iso_utc />
|
||||||
|
"PriorityDate": "${priority_date}",
|
||||||
|
<#else>
|
||||||
|
<#if (despatched_ipg.ipg_sell_by_date?length != 0) && (despatched_ipg.ipg_sell_by_date?starts_with("00")== false)>
|
||||||
|
<#assign priority_date = despatched_ipg.ipg_sell_by_date?datetime(rfx_date_format_default)?iso_utc />
|
||||||
|
"PriorityDate": "${priority_date}",
|
||||||
|
<#else>
|
||||||
|
<#if (despatched_ipg.ipg_manufacture_date?length != 0) && (despatched_ipg.ipg_manufacture_date?starts_with("00") == false)>
|
||||||
|
<#assign priority_date = despatched_ipg.ipg_manufacture_date?datetime(rfx_date_format_default)?iso_utc />
|
||||||
|
"PriorityDate": "${priority_date}",
|
||||||
|
<#else>
|
||||||
|
<#if (despatched_ipg.ipg_receipt_date?length != 0) && (despatched_ipg.ipg_receipt_date?starts_with("00")== false)>
|
||||||
|
<#assign priority_date = despatched_ipg.ipg_receipt_date?datetime(rfx_date_format_default)?iso_utc />
|
||||||
|
"PriorityDate": "${priority_date}",
|
||||||
|
<#else>
|
||||||
|
<#if (preparationOrder.stock_despatch_at_preparation_datetime?length != 0) && (preparationOrder.stock_despatch_at_preparation_datetime?starts_with("00")== false)>
|
||||||
|
<#assign priority_date = preparationOrder.stock_despatch_at_preparation_datetime?datetime(rfx_date_format_default)?iso_utc />
|
||||||
|
"PriorityDate": "${priority_date}",
|
||||||
|
<#else>
|
||||||
|
"PriorityDate": "1970-01-01T00:00:00Z",
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#-- 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>
|
||||||
|
]
|
||||||
43
RFXtoRP_HsrPrepa_HandlingunitHUsAdded.ftl
Normal file
43
RFXtoRP_HsrPrepa_HandlingunitHUsAdded.ftl
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<#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>,
|
||||||
|
<#-- HU Metadata inclusin inclusion -->
|
||||||
|
<#include "RFXtoRP_HsrPrepa_HUsAdded_Metadata.ftl">
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
28
RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl
Normal file
28
RFXtoRP_HsrPrepa_OrderCarrierUpdated.ftl
Normal 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 ={}>
|
||||||
|
]
|
||||||
@@ -1,13 +1,17 @@
|
|||||||
<#include "HfRpConfig.ftl">
|
<#include "HfRpConfig.ftl">
|
||||||
<#include "ReflexUtils.ftl">
|
<#include "ReflexUtils.ftl">
|
||||||
[
|
[
|
||||||
|
<#assign dispatched_datetime4 = RfxDateTimetoUTC(preparationOrder.stock_despatch_at_preparation_datetime,time_zone_offset_rfx) />
|
||||||
{
|
{
|
||||||
"Header": {
|
"Header": {
|
||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"RefID": "${despatched_ipg.consignment_unit_id}"
|
"RefID": "${despatched_ipg.consignment_unit_id?trim?json_string}",
|
||||||
|
"RefDate": {
|
||||||
|
"DateTime": "${dispatched_datetime4}",
|
||||||
|
"AuthorTimeZone": "${time_zone_rfx}"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"Payload": {
|
"Payload": {
|
||||||
<#if despatched_ipg.carton_number != "000000000000000000">
|
<#if despatched_ipg.carton_number != "000000000000000000">
|
||||||
@@ -15,6 +19,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>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
@@ -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": {
|
||||||
@@ -48,27 +48,32 @@
|
|||||||
preparation_order.address.territorial_division_code == "" &&
|
preparation_order.address.territorial_division_code == "" &&
|
||||||
preparation_order.address.postal_code == "" &&
|
preparation_order.address.postal_code == "" &&
|
||||||
preparation_order.address.iso_country_code == "">
|
preparation_order.address.iso_country_code == "">
|
||||||
"ActorID": "${preparation_order.end_consignee_code}"
|
"ActorID": "${preparation_order.end_consignee_code?trim?json_string}"
|
||||||
<#else>
|
<#else>
|
||||||
"Actor":
|
"Actor":
|
||||||
{
|
{
|
||||||
"Name" : "${preparation_order.address.name_or_company_name?json_string!""}",
|
"Name" : "${(preparation_order.address.name_or_company_name!"")?json_string}",
|
||||||
"Address" :
|
"Address" :
|
||||||
{
|
{
|
||||||
"City" : "${preparation_order.address.post_code_area_name?json_string!""}",
|
"City" : "${(preparation_order.address.post_code_area_name!"")?json_string}",
|
||||||
"CountryCode" : "${preparation_order.address.iso_country_code!""}",
|
<#assign isCountryCode = JsonUtil.isCountryCode(preparation_order.address.iso_country_code?upper_case) />
|
||||||
"PostalCode" : "${preparation_order.address.postal_code!""}",
|
<#if isCountryCode>
|
||||||
"StreetAddressOne" : "${preparation_order.address.street_and_number_and_po_box?json_string!""}",
|
"CountryCode" : "${(preparation_order.address.iso_country_code!"")?json_string}",
|
||||||
"StreetAddressTwo" : "${preparation_order.address.additional_address_data_1?json_string!""}",
|
<#else>
|
||||||
"StreetAddressThree" : "${preparation_order.address.additional_address_data_2?json_string!""}"
|
"CountryCode" : "",
|
||||||
|
</#if>
|
||||||
|
"PostalCode" : "${(preparation_order.address.postal_code!"")?json_string}",
|
||||||
|
"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" : "${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 +94,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}",
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
@@ -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?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)>
|
||||||
|
<#assign line_detail_priority_date = line.line_detail[0].priority_date?datetime(rfx_date_format_default)?iso_utc />
|
||||||
|
"PriorityDate": "${line_detail_priority_date}",
|
||||||
|
<#else>
|
||||||
|
"PriorityDate": "1970-01-01T00:00:00Z",
|
||||||
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
<#-- Segmentation Keys inclusion -->
|
<#-- Segmentation Keys inclusion -->
|
||||||
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl">
|
<#include "RFXtoRP_HsrReceiptList_ExecutionflowDetected_SegmentationKeys.ftl">
|
||||||
|
|||||||
@@ -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}"
|
||||||
@@ -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}"
|
||||||
|
|||||||
@@ -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": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"RefID": "${id.refid}"
|
"RefID": "${id.refid?json_string}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"Payload": {
|
"Payload": {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"RefID": "${id.refid}"
|
"RefID": "${id.refid?json_string}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"Payload": {
|
"Payload": {
|
||||||
|
|||||||
@@ -28,6 +28,16 @@
|
|||||||
<#include "RFXtoRP_PrepOrder_ShipFromAcked.ftl">
|
<#include "RFXtoRP_PrepOrder_ShipFromAcked.ftl">
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
<#else>
|
||||||
|
<#if preparationOrderPostResponse.status?? && preparationOrderPostResponse.status == "WARN">
|
||||||
|
[
|
||||||
|
{
|
||||||
|
<#assign apiReflexPlatformID = ApiReflexPlatformID.ExecutionflowShipFromAcked>
|
||||||
|
"apiReflexPlatformID" : "${apiReflexPlatformID}",
|
||||||
|
"datas" :
|
||||||
|
<#include "RFXtoRP_PrepOrder_ShipFromAcked.ftl">
|
||||||
|
}
|
||||||
|
]
|
||||||
<#else>
|
<#else>
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@@ -36,9 +46,16 @@
|
|||||||
"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>
|
||||||
|
</#if>
|
||||||
<#break>
|
<#break>
|
||||||
<#default>
|
<#default>
|
||||||
[
|
[
|
||||||
@@ -52,6 +69,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 +104,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 +127,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>
|
||||||
|
|||||||
20
RFXtoRP_RestResponseAllocationError.ftl
Normal file
20
RFXtoRP_RestResponseAllocationError.ftl
Normal 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": {}
|
||||||
|
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -33,4 +33,11 @@
|
|||||||
<#noparse><#assign text_language_rfx = </#noparse>"${reflex_platform_project.text_language!"en"}<#noparse>"></#noparse>
|
<#noparse><#assign text_language_rfx = </#noparse>"${reflex_platform_project.text_language!"en"}<#noparse>"></#noparse>
|
||||||
</#list>
|
</#list>
|
||||||
|
|
||||||
|
<#list file.reflex_platform_project_list?filter(j -> j.name == projectRP) as reflex_platform_project_uniqueness>
|
||||||
|
<#if reflex_platform_project_uniqueness.site_code_unicity??>
|
||||||
|
<#noparse><#assign uniqueness = </#noparse>${reflex_platform_project_uniqueness.site_code_unicity?c}<#noparse>></#noparse>
|
||||||
|
<#else>
|
||||||
|
<#noparse><#assign uniqueness = </#noparse>false<#noparse>></#noparse>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
|
||||||
@@ -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>
|
||||||
|
|||||||
@@ -1,10 +1,21 @@
|
|||||||
<#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?json_string}"},
|
||||||
"route" : "rest/public/v1/activities/{activity_code}/physical_depots/{physical_depot_code}/originators/{originator_code}/preparation_orders",
|
"route" : "rest/public/v1/activities/{activity_code}/physical_depots/{physical_depot_code}/originators/{originator_code}/preparation_orders",
|
||||||
"method" : "POST",
|
"method" : "POST",
|
||||||
"uri_substitutions": {
|
"uri_substitutions": {
|
||||||
@@ -14,13 +25,13 @@
|
|||||||
},
|
},
|
||||||
"payload" :
|
"payload" :
|
||||||
{
|
{
|
||||||
"originator_reference": "${executionflow.OrderID}",
|
"originator_reference": "${executionflow.OrderID?json_string}",
|
||||||
"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}",
|
||||||
@@ -33,21 +44,37 @@
|
|||||||
"apt_with_end_consignee": "${apt_with_end_consignee_flag}",
|
"apt_with_end_consignee": "${apt_with_end_consignee_flag}",
|
||||||
"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": {
|
||||||
"first_name": "${executionflow.ShipTo.Contact.FirstName!""?json_string}",
|
"type_code": "${typecode}",
|
||||||
"last_name" :"${executionflow.ShipTo.Contact.Lastname!""?json_string}",
|
"title_code" : "${titlecode}",
|
||||||
"mail_address": "${executionflow.ShipTo.Actor.Emails[0]!""}",
|
"contact_type_code" : "${contacttypecode}",
|
||||||
"mobile_phone_number": "${executionflow.ShipTo.Actor.Phones[0]!""}",
|
"address_type_code" : "${adresstypecode}",
|
||||||
"street_and_number_and_po_box": "${executionflow.ShipTo.Actor.Address.StreetAddressOne!""?json_string}",
|
"first_name": "${(executionflow.ShipTo.Contact.FirstName!"")?json_string}",
|
||||||
"additional_address_data_1": "${executionflow.ShipTo.Actor.Address.StreetAddressTwo!""?json_string}",
|
"last_name" :"${(executionflow.ShipTo.Contact.LastName!"")?json_string}",
|
||||||
"additional_address_data_2": "${executionflow.ShipTo.Actor.Address.StreetAddressThree!""?json_string}",
|
<#if executionflow.ShipTo.Actor.Address.Name?? && executionflow.ShipTo.Actor.Address.Name!="">
|
||||||
"postal_code": "${executionflow.ShipTo.Actor.Address.PostalCode!""}",
|
"name_or_company_name" : "${(executionflow.ShipTo.Actor.Address.Name!"")?json_string}",
|
||||||
"iso_country_code": "${executionflow.ShipTo.Actor.Address.CountryCode!""}"
|
<#else>
|
||||||
},
|
"name_or_company_name" : "${(executionflow.ShipTo.Contact.FirstName!"")?json_string} ${(executionflow.ShipTo.Contact.LastName!"")?json_string}",
|
||||||
|
</#if>
|
||||||
|
<#if executionflow.ShipTo.Contact.Emails?? && executionflow.ShipTo.Contact.Emails[0]!="">
|
||||||
|
"mail_address": "${executionflow.ShipTo.Contact.Emails[0]?json_string}",
|
||||||
|
</#if>
|
||||||
|
<#if executionflow.ShipTo.Contact.Phones?? && executionflow.ShipTo.Contact.Phones[0]!="">
|
||||||
|
"mobile_phone_number": "${executionflow.ShipTo.Contact.Phones[0]?json_string}",
|
||||||
|
</#if>
|
||||||
|
"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!"")?json_string}",
|
||||||
|
"post_code_area_name" : "${(executionflow.ShipTo.Actor.Address.City!"")?json_string}",
|
||||||
|
"iso_country_code": "${(executionflow.ShipTo.Actor.Address.CountryCode!"")?json_string}"
|
||||||
|
}
|
||||||
</#if>
|
</#if>
|
||||||
<#if executionflow.Lines??>
|
<#if executionflow.Lines??>
|
||||||
|
,
|
||||||
"line_list": [
|
"line_list": [
|
||||||
<#list executionflow.Lines as line>
|
<#list executionflow.Lines as line>
|
||||||
<#-- ******* line MetaData and Segmentationkeys to maps ******** -->
|
<#-- ******* line MetaData and Segmentationkeys to maps ******** -->
|
||||||
@@ -66,7 +93,7 @@
|
|||||||
"owner_code_to_prepare" :"${owner_code_to_prepare}",
|
"owner_code_to_prepare" :"${owner_code_to_prepare}",
|
||||||
"grade_code_to_prepare" :"${grade_code_to_prepare}",
|
"grade_code_to_prepare" :"${grade_code_to_prepare}",
|
||||||
"input_order_data": "false",
|
"input_order_data": "false",
|
||||||
"batch_1": "${batch_1}",
|
"batch_1": "${batch_1?json_string}",
|
||||||
"base_lv_quantity": "true",
|
"base_lv_quantity": "true",
|
||||||
"any_lv": "false"
|
"any_lv": "false"
|
||||||
<#--
|
<#--
|
||||||
@@ -76,10 +103,11 @@
|
|||||||
"substitution_possible": "false"
|
"substitution_possible": "false"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
}<#sep>,</#sep>
|
}
|
||||||
|
<#sep>,</#sep>
|
||||||
</#list>
|
</#list>
|
||||||
</#if>
|
|
||||||
]
|
]
|
||||||
}
|
</#if>
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -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>-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<#include "RPtoRFX_Receipt_DefaultHeaderData.ftl">
|
<#include "RPtoRFX_Receipt_DefaultHeaderData.ftl">
|
||||||
<#assign aDateTime = .now>
|
|
||||||
{
|
{
|
||||||
"id" : {"refid" : "${executionflow.OrderID}"},
|
"id" : {"refid" : "${executionflow.OrderID?json_string}"},
|
||||||
"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",
|
||||||
"method" : "POST",
|
"method" : "POST",
|
||||||
"uri_substitutions": {
|
"uri_substitutions": {
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
},
|
},
|
||||||
"payload" :
|
"payload" :
|
||||||
{
|
{
|
||||||
"receipt_reference": "${executionflow.OrderID}",
|
"receipt_reference": "${executionflow.OrderID?json_string}",
|
||||||
"receipt_type": "${receipt_type}",
|
"receipt_type": "${receipt_type}",
|
||||||
"receipt_reason_code": "${receipt_reason_code}",
|
"receipt_reason_code": "${receipt_reason_code}",
|
||||||
"work_mode_code" : "${work_mode_code}",
|
"work_mode_code" : "${work_mode_code}",
|
||||||
@@ -19,15 +19,16 @@
|
|||||||
"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",
|
||||||
"dock_occupation_duration": 1,
|
"dock_occupation_duration": 1
|
||||||
|
|
||||||
<#if executionflow.Lines??>
|
<#if executionflow.Lines??>
|
||||||
|
,
|
||||||
"line_list": [
|
"line_list": [
|
||||||
<#list executionflow.Lines as line>
|
<#list executionflow.Lines as line>
|
||||||
|
|
||||||
@@ -46,7 +47,7 @@
|
|||||||
"level_1_quantity": ${line.RequestedMetrics.QuantityInBaseLV.Value!0},
|
"level_1_quantity": ${line.RequestedMetrics.QuantityInBaseLV.Value!0},
|
||||||
"owner_code": "${owner_code}",
|
"owner_code": "${owner_code}",
|
||||||
"grade_code": "${grade_code}",
|
"grade_code": "${grade_code}",
|
||||||
"batch_1": "${batch_1!""}",
|
"batch_1": "${batch_1?json_string!""}",
|
||||||
"optional_attributes": {
|
"optional_attributes": {
|
||||||
<#--"held_for_check": "false",
|
<#--"held_for_check": "false",
|
||||||
"held _for_repacking": "false",
|
"held _for_repacking": "false",
|
||||||
@@ -62,6 +63,5 @@
|
|||||||
</#list>
|
</#list>
|
||||||
]
|
]
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 += ",">
|
||||||
|
|||||||
Reference in New Issue
Block a user