Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.russianpost.dc.convert.emsevt.builder
- import org.apache.avro.specific.SpecificRecordBase
- import ru.russianpost.dc.convert.emsevt.Key
- import ru.russianpost.dc.convert.emsevt.model._
- import ru.russianpost.dc.convert.emsevt.utils.Utils.{ZonedToLocalDtString, dateTimeFormat, stringToDoubleTrimed, _}
- import ru.russianpost.dc.emsevt._
- import ru.russianpost.dc.model._
- import ru.russianpost.dc.model.topic_names.EMSEVTMessageTypes
- import ru.russianpost.dc.util.nowDT
- import ru.russianpost.dc.utils.RichSpecificRecordBase.RichSpecificRecordBase
- import ru.russianpost.tracking.commons.upu.emsevt.segments.Segment
- import ru.russianpost.tracking.commons.upu.emsevt.segments.v1._
- class BuildV1 {
- def build(key: Key, interchangeHeader: InterchangeHeader, interchangeTrailer: InterchangeTrailer,
- messageHeader: MessageHeader, messageTrailer: MessageTrailer, dataSegments: List[Segment]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- buildMessageSrcContainers(key: Key, interchangeHeader, interchangeTrailer, messageHeader, messageTrailer) :::
- buildEmaSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEMA](dataSegments)) :::
- buildEmbSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEMB](dataSegments)) :::
- buildEmcSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEMC](dataSegments)) :::
- buildEmjSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEMJ](dataSegments)) :::
- buildEmkSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEMK](dataSegments)) :::
- buildEmdSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEMD](dataSegments)) :::
- buildEmeSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEME](dataSegments)) :::
- buildEmfSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEMF](dataSegments)) :::
- buildEmgSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEMG](dataSegments)) :::
- buildEmhSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEMH](dataSegments)) :::
- buildEmiSrcContainers(key,interchangeHeader, getSegmentsOfType[SegmentEMI](dataSegments))
- }
- def buildMessageSrcContainers(key: Key, header: InterchangeHeader, trailer: InterchangeTrailer, messageHeader: MessageHeader, messageTrailer: MessageTrailer): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- List(
- Emsevt_message_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setSyntaxIdentifier(header.syntaxIdentifier)
- .setSyntaxVersionNumber(stringToInt(header.syntaxVersionNumber))
- .setSenderIdentification(header.senderIdentification)
- .setSenderIdentificationCodeQualifier(header.senderIdentificationCodeQualifier)
- .setRecipientIdentification(header.recipientIdentification)
- .setRecipientIdentificationCodeQualifier(header.recipientIdentificationCodeQualifier)
- .setDateOfPreparation(header.dateOfPreparation)
- .setTimeOfPreparation(header.timeOfPreparation)
- .setInterchangeControlReference(header.interchangeControlReference)
- .setTestIndicator("")
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setMessageType("")
- .setMessageReferenceNumber(stringToInt(messageHeader.messageReferenceNumber))
- .setMessageTypeIdentifier(messageHeader.messageTypeIdentifier)
- .setMessageVersionNumber(stringToInt(messageHeader.messageVersionNumber))
- .setMessageReleaseNumber(stringToInt(messageHeader.messageReleaseNumber))
- .setControllingAgency(messageHeader.controllingAgency)
- .setNumberOfSegmentsInTheMessage(stringToInt(messageTrailer.numberOfSegments))
- .setInterchangeControlCount(stringToInt(trailer.interchangeControlCount))
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtMessageSrc))
- SrcAvro
- }
- def buildEmaSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEMA]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_ema_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setDestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setOfficeOfOriginId("")
- .setCustomersAccount("")
- .setSendersPostcode("")
- .setPlaceOfOrigin("")
- .setAddresseePostcode(x.getAddresseePostcode)
- .setPlaceOfDestination("")
- .setItemDeliveryLocationType("")
- .setDeliveryPointHouseIdentifier("")
- .setDeliveryPointAddressLine1("")
- .setDeliveryPointAddressLine2("")
- .setSendersTelephone("")
- .setSendersEmail("")
- .setAddresseesName("")
- .setAddresseesTelephone("")
- .setAddresseesEmail("")
- .setCollectionPostcode("")
- .setNetworkEntryLocationType("")
- .setItemLodgementMode("")
- .setItemCategory("")
- .setItemSubClass("")
- .setItemHandlingClass("")
- .setItemGrossWeight(null.asInstanceOf[Double])
- .setItemNetWeight(null.asInstanceOf[Double])
- .setItemVolume(null.asInstanceOf[Double])
- .setPostageAmount(null.asInstanceOf[Double])
- .setPostageCurrency("")
- .setCustomerChargingArrangement("")
- .setCodAmount(null.asInstanceOf[Double])
- .setCodCurrency("")
- .setCodBic("")
- .setCodIban("")
- .setMailSourceExport("")
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemDeliveryServiceType("")
- .setConsumerRegistrationNumber("")
- .setPickUpPointId("")
- .setAddresseesLanguage("")
- .setAlternativeDeliveryAddressLine1("")
- .setAlternativeDeliveryAddressLine2("")
- .setAlternativeDeliveryAddressHouseIdentifier("")
- .setAlternativeDeliveryAddressPostcode("")
- .setAlternativeDeliveryAddressCityTown("")
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setItemDestinationId("")
- .setDirectionCcode(key.payload.system.get("name"))
- .setDeletedFlag(false)
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmaSrc))
- SrcAvro
- }
- def buildEmbSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEMB]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_emb_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setDestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setEventDate(Option(ZonedToLocalDtString(x.getTimestamp, dateFormat)).getOrElse(""))
- .setEventTime(Option(ZonedToLocalDtString(x.getTimestamp, "HH-mm")).getOrElse(""))
- .setOutwardOe(x.getOutwardOfEx)
- .setAddresseePostcode("")
- .setItemGrossWeight(null.asInstanceOf[Double])
- .setPostageAmount(null.asInstanceOf[Double])
- .setPostageCurrency("")
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmbSrc))
- SrcAvro
- }
- def buildEmcSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEMC]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_emc_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setDestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setEventDate(Option(ZonedToLocalDtString(x.getTimestamp, dateFormat)).getOrElse(""))
- .setEventTime(Option(ZonedToLocalDtString(x.getTimestamp, "HH-mm")).getOrElse(""))
- .setOutwardOe(x.getOutwardOfEx)
- .setDespatchNumber(x.getDespatchNumber)
- .setDespatchAddress(x.getDespatchAddress)
- .setExportReceptacleId("")
- .setAddresseePostcode("")
- .setItemCategory("")
- .setItemSubClass("")
- .setItemHandlingClass("")
- .setItemGrossWeight(null.asInstanceOf[Double])
- .setItemNetWeight(null.asInstanceOf[Double])
- .setItemVolume(null.asInstanceOf[Double])
- .setPostageAmount(null.asInstanceOf[Double])
- .setPostageCurrency("")
- .setMailSourceExport("")
- .setItemReasonForReturn(null.asInstanceOf[Int])
- .setExportFlowOrigin("")
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setItemDestinationId("")
- .setAddresseesName("")
- .setPlaceOfDestination("")
- .setItemDeliveryLocationType("")
- .setDeliveryPointHouseIdentifier("")
- .setDeliveryPointAddressLine1("")
- .setDeliveryPointAddressLine2("")
- .setCustomerChargingArrangement("")
- .setCodAmount(stringToDoubleTrimed(""))
- .setCodCurrency("")
- .setCodBic("")
- .setCodIban("")
- .setNetworkEntryLocationType("")
- .setSendersTelephone("")
- .setSendersEmail("")
- .setAddresseesTelephone("")
- .setAddresseesEmail("")
- .setAddresseesLanguage("")
- .setItemDeliveryServiceType("")
- .setConsumerRegistrationNumber("")
- .setPickUpPointId("")
- .setAlternativeDeliveryAddressLine1("")
- .setAlternativeDeliveryAddressLine2("")
- .setAlternativeDeliveryAddressHouseIdentifier("")
- .setAlternativeDeliveryAddressPostcode("")
- .setAlternativeDeliveryAddressCityTown("")
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmcSrc))
- SrcAvro
- }
- def buildEmjSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEMJ]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_emj_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setDestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setEventDate(Option(ZonedToLocalDtString(x.getTimestamp, dateFormat)).getOrElse(""))
- .setEventTime(Option(ZonedToLocalDtString(x.getTimestamp, "HH-mm")).getOrElse(""))
- .setTransitOe(x.getTransitOfEx)
- .setDespatchingOe(x.getDespatchingOfEx)
- .setReceivedDespatch(x.getReceivedDespatch)
- .setTransitImportReceptacleId("")
- .setTransitArrivalStatus("")
- .setTransitArrivalItemDirection("")
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmjSrc))
- SrcAvro
- }
- def buildEmkSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEMK]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_emk_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setDestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setEventDate(Option(ZonedToLocalDtString(x.getTimestamp, dateFormat)).getOrElse(""))
- .setEventTime(Option(ZonedToLocalDtString(x.getTimestamp, "HH-mm")).getOrElse(""))
- .setTransitOe(x.getTransitOfEx)
- .setTransitDespNumber(x.getTransitDespatchNumber)
- .setTransitDespAddress(x.getTransitDespatchAddress)
- .setTransitExportReceptacleId("")
- .setTransitArrivalItemDirection("")
- .setExportFlowTransit("")
- .setItemGrossWeight(null.asInstanceOf[Double])
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmkSrc))
- SrcAvro
- }
- def buildEmdSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEMD]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_emd_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setIdestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setEventDate(Option(ZonedToLocalDtString(x.getTimestamp, dateFormat)).getOrElse(""))
- .setEventTime(Option(ZonedToLocalDtString(x.getTimestamp, "HH-mm")).getOrElse(""))
- .setReceivingOe(x.getReceivingOfEx)
- .setDespatchingOe(x.getDespatchingOfEx)
- .setReceivedDespatch(x.getReceivedDespatch)
- .setImportReceptacleId("")
- .setDestinationArrivalStatus("")
- .setItemCategory("")
- .setItemSubClass("")
- .setItemHandlingClass("")
- .setMailSourceImport("")
- .setItemGrossWeightUponReceive(null.asInstanceOf[Double])
- .setItemNetWeightUponReceive(null.asInstanceOf[Double])
- .setItemVolumeUponReceive(null.asInstanceOf[Double])
- .setImportCustomsFacilityType("")
- .setNextProcessingPointId("")
- .setNextProcessingPointType("")
- .setNextProcessingPointPostcode("")
- .setAddresseePostcode("")
- .setItemDeliveryType("")
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmdSrc))
- SrcAvro
- }
- def buildEmeSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEME]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_eme_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setDestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setEventDate(Option(ZonedToLocalDtString(x.getTimestamp, dateFormat)).getOrElse(""))
- .setEventTime(Option(ZonedToLocalDtString(x.getTimestamp, "HH-mm")).getOrElse(""))
- .setReceivingOe(x.getReceivingOfEx)
- .setImportCustomsOfficeId("")
- .setImportCustomsFacilityType("")
- .setImportCustomsRetentionReason(null.asInstanceOf[Int])
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmeSrc))
- SrcAvro
- }
- def buildEmfSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEMF]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_emf_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setDestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setEventDate(Option(ZonedToLocalDtString(x.getTimestamp, dateFormat)).getOrElse(""))
- .setEventTime(Option(ZonedToLocalDtString(x.getTimestamp, "HH-mm")).getOrElse(""))
- .setInwardOe("")
- .setDutiableIndicator(x.getDutiableIndicator)
- .setImportCustomsFacilityType("")
- .setNextProcessingPointId("")
- .setNextProcessingPointType("")
- .setNextProcessingPointPostcode("")
- .setAddresseePostcode("")
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmfSrc))
- SrcAvro
- }
- def buildEmgSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEMG]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_emg_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setDestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setEventDate(Option(ZonedToLocalDtString(x.getTimestamp, dateFormat)).getOrElse(""))
- .setEventTime(Option(ZonedToLocalDtString(x.getTimestamp, "HH-mm")).getOrElse(""))
- .setDeliveryOfficeId("")
- .setDeliveryPostcode("")
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmgSrc))
- SrcAvro
- }
- def buildEmhSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEMH]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_emh_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setDestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setEventDate(Option(ZonedToLocalDtString(x.getTimestamp, dateFormat)).getOrElse(""))
- .setEventTime(Option(ZonedToLocalDtString(x.getTimestamp, "HH-mm")).getOrElse(""))
- .setDeliveryOfficeId("")
- .setUnsuccessfulDeliveryActionTaken("")
- .setUnsuccessfulDeliveryReason(null.asInstanceOf[Int])
- .setUnsuccessfulDeliveryCode("")
- .setItemRefusalNameSignatory("")
- .setAttemptedDeliveryLocation("")
- .setNextProcessingPointId("")
- .setNextProcessingPointType("")
- .setNextProcessingPointPostcode("")
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmhSrc))
- SrcAvro
- }
- def buildEmiSrcContainers(key: Key, header: InterchangeHeader, segment: List[SegmentEMI]): List[MessageContainer[_ <: SpecificRecordBase]] = {
- val SrcAvro =
- segment
- .map( x =>
- Emsevt_emi_src.newBuilder()
- .setInsertDate(Option(nowDT.toString("yyyy-MM-dd HH:mm:ss")).getOrElse(""))
- .setInterchangeId(header.senderIdentificationCodeQualifier + "-" + header.senderIdentificationCodeQualifier + "-" + header.interchangeControlReference)
- .setInterchangeDate(header.dateOfPreparation)
- .setCreationDate(key.payload.creationTime.getOrElse(""))
- .setDate(Option(nowDT.toString("yyyy-MM-dd")).getOrElse(""))
- .setDeletedFlag(false)
- .setMessageId(key.payload.msgId.getOrElse(""))
- .setItemIdentification(Option(x.getItemId).getOrElse(""))
- .setDestinationCountry(Option(x.getDestination).getOrElse(""))
- .setEventDateTime(Option(ZonedToLocalDtString(x.getTimestamp, dateTimeFormat)).getOrElse(""))
- .setEventDate(Option(ZonedToLocalDtString(x.getTimestamp, dateFormat)).getOrElse(""))
- .setEventTime(Option(ZonedToLocalDtString(x.getTimestamp, "HH-mm")).getOrElse(""))
- .setDeliveryOfficeId("")
- .setSignatoryName("")
- .setDeliveryLocation("")
- .setRecipientAddresseeRelationship("")
- .setItemOriginCountry(x.getItemOriginCountry)
- .setItemOriginOperator(x.getItemOriginOperator)
- .setItemIdType(x.getItemIdType)
- .setDirectionCcode(key.payload.system.get("name"))
- .build()
- .pack(EMSEVTMessageTypes.emsevtEmiSrc))
- SrcAvro
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement