You've already forked reflex-wms-connector
115 lines
6.7 KiB
Java
115 lines
6.7 KiB
Java
<#include "HfRpConfig.ftl">
|
|
<#include "ReflexUtils.ftl">
|
|
<#include "ActorPrefix.ftl">
|
|
[
|
|
<#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": {
|
|
"ProjectID": "${projectRP}"
|
|
},
|
|
"ID": {
|
|
<#-- Test if the Hu reference exists -->
|
|
<#assign HuReference="${reflexMvtStockInterface.hd_number?trim?json_string}"/>
|
|
<#if reflexMvtStockInterface.ipg_move_type?? && reflexMvtStockInterface.ipg_move_type=="120"> <#-- Transfer -->
|
|
<#if reflexMvtStockInterface.origin_order_line_reference?? && reflexMvtStockInterface.origin_order_line_reference!="">
|
|
<#assign HuEFID= "${reflexMvtStockInterface.original_receipt_physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.origin_order_line_reference?trim?json_string}"/>
|
|
<#else>
|
|
<#if reflexMvtStockInterface.receipt_reference?? && reflexMvtStockInterface.receipt_reference!="" && !reflexMvtStockInterface.receipt_reference?starts_with(reflexMvtStockInterface.original_receipt_physical_depot_code + reflexMvtStockInterface.activity_code + reflexMvtStockInterface.receipt_year_number)>
|
|
"ExecutionflowID": "${reflexMvtStockInterface.original_receipt_physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_reference?trim?json_string}",
|
|
<#else>
|
|
"ExecutionflowID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}",
|
|
</#if>
|
|
</#if>
|
|
<#else>
|
|
<#if reflexMvtStockInterface.originator_reference?? && reflexMvtStockInterface.originator_reference!="">
|
|
<#assign HuEFID= "${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.originator_reference}"/>
|
|
<#else>
|
|
<#assign HuEFID= "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}"/>
|
|
</#if>
|
|
</#if>
|
|
<#assign payload =
|
|
'{"Header":
|
|
{"ProjectID": "${projectRP!""}"},
|
|
"BlockFilters": [
|
|
{
|
|
"simpleFilters": [
|
|
{
|
|
"Attribute": "Payload.Reference",
|
|
"Value": "${HuReference}",
|
|
"Values": [],
|
|
"Operator": "",
|
|
"CombinedID": ""
|
|
},
|
|
{
|
|
"Attribute": "Payload.PreparedContents<>.ExecutionflowID",
|
|
"Value": "${HuEFID}",
|
|
"Values": [],
|
|
"Operator": "",
|
|
"CombinedID": ""
|
|
}
|
|
]
|
|
}
|
|
]}' />
|
|
<#assign queryApiReflexPlatformID = QueryApiReflexPlatformID.HandlingunitFind>
|
|
<#assign response = QueryApiReflexPlatformCall.call(queryApiReflexPlatformID,payload) />
|
|
<#assign HuRP = JsonUtil.jsonToMap(response)>
|
|
<#if HuRP?? && HuRP.Objects?? && HuRP.Objects[0]?? && HuRP.Objects[0].ID.RefID?? >
|
|
"RefID": "${HuRP.Objects[0].ID.RefID?json_string}"
|
|
<#else>
|
|
"RefID": "${reflexMvtStockInterface.hd_number?trim?json_string}-${receipt_confirmation_datetime}"
|
|
</#if>
|
|
},
|
|
"Payload": {
|
|
"Reference":"${reflexMvtStockInterface.hd_number?trim?json_string}",
|
|
"ReceivedContents" :[
|
|
{
|
|
"DateTime": {
|
|
"DateTime": "${receipt_confirmation_datetime}",
|
|
"AuthorTimeZone": "${time_zone_rfx}"
|
|
},
|
|
"Goods": {
|
|
"ItemID": "${reflexMvtStockInterface.item_code?trim?json_string}",
|
|
"LVBranchID": "${reflexMvtStockInterface.lv_code?json_string}",
|
|
<#if (priority_date!="") && (priority_date?starts_with("00")== false) >
|
|
"PriorityDate": "${priority_date}",
|
|
<#else>
|
|
"PriorityDate": "1970-01-01T00:00:00Z",
|
|
</#if>
|
|
<#-- Goods received Segmentation Keys inclusion -->
|
|
<#include "RFXtoRP_HsaIpgMove_GoodsReceived_SegmentationKeys.ftl">
|
|
},
|
|
<#if reflexMvtStockInterface.ipg_move_type?? && reflexMvtStockInterface.ipg_move_type=="120"> <#-- if it is a transfer-type movement -->
|
|
<#if reflexMvtStockInterface.origin_order_line_reference?? && reflexMvtStockInterface.origin_order_line_reference!="">
|
|
"ExecutionflowID": "${reflexMvtStockInterface.original_receipt_physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.origin_order_line_reference?trim?json_string}",
|
|
<#else>
|
|
<#if reflexMvtStockInterface.receipt_reference?? && reflexMvtStockInterface.receipt_reference!="" && !reflexMvtStockInterface.receipt_reference?starts_with(reflexMvtStockInterface.original_receipt_physical_depot_code + reflexMvtStockInterface.activity_code + reflexMvtStockInterface.receipt_year_number)>
|
|
"ExecutionflowID": "${reflexMvtStockInterface.original_receipt_physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_reference?trim?json_string}",
|
|
<#else>
|
|
"ExecutionflowID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}",
|
|
</#if>
|
|
</#if>
|
|
<#else>
|
|
"ExecutionflowID": "R${reflexMvtStockInterface.physical_depot_code}${reflexMvtStockInterface.activity_code}${reflexMvtStockInterface.originator_code}${reflexMvtStockInterface.receipt_year_number}${reflexMvtStockInterface.receipt_number}",
|
|
</#if>
|
|
<#if reflexMvtStockInterface.origin_order_line_number_reference?? && reflexMvtStockInterface.origin_order_line_number_reference!=0 && reflexMvtStockInterface.ipg_move_type=="120">
|
|
"LineID": "${reflexMvtStockInterface.origin_order_line_number_reference}",
|
|
<#else>
|
|
<#if reflexMvtStockInterface.line_number_reference?? && reflexMvtStockInterface.line_number_reference!=0>
|
|
"LineID": "${reflexMvtStockInterface.line_number_reference}",
|
|
<#else>
|
|
"LineID": "${reflexMvtStockInterface.receipt_line_number}",
|
|
</#if>
|
|
</#if>
|
|
"ActorID": "${RFXtoRPprefixDepot(reflexMvtStockInterface.physical_depot_code?trim?json_string)}",
|
|
"Quantity": {
|
|
"LVID": "${quantity_in_base_lv_RP_Cst}",
|
|
"Value": ${reflexMvtStockInterface.ipg_move_quantity_in_base_lvs}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
]
|