/* * CardBorderCrossing BORDER_CROSSING extraction for the bytebar tachograph schema. */ with OrgTree as ( select org.I_90021_OID from dbo.GetOrganisationTree(null, :organisationId, 0, null) org where :organisationId is not null ) , Base as ( select border.ID, border.Timestamp as occurred_at, border.Odo, border.ID_FileLog, c.ID as card_id, c.ID_Driver as driver_id, cn.AlphaCode as driver_card_nation, c.CardNumber as driver_card_number, leftNation.AlphaCode as country_from, enteredNation.AlphaCode as country_to, gnss.Latitude as latitude, gnss.Longitude as longitude, v.ID as vehicle_registration_id, v.ID_VehicleIdentification as vehicle_identification_id, vi.VIN as vehicle_vin, vehicleNation.AlphaCode as vehicle_registration_nation, v.VRN as vehicle_registration_number, coalesce(fl.DownloadDate, fl.OriginalDownloadDate, fl.TStamp, fl.CreationDate) as received_partner_at, coalesce(fl.ID, border.ID_FileLog, border.ID) as source_package_id_raw, coalesce(fl.ID_Card, border.ID_Card) as source_package_entity_id_raw, coalesce(fl.DownloadFrom, border.Timestamp) as source_package_period_from, coalesce(fl.DownloadTo, border.Timestamp) as source_package_period_to, coalesce(fl.CreationDate, fl.TStamp) as source_package_imported_at from dbo.CardBorderCrossing border join dbo.Card c on c.ID = border.ID_Card left join dbo.Nation cn on cn.ID = c.ID_Nation left join dbo.Nation leftNation on leftNation.ID = border.ID_NationLeft left join dbo.Nation enteredNation on enteredNation.ID = border.ID_NationEntered left join dbo.GnssPlace gnss on gnss.ID = border.ID_GnssPlace left join dbo.FileLog fl on fl.ID = border.ID_FileLog outer apply ( select top 1 used.ID_Vehicle from dbo.CardVehiclesUsed used where used.ID_Card = border.ID_Card and (used.FirstUse is null or used.FirstUse <= border.Timestamp) and (used.LastUse is null or used.LastUse >= border.Timestamp) order by used.FirstUse desc, used.ID desc ) cvu left join dbo.Vehicle v on v.ID = cvu.ID_Vehicle left join dbo.VehicleIdentification vi on vi.ID = v.ID_VehicleIdentification left join dbo.Nation vehicleNation on vehicleNation.ID = v.ID_Nation where (:occurredFrom is null or border.Timestamp >= :occurredFrom) and (:occurredTo is null or border.Timestamp < :occurredTo) and ( :organisationId is null or exists ( select 1 from dbo.Driver_I_90021 rel join OrgTree on OrgTree.I_90021_OID = rel.ID_I_90021 where rel.ID_Driver = c.ID_Driver and rel.GILT_BIS is null ) ) ) select cast(base.ID as varchar(128)) as source_row_id, concat('TACHOGRAPH:CARD_BORDER_CROSSING:', base.ID) as external_source_event_id, base.occurred_at, base.received_partner_at, cast(base.Odo as bigint) * 1000 as odometer_m, base.latitude, base.longitude, base.country_from, base.country_to, cast(base.driver_id as varchar(128)) as driver_source_entity_id, base.driver_card_nation, base.driver_card_number, cast(base.vehicle_identification_id as varchar(128)) as vehicle_source_entity_id, base.vehicle_vin, cast(base.vehicle_registration_id as varchar(128)) as vehicle_registration_source_entity_id, base.vehicle_registration_nation, base.vehicle_registration_number, 'DRIVER_CARD' as source_package_kind, cast(base.source_package_id_raw as varchar(128)) as source_package_id, cast(base.source_package_entity_id_raw as varchar(128)) as source_package_entity_id, base.source_package_period_from, base.source_package_period_to, base.source_package_imported_at from Base base