You've already forked reflex-wms-connector
Merge branch 'release/1.2' into 'main-1.2'
release/1.2 into main-1.2 SCPN1-11488 See merge request r-d-technique/tiers/reflex-wms-connector!330
This commit is contained in:
@@ -26,13 +26,7 @@
|
|||||||
"Goods": {
|
"Goods": {
|
||||||
"ItemID": "${stock.item_code?trim?json_string}",
|
"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 />
|
"PriorityDate": "${RfxDatetoTimestampUTC(stock.priority_date,rfx_date_format_default)}",
|
||||||
<#if (stock.priority_date!="") && (stock.priority_date?starts_with("00")== false) >
|
|
||||||
"PriorityDate" : "${priority_date}",
|
|
||||||
<#else>
|
|
||||||
"PriorityDate": "1970-01-01T00:00:00Z",
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
<#-- Segmentation keys inclusion -->
|
<#-- Segmentation keys inclusion -->
|
||||||
<#include "RFXtoRP_HfDtlStockLs_StockSnapshotted_SegmentationKeys.ftl">
|
<#include "RFXtoRP_HfDtlStockLs_StockSnapshotted_SegmentationKeys.ftl">
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,12 +9,12 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
|
<#if receipt.receipt_reference?? && receipt.receipt_reference!="">
|
||||||
"RefID": "${receipt.receipt_reference?trim?json_string}",
|
"RefID": "${receipt.receipt_reference?trim?json_string}",
|
||||||
<#else>
|
<#else>
|
||||||
"RefID": "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year}${receipt.receipt_number}",
|
"RefID": "${receipt.physical_depot_code?trim?json_string}${receipt.activity_code?trim?json_string}${receipt.originator_code?trim?json_string}${receipt.receipt_year}${receipt.receipt_number}",
|
||||||
</#if>
|
</#if>
|
||||||
"RefDate": {
|
"RefDate": {
|
||||||
"DateTime": "${receipt_creation_datetime}",
|
"DateTime": "${receipt_creation_datetime}",
|
||||||
"AuthorTimeZone": "${time_zone_rfx}"
|
"AuthorTimeZone": "${time_zone_rfx}"
|
||||||
}
|
}
|
||||||
@@ -34,14 +34,12 @@
|
|||||||
"ItemID": "${line.item_code?trim?json_string!"0"}",
|
"ItemID": "${line.item_code?trim?json_string!"0"}",
|
||||||
"LVBranchID": "${line.item_lv_code?json_string!"0"}",
|
"LVBranchID": "${line.item_lv_code?json_string!"0"}",
|
||||||
<#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)>
|
<#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)>
|
||||||
<#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc />
|
"PriorityDate": "${RfxDatetoTimestampUTC(line.line_without_detail.priority_date,rfx_date_format_default)}",
|
||||||
"PriorityDate": "${line_without_detail_priority_date}",
|
|
||||||
<#else>
|
<#else>
|
||||||
<#if (line.line_detail?? && line.line_detail?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)>
|
<#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": "${RfxDatetoTimestampUTC(line.line_detail[0].priority_date,rfx_date_format_default)}",
|
||||||
"PriorityDate": "${line_detail_priority_date}",
|
|
||||||
<#else>
|
<#else>
|
||||||
"PriorityDate": "1970-01-01T00:00:00Z",
|
"PriorityDate": "${DEFAULT_TIMESTAMP}",
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
<#-- Segmentation Keys inclusion -->
|
<#-- Segmentation Keys inclusion -->
|
||||||
|
|||||||
@@ -3,8 +3,7 @@
|
|||||||
<#include "ActorPrefix.ftl">
|
<#include "ActorPrefix.ftl">
|
||||||
[
|
[
|
||||||
<#assign receipt_confirmation_datetime = RfxDateTimetoUTCWithTimezone(reflexMvtStockInterface.ipg_move_creation_datetime,time_zone_rfx) />
|
<#assign receipt_confirmation_datetime = RfxDateTimetoUTCWithTimezone(reflexMvtStockInterface.ipg_move_creation_datetime,time_zone_rfx) />
|
||||||
<#assign priority_date = reflexMvtStockInterface.ipg_priority_date?datetime(rfx_date_format_default)?iso_utc />
|
{
|
||||||
{
|
|
||||||
"Header": {
|
"Header": {
|
||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
@@ -22,11 +21,7 @@
|
|||||||
"Goods": {
|
"Goods": {
|
||||||
"ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
|
"ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
|
||||||
"LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}",
|
"LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}",
|
||||||
<#if (reflexMvtStockInterface.ipg_priority_date!="") && (reflexMvtStockInterface.ipg_priority_date?starts_with("00")== false) >
|
"PriorityDate": "${RfxDatetoTimestampUTC(reflexMvtStockInterface.ipg_priority_date,rfx_date_format_default)}",
|
||||||
"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">
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
"520":"STOCK_MOVEMENT_TYPE_OUTBOUND"
|
"520":"STOCK_MOVEMENT_TYPE_OUTBOUND"
|
||||||
}>
|
}>
|
||||||
<#assign generation_date = RfxDateTimetoUTCWithTimezone(reflexMvtStockInterface.ipg_move_creation_datetime,time_zone_rfx) />
|
<#assign generation_date = RfxDateTimetoUTCWithTimezone(reflexMvtStockInterface.ipg_move_creation_datetime,time_zone_rfx) />
|
||||||
<#assign ipg_priority_datetime = reflexMvtStockInterface.ipg_priority_date?datetime(rfx_date_format_default)?iso_utc />
|
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"Header": {
|
"Header": {
|
||||||
@@ -31,11 +30,7 @@
|
|||||||
"Payload": {
|
"Payload": {
|
||||||
"Goods": {
|
"Goods": {
|
||||||
"ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
|
"ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
|
||||||
<#if (reflexMvtStockInterface.ipg_priority_date!="") && (reflexMvtStockInterface.ipg_priority_date?starts_with("00")== false) >
|
"PriorityDate": "${RfxDatetoTimestampUTC(reflexMvtStockInterface.ipg_priority_date,rfx_date_format_default)}",
|
||||||
"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">,
|
||||||
|
|||||||
@@ -82,37 +82,31 @@
|
|||||||
"ItemID": "${preparation_line.item_code?trim?json_string}",
|
"ItemID": "${preparation_line.item_code?trim?json_string}",
|
||||||
"LVBranchID": "${preparation_line.item_lv_code?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)>
|
<#if despatched_ipg.ipg_use_by_date?? && 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": "${RfxDatetoTimestampUTC(despatched_ipg.ipg_use_by_date,rfx_date_format_default)}",
|
||||||
"PriorityDate": "${priority_date}",
|
<#else>
|
||||||
<#else>
|
<#if despatched_ipg.ipg_best_before_date?? && despatched_ipg.ipg_best_before_date?length != 0 && (despatched_ipg.ipg_best_before_date?starts_with("00")== false)>
|
||||||
<#if (despatched_ipg.ipg_best_before_date?length != 0) && (despatched_ipg.ipg_best_before_date?starts_with("00")== false)>
|
"PriorityDate": "${RfxDatetoTimestampUTC(despatched_ipg.ipg_best_before_date,rfx_date_format_default)}",
|
||||||
<#assign priority_date = despatched_ipg.ipg_best_before_date?datetime(rfx_date_format_default)?iso_utc />
|
<#else>
|
||||||
"PriorityDate": "${priority_date}",
|
<#if despatched_ipg.ipg_sell_by_date?? && (despatched_ipg.ipg_sell_by_date?length != 0) && (despatched_ipg.ipg_sell_by_date?starts_with("00")== false)>
|
||||||
|
"PriorityDate": "${RfxDatetoTimestampUTC(despatched_ipg.ipg_sell_by_date,rfx_date_format_default)}",
|
||||||
|
<#else>
|
||||||
|
<#if despatched_ipg.ipg_manufacture_date?? && (despatched_ipg.ipg_manufacture_date?length != 0) && (despatched_ipg.ipg_manufacture_date?starts_with("00")== false)>
|
||||||
|
"PriorityDate": "${RfxDatetoTimestampUTC(despatched_ipg.ipg_manufacture_date,rfx_date_format_default)}",
|
||||||
<#else>
|
<#else>
|
||||||
<#if (despatched_ipg.ipg_sell_by_date?length != 0) && (despatched_ipg.ipg_sell_by_date?starts_with("00")== false)>
|
<#if despatched_ipg.ipg_receipt_date?? && (despatched_ipg.ipg_receipt_date?length != 0) && (despatched_ipg.ipg_receipt_date?starts_with("00")== false)>
|
||||||
<#assign priority_date = despatched_ipg.ipg_sell_by_date?datetime(rfx_date_format_default)?iso_utc />
|
"PriorityDate": "${RfxDatetoTimestampUTC(despatched_ipg.ipg_receipt_date,rfx_date_format_default)}",
|
||||||
"PriorityDate": "${priority_date}",
|
<#else>
|
||||||
<#else>
|
<#if preparationOrder.stock_despatch_at_preparation_datetime?? && (preparationOrder.stock_despatch_at_preparation_datetime?length != 0) && (preparationOrder.stock_despatch_at_preparation_datetime?starts_with("00")== false)>
|
||||||
<#if (despatched_ipg.ipg_manufacture_date?length != 0) && (despatched_ipg.ipg_manufacture_date?starts_with("00") == false)>
|
"PriorityDate": "${RfxDatetoTimestampUTC(preparationOrder.stock_despatch_at_preparation_datetime,rfx_date_format_default)}",
|
||||||
<#assign priority_date = despatched_ipg.ipg_manufacture_date?datetime(rfx_date_format_default)?iso_utc />
|
<#else>
|
||||||
"PriorityDate": "${priority_date}",
|
"PriorityDate": "${DEFAULT_TIMESTAMP}",
|
||||||
<#else>
|
|
||||||
<#if (despatched_ipg.ipg_receipt_date?length != 0) && (despatched_ipg.ipg_receipt_date?starts_with("00")== false)>
|
|
||||||
<#assign priority_date = despatched_ipg.ipg_receipt_date?datetime(rfx_date_format_default)?iso_utc />
|
|
||||||
"PriorityDate": "${priority_date}",
|
|
||||||
<#else>
|
|
||||||
<#if (preparationOrder.stock_despatch_at_preparation_datetime?length != 0) && (preparationOrder.stock_despatch_at_preparation_datetime?starts_with("00")== false)>
|
|
||||||
<#assign priority_date = preparationOrder.stock_despatch_at_preparation_datetime?datetime(rfx_date_format_default)?iso_utc />
|
|
||||||
"PriorityDate": "${priority_date}",
|
|
||||||
<#else>
|
|
||||||
"PriorityDate": "1970-01-01T00:00:00Z",
|
|
||||||
</#if>
|
|
||||||
</#if>
|
|
||||||
</#if>
|
|
||||||
</#if>
|
</#if>
|
||||||
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
|
||||||
<#-- Segmentation Keys inclusion -->
|
<#-- Segmentation Keys inclusion -->
|
||||||
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl">
|
<#include "RFXtoRP_HsrPrepa_GoodsPrepared_SegmentationKeys.ftl">
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"ProjectID": "${projectRP}"
|
"ProjectID": "${projectRP}"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"CustomFields": [
|
"CustomFields": [
|
||||||
{
|
{
|
||||||
"Key": "depot_code",
|
"Key": "depot_code",
|
||||||
"Value": "${receipt.physical_depot_code?trim?json_string}"
|
"Value": "${receipt.physical_depot_code?trim?json_string}"
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
<#if receipt.receipt_type == '020'>
|
<#if receipt.receipt_type == '020'>
|
||||||
"ActorID": "${RFXtoRPprefixConsignee(receipt.original_code?trim?json_string)}"
|
"ActorID": "${RFXtoRPprefixConsignee(receipt.original_code?trim?json_string)}"
|
||||||
<#else>
|
<#else>
|
||||||
"ActorID": "${RFXtoRPprefixSupplier(receipt.original_code?trim?json_string)}"
|
"ActorID": "${RFXtoRPprefixSupplier(receipt.original_code?trim?json_string)}"
|
||||||
</#if>
|
</#if>
|
||||||
},
|
},
|
||||||
"ShipTo" :
|
"ShipTo" :
|
||||||
@@ -67,7 +67,6 @@
|
|||||||
"ActorID": "${RFXtoRPprefixDepot(receipt.physical_depot_code?trim?json_string)}"
|
"ActorID": "${RFXtoRPprefixDepot(receipt.physical_depot_code?trim?json_string)}"
|
||||||
},
|
},
|
||||||
"ShipToAcked": true,
|
"ShipToAcked": true,
|
||||||
|
|
||||||
<#if receipt.carrier_informations.carrier_code != "">
|
<#if receipt.carrier_informations.carrier_code != "">
|
||||||
"Carrier":
|
"Carrier":
|
||||||
{
|
{
|
||||||
@@ -93,14 +92,12 @@
|
|||||||
"ItemID": "${line.item_code?trim?json_string!"0"}",
|
"ItemID": "${line.item_code?trim?json_string!"0"}",
|
||||||
"LVBranchID": "${line.item_lv_code?json_string!"0"}",
|
"LVBranchID": "${line.item_lv_code?json_string!"0"}",
|
||||||
<#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)>
|
<#if (line.line_without_detail?? && line.line_without_detail.priority_date?length != 0) && (line.line_without_detail.priority_date?starts_with("00") == false)>
|
||||||
<#assign line_without_detail_priority_date = line.line_without_detail.priority_date?datetime(rfx_date_format_default)?iso_utc />
|
"PriorityDate": "${RfxDatetoTimestampUTC(line.line_without_detail.priority_date,rfx_date_format_default)}",
|
||||||
"PriorityDate": "${line_without_detail_priority_date}",
|
|
||||||
<#else>
|
<#else>
|
||||||
<#if (line.line_detail?? && line.line_detail?size == 1 && line.line_detail[0].priority_date?length != 0) && (line.line_detail[0].priority_date?starts_with("00") == false)>
|
<#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": "${RfxDatetoTimestampUTC(line.line_detail[0].priority_date,rfx_date_format_default)}",
|
||||||
"PriorityDate": "${line_detail_priority_date}",
|
|
||||||
<#else>
|
<#else>
|
||||||
"PriorityDate": "1970-01-01T00:00:00Z",
|
"PriorityDate": "${DEFAULT_TIMESTAMP}",
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
<#-- Segmentation Keys inclusion -->
|
<#-- Segmentation Keys inclusion -->
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<#-- --------------------------------------------------------------------------------------- -->
|
<#-- -------------------------------------------------------------------------------------------- -->
|
||||||
<#-- Concat reflex timestamp with reflex time zone and format this date in ISO UTC format -->
|
<#-- Concat HARDIS WMS timestamp with HARDIS WMS time zone and format this date in ISO UTC format -->
|
||||||
<#-- --------------------------------------------------------------------------------------- -->
|
<#-- -------------------------------------------------------------------------------------------- -->
|
||||||
<#function RfxDateTimetoUTC rfxdatetime offset >
|
<#function RfxDateTimetoUTC rfxdatetime offset >
|
||||||
<#return ((rfxdatetime + offset)?datetime.iso?iso_utc)>
|
<#return ((rfxdatetime + offset)?datetime.iso?iso_utc)>
|
||||||
</#function>
|
</#function>
|
||||||
@@ -25,24 +25,48 @@
|
|||||||
<#return (endDate?long - startDate?long) / 1000 >
|
<#return (endDate?long - startDate?long) / 1000 >
|
||||||
</#function>
|
</#function>
|
||||||
|
|
||||||
|
|
||||||
<#-- --------------------------------------------------------------------------------------- -->
|
<#-- --------------------------------------------------------------------------------------- -->
|
||||||
<#-- Split email reflex into json array string -->
|
<#-- Split email HARDIS WMS 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"]" -->
|
||||||
<#-- --------------------------------------------------------------------------------------- -->
|
<#-- --------------------------------------------------------------------------------------- -->
|
||||||
<#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 += ",">
|
||||||
</#if>
|
</#if>
|
||||||
<#local str += "\"">
|
<#local str += "\"">
|
||||||
<#local str += email>
|
<#local str += email>
|
||||||
<#local str += "\"">
|
<#local str += "\"">
|
||||||
</#if>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
<#local str += "]">
|
<#local str += "]">
|
||||||
<#return (str)>
|
<#return (str)>
|
||||||
</#function>
|
</#function>
|
||||||
|
|
||||||
|
<#-- --------------------------------------------------------------------------------------- -->
|
||||||
|
<#-- validate and convert HARDIS WMS date field into UTC timestamp -->
|
||||||
|
<#-- Example : RfxDatetoTimestampUTC("2025-11-00", "yyyy-MM-dd) -->
|
||||||
|
<#-- return "2025-11-00T00:00:00Z" -->
|
||||||
|
<#-- --------------------------------------------------------------------------------------- -->
|
||||||
|
<#-- Default timestamp to use in case of invalid date -->
|
||||||
|
<#assign DEFAULT_TIMESTAMP = "1970-01-01T00:00:00Z">
|
||||||
|
<#function RfxDatetoTimestampUTC rfxdate rfx_date_format >
|
||||||
|
<#local fallback = DEFAULT_TIMESTAMP>
|
||||||
|
|
||||||
|
<#if !rfxdate?matches("[0-9]*-[0-9]*-[0-9]*")>
|
||||||
|
<#return fallback>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#attempt>
|
||||||
|
<#if rfxdate?? && rfxdate == rfxdate?date(rfx_date_format)?string(rfx_date_format) >
|
||||||
|
<#return rfxdate?datetime(rfx_date_format)?iso_utc>,
|
||||||
|
<#else>
|
||||||
|
<#return fallback>
|
||||||
|
</#if>
|
||||||
|
<#recover>
|
||||||
|
<#return fallback>
|
||||||
|
</#attempt>
|
||||||
|
</#function>
|
||||||
Reference in New Issue
Block a user