tdi-connector/TDItoRP.ftl
frea 006d5c48c3 SCPN1-8384
(cherry picked from commit 0fcf1f7ac05e333a7d3c64b9873e511fb33da29e)
2025-02-24 10:28:24 +01:00

72 lines
2.3 KiB
Java

<#assign tdiEventMsg = JsonUtil.jsonToMap(input)>
<#assign projectRP = project>
<#assign organisationRP = organisation>
<#assign tdiEvent64b = JsonUtil.decodeBase64(tdiEventMsg.data) />
<#assign tdiEvent = JsonUtil.jsonToMap(tdiEvent64b)>
<#assign senderTag = tdiEventMsg.senderTag>
<#-- Target = 0 : Expedition , Target = 1 : Colis -->
<#if tdiEvent.Target == 0 >
<#stop >
<#else>
{"Header":
{
"ProjectID": "${projectRP}"
},
"ID":
{
"RefID": "${tdiEvent.HUReference1}"
},
"Payload":
{"Events": [
<#-- {"Date": {"DateTime": "${tdiEvent.EventDate?datetime.iso?iso_utc}", -->
{"Date": {"DateTime": "${tdiEvent.EventDate}",
"AuthorTimeZone": "UTC"
},
<#if tdiEvent.EventCode == "OK-COLLECTED" ||
tdiEvent.EventCode == "OK-EDI" ||
tdiEvent.EventCode == "OK-APPT-DATE" ||
tdiEvent.EventCode == "OK-APPT-NOTI" ||
tdiEvent.EventCode == "OK-APPT-NEED" ||
tdiEvent.EventCode == "ADM" ||
tdiEvent.EventCode == "RGP" >
"Code": "TRACKING_EVENT_IFTSTA_349", <#-- Handled by carrier -->
<#else>
<#if tdiEvent.EventCode?starts_with("TA") >
"Code": "TRACKING_EVENT_IFTSTA_56", <#-- Incomplete delivery -->
<#else>
<#if tdiEvent.EventCode?starts_with("T-") == true ||
tdiEvent.EventCode?starts_with("TD") == true ||
tdiEvent.EventCode == "OK-OUT-FOR-D" ||
tdiEvent.EventCode == "OK-IN-TRANST" >
"Code": "TRACKING_EVENT_IFTSTA_113",<#-- Delivery in progress -->
<#else>
<#if tdiEvent.EventCode?starts_with("D-") == true ||
tdiEvent.EventCode == "OK-DELIVERED" ||
tdiEvent.EventCode == "POD" ||
tdiEvent.EventCode == "FAC" ||
tdiEvent.EventCode == "OK-WITHDRAWA" >
"Code": "TRACKING_EVENT_IFTSTA_21",<#-- Process Completed -->
<#else>
<#if tdiEvent.EventCode?starts_with("DC") == true ||
tdiEvent.EventCode?starts_with("DN") == true ||
tdiEvent.EventCode?starts_with("DR") == true ||
tdiEvent.EventCode?starts_with("C-") == true ||
tdiEvent.EventCode == "SUP" ||
tdiEvent.EventCode == "NEX" >
"Code": "TRACKING_EVENT_IFTSTA_14",<#-- Delivery completed -->
<#else>
"Code": "TRACKING_EVENT_UNKNOWN",
</#if>
</#if>
</#if>
</#if>
</#if>
"Reason": "${tdiEvent.EventLabel}"
}
]
}
}
</#if>