<#-- **** input parameters ***** --> <#-- input : message HARDIS WMS --> <#-- project : projectId in HARDIS SC NETWORK --> <#-- organisation : organisationtId in HARDIS SC NETWORK --> <#include "ReflexUtils.ftl"> <#assign cloudEventMsg = JsonUtil.jsonToMap(input)> <#assign projectRP = project> <#assign organisationRP = organisation> <#include "RFX_PartnerAPP_Settings.ftl"> <#assign aDateTime = .now> <#switch cloudEventMsg.action> <#case "C"> <#--<#case "U"> <#-- *********************************************** Action = CREATE or UPDATE ******************** --> <#assign dataRfx = JsonUtil.decodeBase64(cloudEventMsg.data) /> <#assign preparationOrder = JsonUtil.jsonToMap(dataRfx)> <#if preparationOrder.total_lv_validated?? && preparationOrder.total_lv_validated !=0> <#if preparationOrder.preparation_type_code=="010" || preparationOrder.preparation_type_code=="030"> <#if preparationOrder.preparation_line_lst??> [ { <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitGoodsPrepared> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrPrepa_HandlingunitGoodsPrepared.ftl"> }, { <#assign apiReflexPlatformID = ApiReflexPlatformID.HandlingunitDispatched> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrPrepa_HandlingUnitDispatched.ftl"> } <#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 refIDHmap ={}> <#assign hd_numberHmap ={}> <#assign hd_numberHmapHUadded ={}> <#list preparationOrder.preparation_line_lst?filter(l ->l.despatched_ipg_list?? ) as preparation_line> <#list preparation_line.despatched_ipg_list as despatched_ipg> <#assign HUadded_packing_datetime = RfxDateTimetoUTCWithTimezone(preparation_line.confirmation_datetime,time_zone_rfx) /> <#if (!hd_numberHmap[despatched_ipg.hd_number]?? || !hd_numberHmap[despatched_ipg.carton_number]??) && (trackingNumberSource==2 || trackingNumberSource==3 || (despatched_ipg.consignment_unit_id!="" && trackingNumberSource==1))> , { <#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrPrepa_TrackingHuLabelled.ftl"> } <#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 !hd_numberHmapHUadded[despatched_ipg.hd_number]?? && (trackingNumberSource==2 || trackingNumberSource==3 )> <#assign hd_numberHmapHUadded += {despatched_ipg.hd_number,despatched_ipg.hd_number}> , { <#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingHULabeled> "apiReflexPlatformID" : "${apiReflexPlatformID}", "datas" : <#include "RFXtoRP_HsrPrepa_HUsAdded_TrackingHuLabelled.ftl"> } <#assign refIDHmap ={}> ] <#else> <#-- No line--> <#stop> <#else> <#-- Preparation Type not supported--> <#stop> <#else> <#-- no confirmed quantity for the preparation - preparation closed--> <#stop> <#break> <#case "D"> <#-- *********************************************** Action = DELETE ******************** --> <#stop> <#break> <#default> <#stop>