@golemio/pid 2.16.1-dev.1406992803 → 2.16.1-dev.1410154117
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/example/03_ropidgtfs_dump.sql +36 -0
- package/dist/integration-engine/ropid-gtfs/data-access/helpers/RawQueryProvider.d.ts +3 -0
- package/dist/integration-engine/ropid-gtfs/data-access/helpers/RawQueryProvider.js +61 -0
- package/dist/integration-engine/ropid-gtfs/data-access/helpers/RawQueryProvider.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.d.ts +2 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +21 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/interfaces/TripScheduleInterfaces.d.ts +22 -0
- package/dist/integration-engine/ropid-gtfs/interfaces/TripScheduleInterfaces.js +3 -0
- package/dist/integration-engine/ropid-gtfs/interfaces/TripScheduleInterfaces.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +22 -49
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.d.ts +0 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +1 -80
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/interfaces/TripRepositoryInterfaces.d.ts +0 -17
- package/package.json +1 -1
|
@@ -719,3 +719,39 @@ VALUES
|
|
|
719
719
|
(1.663,E'Sh1',50.11778512163701,14.460582733154297,25,NULL,E'2019-05-27 05:21:35.159+02',NULL,NULL,E'2019-05-27 05:21:35.159+02',NULL);
|
|
720
720
|
|
|
721
721
|
-- <<<
|
|
722
|
+
|
|
723
|
+
-- 209_1768_240722 for GTFS trip schedule lookup integration tests
|
|
724
|
+
INSERT INTO ropidgtfs_run_numbers_actual (route_id,run_number,service_id,trip_id,vehicle_type,trip_number,route_licence_number,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
725
|
+
('L209',42,'1111111-1','209_1768_240722',33,1032,100209,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL);
|
|
726
|
+
|
|
727
|
+
INSERT INTO ropidgtfs_stop_times_actual (arrival_time,arrival_time_seconds,departure_time,departure_time_seconds,drop_off_type,pickup_type,shape_dist_traveled,stop_headsign,stop_id,stop_sequence,trip_id,timepoint,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
728
|
+
('11:20:00',NULL,'11:20:00',NULL,'3','3',0.0,NULL,'U461Z2P',1,'209_1768_240722',NULL,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL),
|
|
729
|
+
('12:12:00',NULL,'12:12:00',NULL,'3','3',25.267349,NULL,'U1000Z6P',2,'209_1768_240722',NULL,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL);
|
|
730
|
+
|
|
731
|
+
INSERT INTO ropidgtfs_trips_actual (bikes_allowed,block_id,direction_id,exceptional,route_id,service_id,shape_id,trip_headsign,trip_id,wheelchair_accessible,trip_operation_type,trip_short_name,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
732
|
+
(2,NULL,1,0,'L209','1111111-1','L209V3','Letňany','209_1768_240722',1,NULL,NULL,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL);
|
|
733
|
+
|
|
734
|
+
INSERT INTO ropidgtfs_routes_actual (agency_id,is_night,route_color,route_desc,route_id,route_long_name,route_short_name,route_text_color,route_type,route_url,is_regional,is_substitute_transport,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
735
|
+
('99','0','007DA8',NULL,'L209','Letňany - Ve Žlíbku - Nádraží Uhříněves','209','FFFFFF',3,'https://pid.cz/linka/209','0','0',NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL);
|
|
736
|
+
|
|
737
|
+
|
|
738
|
+
-- 301_1_240701 and 174_73_240701 for GTFS overnight block schedule lookup integration tests
|
|
739
|
+
INSERT INTO ropidgtfs_run_numbers_actual (route_id,run_number,service_id,trip_id,vehicle_type,trip_number,route_licence_number,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
740
|
+
('L352',1,'1111111-1','301_1_240701',33,NULL,100301,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL),
|
|
741
|
+
('L352',1,'1111111-1','174_73_240701',33,NULL,100174,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL);
|
|
742
|
+
|
|
743
|
+
INSERT INTO ropidgtfs_stop_times_actual (arrival_time,arrival_time_seconds,departure_time,departure_time_seconds,drop_off_type,pickup_type,shape_dist_traveled,stop_headsign,stop_id,stop_sequence,trip_id,timepoint,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
744
|
+
('21:00:00',NULL,'21:00:00',NULL,'3','3',0.0,NULL,'U1200Z2',1,'301_1_240701',NULL,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL),
|
|
745
|
+
('00:30:00',NULL,'00:30:00',NULL,'3','3',8.636368,NULL,'U1007Z71',2,'301_1_240701',NULL,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL);
|
|
746
|
+
|
|
747
|
+
INSERT INTO ropidgtfs_stop_times_actual (arrival_time,arrival_time_seconds,departure_time,departure_time_seconds,drop_off_type,pickup_type,shape_dist_traveled,stop_headsign,stop_id,stop_sequence,trip_id,timepoint,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
748
|
+
('00:30:00',NULL,'00:30:00',NULL,'3','3',0.0,NULL,'U1007Z71P',1,'174_73_240701',NULL,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL),
|
|
749
|
+
('00:50:00',NULL,'00:50:00',NULL,'3','3',6.388777,NULL,'U872Z8P',2,'174_73_240701',NULL,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL);
|
|
750
|
+
|
|
751
|
+
INSERT INTO ropidgtfs_trips_actual (bikes_allowed,block_id,direction_id,exceptional,route_id,service_id,shape_id,trip_headsign,trip_id,wheelchair_accessible,trip_operation_type,trip_short_name,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
752
|
+
(2,'301_1_240701',1,0,'L301','1111111-1','L301V1','Praha,Luka','301_1_240701',1,NULL,NULL,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL),
|
|
753
|
+
(2,'301_1_240701',1,0,'L174','1111111-1','L174V5','Vypich','174_73_240701',1,NULL,NULL,NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL);
|
|
754
|
+
|
|
755
|
+
INSERT INTO ropidgtfs_routes_actual (agency_id,is_night,route_color,route_desc,route_id,route_long_name,route_short_name,route_text_color,route_type,route_url,is_regional,is_substitute_transport,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
756
|
+
('99','0','007DA8',NULL,'L301','Praha, Luka - Chýnice','301','FFFFFF',3,'https://pid.cz/linka/301','1','0',NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL),
|
|
757
|
+
('99','0','007DA8',NULL,'L174','Kukulova - Luka - Řeporyjské náměstí - Třebonice','174','FFFFFF',3,'https://pid.cz/linka/174','0','0',NULL,'2024-08-12 05:22:55.858',NULL,NULL,'2024-08-12 05:22:55.858',NULL);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RawQueryProvider = void 0;
|
|
4
|
+
const const_1 = require("../../../../schema-definitions/const");
|
|
5
|
+
class RawQueryProvider {
|
|
6
|
+
static getFindGtfsCommonTripsQuery() {
|
|
7
|
+
/* eslint-disable max-len */
|
|
8
|
+
return `
|
|
9
|
+
set local search_path to ${const_1.PG_SCHEMA};
|
|
10
|
+
with trip_schedule as (
|
|
11
|
+
select
|
|
12
|
+
block_id,
|
|
13
|
+
trip_id
|
|
14
|
+
from
|
|
15
|
+
ropidgtfs_precomputed_trip_schedule
|
|
16
|
+
where
|
|
17
|
+
route_licence_number = :routeLicenceNumber
|
|
18
|
+
and (case when :tripNumber::int is null then trip_number is null else trip_number = :tripNumber::int end)
|
|
19
|
+
and start_timestamp::date = :startTimestamp::date
|
|
20
|
+
),
|
|
21
|
+
trip_ids as (
|
|
22
|
+
select
|
|
23
|
+
array_agg(trip.trip_id) as trip_ids
|
|
24
|
+
from
|
|
25
|
+
ropidgtfs_trips as trip
|
|
26
|
+
cross join
|
|
27
|
+
trip_schedule
|
|
28
|
+
where
|
|
29
|
+
trip.block_id = trip_schedule.block_id
|
|
30
|
+
or (trip_schedule.block_id is null and trip.trip_id = trip_schedule.trip_id)
|
|
31
|
+
)
|
|
32
|
+
select distinct on (ord)
|
|
33
|
+
trip_id as gtfs_trip_id,
|
|
34
|
+
trip_headsign as gtfs_trip_headsign,
|
|
35
|
+
route_id as gtfs_route_id,
|
|
36
|
+
route_short_name as gtfs_route_short_name,
|
|
37
|
+
direction_id as gtfs_direction_id,
|
|
38
|
+
shape_id as gtfs_shape_id,
|
|
39
|
+
min_stop_time::varchar as min_stop_time,
|
|
40
|
+
max_stop_time::varchar as max_stop_time,
|
|
41
|
+
block_id as gtfs_block_id,
|
|
42
|
+
trip_short_name as gtfs_trip_short_name,
|
|
43
|
+
route_type as gtfs_route_type,
|
|
44
|
+
trip_number as cis_trip_number,
|
|
45
|
+
run_number as internal_run_number,
|
|
46
|
+
origin_route_name as internal_route_name
|
|
47
|
+
from
|
|
48
|
+
ropidgtfs_precomputed_trip_schedule trip_schedule
|
|
49
|
+
cross join
|
|
50
|
+
trip_ids
|
|
51
|
+
join
|
|
52
|
+
unnest(trip_ids) with ordinality t(trip_id, ord) using (trip_id)
|
|
53
|
+
where
|
|
54
|
+
start_timestamp >= :startTimestamp::timestamptz
|
|
55
|
+
order by ord, start_timestamp asc;
|
|
56
|
+
`;
|
|
57
|
+
/* eslint-enable max-len */
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.RawQueryProvider = RawQueryProvider;
|
|
61
|
+
//# sourceMappingURL=RawQueryProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RawQueryProvider.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/helpers/RawQueryProvider.ts"],"names":[],"mappings":";;;AAAA,gEAAuC;AAEvC,MAAa,gBAAgB;IAClB,MAAM,CAAC,2BAA2B;QACrC,4BAA4B;QAC5B,OAAO;uCACwB,iBAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA+CvC,CAAC;QACF,2BAA2B;IAC/B,CAAC;CACJ;AAtDD,4CAsDC"}
|
package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ILookupTripSchedule, ILookupTripScheduleInput } from "../../interfaces/TripScheduleInterfaces";
|
|
1
2
|
import { IScheduleDto } from "../../../../schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto";
|
|
2
3
|
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
|
|
3
4
|
import { FindOptions } from "@golemio/core/dist/shared/sequelize";
|
|
@@ -6,4 +7,5 @@ export declare class TripScheduleRepository extends PostgresModel implements IMo
|
|
|
6
7
|
constructor();
|
|
7
8
|
findAll: (options: FindOptions) => Promise<IScheduleDto[]>;
|
|
8
9
|
populate: (sourceTableSuffix: SourceTableSuffixEnum) => Promise<void>;
|
|
10
|
+
findTripsByRouteAndTripNumber: (trip: ILookupTripScheduleInput) => Promise<ILookupTripSchedule[]>;
|
|
9
11
|
}
|
package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js
CHANGED
|
@@ -14,8 +14,11 @@ const const_1 = require("../../../../schema-definitions/const");
|
|
|
14
14
|
const ropid_gtfs_1 = require("../../../../schema-definitions/ropid-gtfs");
|
|
15
15
|
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
16
16
|
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
17
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
17
18
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
19
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
18
20
|
const SourceTableSuffixEnum_1 = require("../../helpers/SourceTableSuffixEnum");
|
|
21
|
+
const RawQueryProvider_1 = require("../helpers/RawQueryProvider");
|
|
19
22
|
class TripScheduleRepository extends models_1.PostgresModel {
|
|
20
23
|
constructor() {
|
|
21
24
|
super("TripScheduleRepository", {
|
|
@@ -105,6 +108,24 @@ class TripScheduleRepository extends models_1.PostgresModel {
|
|
|
105
108
|
throw err;
|
|
106
109
|
}
|
|
107
110
|
});
|
|
111
|
+
this.findTripsByRouteAndTripNumber = (trip) => __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
const connection = this.sequelizeModel.sequelize;
|
|
113
|
+
const sqlQuery = RawQueryProvider_1.RawQueryProvider.getFindGtfsCommonTripsQuery();
|
|
114
|
+
try {
|
|
115
|
+
return yield connection.query(sqlQuery, {
|
|
116
|
+
type: sequelize_1.QueryTypes.SELECT,
|
|
117
|
+
replacements: {
|
|
118
|
+
routeLicenceNumber: trip.routeLicenseNumber,
|
|
119
|
+
tripNumber: trip.tripNumber,
|
|
120
|
+
startTimestamp: trip.startTimestamp,
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
// Explicit module name is needed here for the error to be properly logged by the custom logger
|
|
126
|
+
throw new golemio_errors_1.GeneralError("Failed to find trips by route and trip number", this.constructor.name, err, undefined, "pid");
|
|
127
|
+
}
|
|
128
|
+
});
|
|
108
129
|
}
|
|
109
130
|
}
|
|
110
131
|
exports.TripScheduleRepository = TripScheduleRepository;
|
package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TripScheduleRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"TripScheduleRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gEAAuC;AACvC,0EAA4C;AAE5C,2EAAoE;AACpE,yEAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,mEAA8E;AAC9E,+EAA4E;AAC5E,kEAA+D;AAE/D,MAAa,sBAAuB,SAAQ,sBAAa;IACrD;QACI,KAAK,CACD,wBAAwB,EACxB;YACI,yBAAyB,EAAE,sBAAS,CAAC,YAAY,CAAC,yBAAyB;YAC3E,WAAW,EAAE,sBAAS,CAAC,YAAY,CAAC,WAAW;YAC/C,QAAQ,EAAE,iBAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC;SACzD,EACD,IAAI,uCAAmB,CAAC,iCAAiC,EAAE,sBAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CACtG,CAAC;QAGC,YAAO,GAAG,CAAC,OAAoB,EAA2B,EAAE;YAC/D,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,iBAAG,GAAG,EAAE,IAAI,IAAK,OAAO,EAAG,CAAC;QAClE,CAAC,CAAC;QAEK,aAAQ,GAAG,CAAO,iBAAwC,EAAiB,EAAE;YAChF,4BAA4B;YAC5B,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqDI,iBAAS,0BAA0B,iBAAiB;8BAC9C,iBAAS;8BACT,iBAAS;6BACV,iBAAS,oBAAoB,iBAAiB;6BAC9C,iBAAS,qBAAqB,iBAAiB;6BAC/C,iBAAS,yBAAyB,iBAAiB;6BACnD,iBAAS,yBAAyB,iBAAiB;;SAEvE,CAAC;YACF,2BAA2B;YAE3B,IAAI;gBACA,MAAM,QAAQ,GAAG,sBAAS,CAAC,YAAY,CAAC,WAAW,GAAG,6CAAqB,CAAC,GAAG,CAAC;gBAEhF,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,KAAK,CAAC;2CACZ,iBAAS;+BACrB,QAAQ,KAAK,GAAG;aAClC,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,GAAG,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAEK,kCAA6B,GAAG,CAAO,IAA8B,EAAkC,EAAE;YAC5G,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC;YAClD,MAAM,QAAQ,GAAG,mCAAgB,CAAC,2BAA2B,EAAE,CAAC;YAEhE,IAAI;gBACA,OAAO,MAAM,UAAU,CAAC,KAAK,CAAsB,QAAQ,EAAE;oBACzD,IAAI,EAAE,sBAAU,CAAC,MAAM;oBACvB,YAAY,EAAE;wBACV,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;wBAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;qBACtC;iBACJ,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,+FAA+F;gBAC/F,MAAM,IAAI,6BAAY,CAAC,+CAA+C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;aACzH;QACL,CAAC,CAAA,CAAC;IAtGF,CAAC;CAuGJ;AApHD,wDAoHC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface ILookupTripScheduleInput {
|
|
2
|
+
routeLicenseNumber: string | null;
|
|
3
|
+
tripNumber: number | null;
|
|
4
|
+
startTimestamp: string | null;
|
|
5
|
+
}
|
|
6
|
+
export interface ILookupTripSchedule {
|
|
7
|
+
id?: string;
|
|
8
|
+
gtfs_trip_id: string;
|
|
9
|
+
gtfs_trip_headsign: string;
|
|
10
|
+
gtfs_route_id: string;
|
|
11
|
+
gtfs_route_short_name: string;
|
|
12
|
+
gtfs_direction_id: number;
|
|
13
|
+
gtfs_shape_id: string;
|
|
14
|
+
min_stop_time: string;
|
|
15
|
+
max_stop_time: string;
|
|
16
|
+
gtfs_block_id?: string;
|
|
17
|
+
gtfs_trip_short_name?: string;
|
|
18
|
+
gtfs_route_type?: number;
|
|
19
|
+
cis_trip_number?: number;
|
|
20
|
+
internal_run_number?: number;
|
|
21
|
+
internal_route_name?: string;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TripScheduleInterfaces.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/interfaces/TripScheduleInterfaces.ts"],"names":[],"mappings":""}
|
|
@@ -14,6 +14,7 @@ export declare class TripsRepository extends PostgresModel implements IModel {
|
|
|
14
14
|
private connector;
|
|
15
15
|
private positionsRepository;
|
|
16
16
|
private descriptorRepository;
|
|
17
|
+
private readonly tripScheduleRepository;
|
|
17
18
|
constructor();
|
|
18
19
|
findAllAssocTripIds: (tripIds: string[]) => Promise<IUpdateDelayTripsIdsData[]>;
|
|
19
20
|
findGTFSTripId: (trip: IUpdateGTFSTripIdData) => Promise<IUpdateDelayTripsIdsData | IUpdateDelayTripsIdsData[] | undefined>;
|
|
@@ -27,7 +28,6 @@ export declare class TripsRepository extends PostgresModel implements IModel {
|
|
|
27
28
|
}>>;
|
|
28
29
|
hasOne: (model: any, options: any) => any;
|
|
29
30
|
findAll: (options: Sequelize.FindOptions<any> | undefined) => Promise<any>;
|
|
30
|
-
private findGTFSTripIdBasic;
|
|
31
31
|
private findGTFSTripIdsTrain;
|
|
32
32
|
/**
|
|
33
33
|
* Return all valid trips for GTFS Realtime feed
|
|
@@ -45,14 +45,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
45
45
|
};
|
|
46
46
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
47
|
exports.TripsRepository = void 0;
|
|
48
|
+
const precomputed_1 = require("../../../../ropid-gtfs/data-access/precomputed");
|
|
48
49
|
const Di_1 = require("../../../ioc/Di");
|
|
50
|
+
const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
|
|
49
51
|
const const_1 = require("../../../../../schema-definitions/const");
|
|
50
52
|
const VPTripsModel_1 = require("../../../../../schema-definitions/vehicle-positions/models/VPTripsModel");
|
|
51
53
|
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
52
54
|
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
53
55
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
54
56
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
55
|
-
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
56
57
|
const sequelize_1 = __importStar(require("@golemio/core/dist/shared/sequelize"));
|
|
57
58
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
58
59
|
const const_2 = require("../../../../../const");
|
|
@@ -60,7 +61,6 @@ const DateTimeUtils_1 = require("../helpers/DateTimeUtils");
|
|
|
60
61
|
const PositionsRepository_1 = require("./PositionsRepository");
|
|
61
62
|
const RawQueryProvider_1 = require("./helpers/RawQueryProvider");
|
|
62
63
|
const TripsMapper_1 = __importDefault(require("./helpers/TripsMapper"));
|
|
63
|
-
const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
|
|
64
64
|
let TripsRepository = exports.TripsRepository = class TripsRepository extends models_1.PostgresModel {
|
|
65
65
|
constructor() {
|
|
66
66
|
super("VPTripsRepository", {
|
|
@@ -91,7 +91,7 @@ let TripsRepository = exports.TripsRepository = class TripsRepository extends mo
|
|
|
91
91
|
: [];
|
|
92
92
|
});
|
|
93
93
|
this.findGTFSTripId = (trip) => __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
94
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
95
95
|
let foundGtfsTrips = [];
|
|
96
96
|
if (Number(trip.start_cis_stop_id) >= 5400000 && Number(trip.start_cis_stop_id) < 5500000) {
|
|
97
97
|
// trains
|
|
@@ -100,15 +100,24 @@ let TripsRepository = exports.TripsRepository = class TripsRepository extends mo
|
|
|
100
100
|
}
|
|
101
101
|
else {
|
|
102
102
|
// other
|
|
103
|
-
foundGtfsTrips = yield this.
|
|
103
|
+
foundGtfsTrips = yield this.tripScheduleRepository.findTripsByRouteAndTripNumber({
|
|
104
|
+
routeLicenseNumber: (_a = trip.cis_line_id) !== null && _a !== void 0 ? _a : null,
|
|
105
|
+
tripNumber: (_b = trip.cis_trip_number) !== null && _b !== void 0 ? _b : null,
|
|
106
|
+
startTimestamp: trip.start_timestamp,
|
|
107
|
+
});
|
|
104
108
|
}
|
|
105
109
|
if (foundGtfsTrips.length < 1) {
|
|
110
|
+
this.logger.verbose(`Model data was not found for id '${trip.id}'`, true, this.constructor.name, 5001);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
else if (foundGtfsTrips.length > 10) {
|
|
114
|
+
this.logger.verbose(`There are too many gtfs trips (${foundGtfsTrips.length}) linked with id '${trip.id}'`);
|
|
106
115
|
return;
|
|
107
116
|
}
|
|
108
117
|
// update existing trip with gtfs_trip_id, gtfs_block_id and other gtfs data
|
|
109
118
|
const firstFoundGtfsTrip = foundGtfsTrips.shift();
|
|
110
119
|
const { startTimestamp, endTimestamp } = this.deduceTimestamps(firstFoundGtfsTrip.min_stop_time, firstFoundGtfsTrip.max_stop_time, trip.start_timestamp);
|
|
111
|
-
yield this.update(Object.assign(Object.assign({}, firstFoundGtfsTrip), { internal_run_number: (
|
|
120
|
+
yield this.update(Object.assign(Object.assign({}, firstFoundGtfsTrip), { internal_run_number: (_c = firstFoundGtfsTrip.internal_run_number) !== null && _c !== void 0 ? _c : trip.run_number, internal_route_name: (_d = firstFoundGtfsTrip.internal_route_name) !== null && _d !== void 0 ? _d : trip.origin_route_name, start_timestamp: startTimestamp, end_timestamp: endTimestamp }), {
|
|
112
121
|
where: {
|
|
113
122
|
id: trip.id,
|
|
114
123
|
},
|
|
@@ -119,8 +128,8 @@ let TripsRepository = exports.TripsRepository = class TripsRepository extends mo
|
|
|
119
128
|
gtfs_trip_id: firstFoundGtfsTrip.gtfs_trip_id,
|
|
120
129
|
gtfs_block_id: firstFoundGtfsTrip.gtfs_block_id,
|
|
121
130
|
gtfs_route_type: firstFoundGtfsTrip.gtfs_route_type,
|
|
122
|
-
internal_run_number: (
|
|
123
|
-
internal_route_name: (
|
|
131
|
+
internal_run_number: (_e = firstFoundGtfsTrip.internal_run_number) !== null && _e !== void 0 ? _e : trip.run_number,
|
|
132
|
+
internal_route_name: (_f = firstFoundGtfsTrip.internal_route_name) !== null && _f !== void 0 ? _f : trip.origin_route_name,
|
|
124
133
|
start_timestamp: startTimestamp.toISOString(),
|
|
125
134
|
end_timestamp: endTimestamp.toISOString(),
|
|
126
135
|
},
|
|
@@ -130,7 +139,7 @@ let TripsRepository = exports.TripsRepository = class TripsRepository extends mo
|
|
|
130
139
|
const newId = `${trip.id}_gtfs_trip_id_${foundTrip.gtfs_trip_id}`;
|
|
131
140
|
foundTrip.id = newId;
|
|
132
141
|
const { startTimestamp, endTimestamp } = this.deduceTimestamps(foundTrip.min_stop_time, foundTrip.max_stop_time, trip.start_timestamp);
|
|
133
|
-
yield this.save(Object.assign(Object.assign(Object.assign({}, trip), foundTrip), { internal_run_number: (
|
|
142
|
+
yield this.save(Object.assign(Object.assign(Object.assign({}, trip), foundTrip), { internal_run_number: (_g = foundTrip.internal_run_number) !== null && _g !== void 0 ? _g : trip.run_number, internal_route_name: (_h = foundTrip.internal_route_name) !== null && _h !== void 0 ? _h : trip.origin_route_name, start_timestamp: startTimestamp, end_timestamp: endTimestamp }));
|
|
134
143
|
newIds.push({
|
|
135
144
|
id: newId,
|
|
136
145
|
gtfs_trip_id: foundTrip.gtfs_trip_id,
|
|
@@ -139,8 +148,8 @@ let TripsRepository = exports.TripsRepository = class TripsRepository extends mo
|
|
|
139
148
|
start_timestamp: startTimestamp.toISOString(),
|
|
140
149
|
end_timestamp: endTimestamp.toISOString(),
|
|
141
150
|
run_number: trip.run_number,
|
|
142
|
-
internal_run_number: (
|
|
143
|
-
internal_route_name: (
|
|
151
|
+
internal_run_number: (_j = foundTrip.internal_run_number) !== null && _j !== void 0 ? _j : trip.run_number,
|
|
152
|
+
internal_route_name: (_k = foundTrip.internal_route_name) !== null && _k !== void 0 ? _k : trip.origin_route_name,
|
|
144
153
|
origin_route_name: trip.origin_route_name,
|
|
145
154
|
vehicle_registration_number: trip.vehicle_registration_number,
|
|
146
155
|
});
|
|
@@ -228,52 +237,15 @@ let TripsRepository = exports.TripsRepository = class TripsRepository extends mo
|
|
|
228
237
|
this.findAll = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
229
238
|
return this.sequelizeModel.findAll(options);
|
|
230
239
|
});
|
|
231
|
-
this.findGTFSTripIdBasic = (trip) => __awaiter(this, void 0, void 0, function* () {
|
|
232
|
-
const connection = this.connector.getConnection();
|
|
233
|
-
const startDate = (0, moment_timezone_1.default)(trip.start_timestamp).tz("Europe/Prague");
|
|
234
|
-
const startDateDayBefore = startDate.clone().subtract(1, "day");
|
|
235
|
-
const startDateYMD = startDate.format("YYYY-MM-DD");
|
|
236
|
-
const startDateDayName = startDate.format("dddd").toLowerCase();
|
|
237
|
-
const startDateDayBeforeYMD = startDateDayBefore.format("YYYY-MM-DD");
|
|
238
|
-
const startDateDayBeforeDayName = startDateDayBefore.format("dddd").toLowerCase();
|
|
239
|
-
const sqlQuery = RawQueryProvider_1.RawQueryProvider.getFindGtfsCommonTripsQuery(startDateDayName, startDateDayBeforeDayName);
|
|
240
|
-
let result = (yield connection.query(sqlQuery, {
|
|
241
|
-
type: sequelize_1.default.QueryTypes.SELECT,
|
|
242
|
-
bind: {
|
|
243
|
-
startDateDayBeforeYMD,
|
|
244
|
-
startDateYMD,
|
|
245
|
-
cisLineShortName: trip.cis_line_short_name,
|
|
246
|
-
startCisStopId: trip.start_cis_stop_id || 0,
|
|
247
|
-
startAswStopId: trip.start_asw_stop_id || "",
|
|
248
|
-
startCisStopPlatformCode: trip.start_cis_stop_platform_code,
|
|
249
|
-
startDateFormated: startDate.utc().format(),
|
|
250
|
-
},
|
|
251
|
-
}));
|
|
252
|
-
if (result.length < 1) {
|
|
253
|
-
this.logger.verbose(`${this.constructor.name}: Model data was not found for id '${trip.id}' (basic).`);
|
|
254
|
-
}
|
|
255
|
-
else if (result.length > 1) {
|
|
256
|
-
this.logger.verbose(`There are too many gtfs trips (${result.length}) linked with id '${trip.id}' (trip).`);
|
|
257
|
-
result = [];
|
|
258
|
-
}
|
|
259
|
-
return result;
|
|
260
|
-
});
|
|
261
240
|
this.findGTFSTripIdsTrain = (trip) => __awaiter(this, void 0, void 0, function* () {
|
|
262
241
|
const connection = this.connector.getConnection();
|
|
263
242
|
const sqlQuery = RawQueryProvider_1.RawQueryProvider.getFindGtfsTrainTripsQuery();
|
|
264
|
-
let results =
|
|
243
|
+
let results = yield connection.query(sqlQuery, {
|
|
265
244
|
type: sequelize_1.default.QueryTypes.SELECT,
|
|
266
245
|
bind: {
|
|
267
246
|
tripId: trip.id,
|
|
268
247
|
},
|
|
269
|
-
})
|
|
270
|
-
if (results.length < 1) {
|
|
271
|
-
this.logger.verbose(`Model data was not found for id '${trip.id}' (train).`, true, this.constructor.name, 5001);
|
|
272
|
-
}
|
|
273
|
-
else if (results.length > 10) {
|
|
274
|
-
this.logger.verbose(`There are too many gtfs trips (${results.length}) linked with id '${trip.id}' (train).`);
|
|
275
|
-
results = [];
|
|
276
|
-
}
|
|
248
|
+
});
|
|
277
249
|
return results;
|
|
278
250
|
});
|
|
279
251
|
/**
|
|
@@ -458,6 +430,7 @@ let TripsRepository = exports.TripsRepository = class TripsRepository extends mo
|
|
|
458
430
|
this.connector = Di_1.VPContainer.resolve(CoreToken_1.CoreToken.PostgresConnector);
|
|
459
431
|
this.positionsRepository = new PositionsRepository_1.PositionsRepository();
|
|
460
432
|
this.descriptorRepository = Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.DescriptorRepository);
|
|
433
|
+
this.tripScheduleRepository = new precomputed_1.TripScheduleRepository();
|
|
461
434
|
this.sequelizeModel.belongsTo(this.positionsRepository["sequelizeModel"], {
|
|
462
435
|
as: "last_position",
|
|
463
436
|
foreignKey: "last_position_id",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TripsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TripsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export declare class RawQueryProvider {
|
|
2
2
|
static getFindAssociatedTripsQuery(): string;
|
|
3
|
-
static getFindGtfsCommonTripsQuery(startDateDayName: string, startDateDayBeforeDayName: string): string;
|
|
4
3
|
static getFindGtfsTrainTripsQuery(): string;
|
|
5
4
|
static getUpdateGtfsTripDataQuery(): string;
|
|
6
5
|
static getFindTripsWithInvalidGtfsTripIdQuery(): string;
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RawQueryProvider = void 0;
|
|
4
4
|
const const_1 = require("../../../../../../schema-definitions/const");
|
|
5
5
|
const RopidGTFSPrecomputed_1 = require("../../../../../../schema-definitions/ropid-gtfs/RopidGTFSPrecomputed");
|
|
6
|
+
const RopidGtfsSchedule_1 = require("../../../../../../schema-definitions/ropid-gtfs/RopidGtfsSchedule");
|
|
6
7
|
const VPTripsModel_1 = require("../../../../../../schema-definitions/vehicle-positions/models/VPTripsModel");
|
|
7
8
|
const TripWithLastPositionModel_1 = require("../../../../../../schema-definitions/vehicle-positions/models/views/TripWithLastPositionModel");
|
|
8
9
|
const const_2 = require("../../../../../../const");
|
|
9
10
|
const DateTimeUtils_1 = require("../../helpers/DateTimeUtils");
|
|
10
|
-
const RopidGtfsSchedule_1 = require("../../../../../../schema-definitions/ropid-gtfs/RopidGtfsSchedule");
|
|
11
11
|
class RawQueryProvider {
|
|
12
12
|
static getFindAssociatedTripsQuery() {
|
|
13
13
|
return `
|
|
@@ -21,85 +21,6 @@ class RawQueryProvider {
|
|
|
21
21
|
WHERE id LIKE any (('{'||$tripIds||'}')::text[]);
|
|
22
22
|
`;
|
|
23
23
|
}
|
|
24
|
-
static getFindGtfsCommonTripsQuery(startDateDayName, startDateDayBeforeDayName) {
|
|
25
|
-
/* eslint-disable max-len */
|
|
26
|
-
return `
|
|
27
|
-
SELECT DISTINCT
|
|
28
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id as gtfs_trip_id,
|
|
29
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.direction_id as gtfs_direction_id,
|
|
30
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.shape_id as gtfs_shape_id,
|
|
31
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.date as gtfs_date,
|
|
32
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_headsign as gtfs_trip_headsign,
|
|
33
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_id as gtfs_route_id,
|
|
34
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_type as gtfs_route_type,
|
|
35
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_short_name as gtfs_route_short_name,
|
|
36
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences.min_stop_time,
|
|
37
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences.max_stop_time,
|
|
38
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.run_number as internal_run_number,
|
|
39
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.origin_route_name as internal_route_name
|
|
40
|
-
FROM "${const_1.PG_SCHEMA}".ropidgtfs_trips
|
|
41
|
-
INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_routes ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.route_id=ropidgtfs_routes.route_id
|
|
42
|
-
INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_stop_times ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id=ropidgtfs_stop_times.trip_id
|
|
43
|
-
LEFT JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule
|
|
44
|
-
ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id=ropidgtfs_precomputed_trip_schedule.trip_id
|
|
45
|
-
AND ropidgtfs_precomputed_trip_schedule.start_timestamp::date = current_date
|
|
46
|
-
LEFT JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id=ropidgtfs_precomputed_minmax_stop_sequences.trip_id
|
|
47
|
-
WHERE
|
|
48
|
-
( "${const_1.PG_SCHEMA}".ropidgtfs_routes.route_short_name LIKE $cisLineShortName
|
|
49
|
-
OR CASE WHEN ($cisLineShortName = 'IKEA')
|
|
50
|
-
THEN "${const_1.PG_SCHEMA}".ropidgtfs_routes.route_short_name LIKE 'IKEA ČM'
|
|
51
|
-
ELSE 'FALSE' END
|
|
52
|
-
)
|
|
53
|
-
AND "${const_1.PG_SCHEMA}".ropidgtfs_stop_times.stop_id IN
|
|
54
|
-
( SELECT stop_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_stops
|
|
55
|
-
WHERE stop_id LIKE
|
|
56
|
-
(SELECT CONCAT('U',CAST(node AS TEXT),'Z%') FROM "${const_1.PG_SCHEMA}".ropidgtfs_cis_stop_groups
|
|
57
|
-
WHERE cis IN
|
|
58
|
-
(SELECT cis FROM "${const_1.PG_SCHEMA}".ropidgtfs_cis_stops
|
|
59
|
-
WHERE cis = $startCisStopId OR id = $startAswStopId))
|
|
60
|
-
AND
|
|
61
|
-
(platform_code LIKE $startCisStopPlatformCode
|
|
62
|
-
OR CASE WHEN (LENGTH(platform_code)<2) THEN platform_code LIKE
|
|
63
|
-
(CAST((ASCII($startCisStopPlatformCode)-64) AS CHAR)) END)
|
|
64
|
-
)
|
|
65
|
-
AND stop_sequence = 1
|
|
66
|
-
AND CONCAT(
|
|
67
|
-
MOD(SUBSTRING(LPAD(ropidgtfs_stop_times.departure_time, 8, '0'),1,2)::int,24),
|
|
68
|
-
SUBSTRING(LPAD(ropidgtfs_stop_times.departure_time, 8, '0'),3,6)
|
|
69
|
-
)
|
|
70
|
-
= TO_CHAR(($startDateFormated at time zone 'Europe/Prague'), 'FMHH24:MI:SS')
|
|
71
|
-
AND ( CASE WHEN SUBSTRING(LPAD(ropidgtfs_stop_times.departure_time, 8, '0'),1,2)::int < 24 THEN
|
|
72
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.service_id IN (
|
|
73
|
-
SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar
|
|
74
|
-
WHERE ${startDateDayName} = 1
|
|
75
|
-
AND to_date(start_date, 'YYYYMMDD') <= $startDateYMD
|
|
76
|
-
AND to_date(end_date, 'YYYYMMDD') >= $startDateYMD
|
|
77
|
-
UNION SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
78
|
-
WHERE exception_type = 1
|
|
79
|
-
AND to_date(date, 'YYYYMMDD') = $startDateYMD
|
|
80
|
-
EXCEPT SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
81
|
-
WHERE exception_type = 2
|
|
82
|
-
AND to_date(date, 'YYYYMMDD') = $startDateYMD
|
|
83
|
-
)
|
|
84
|
-
ELSE
|
|
85
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.service_id IN (
|
|
86
|
-
SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar
|
|
87
|
-
WHERE ${startDateDayBeforeDayName} = 1
|
|
88
|
-
AND to_date(start_date, 'YYYYMMDD') <= $startDateDayBeforeYMD
|
|
89
|
-
AND to_date(end_date, 'YYYYMMDD') >= $startDateDayBeforeYMD
|
|
90
|
-
UNION SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
91
|
-
WHERE exception_type = 1
|
|
92
|
-
AND to_date(date, 'YYYYMMDD') = $startDateDayBeforeYMD
|
|
93
|
-
EXCEPT SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
94
|
-
WHERE exception_type = 2
|
|
95
|
-
AND to_date(date, 'YYYYMMDD') = $startDateDayBeforeYMD
|
|
96
|
-
)
|
|
97
|
-
END
|
|
98
|
-
)
|
|
99
|
-
ORDER BY gtfs_trip_id ASC;
|
|
100
|
-
`;
|
|
101
|
-
/* eslint-enable max-len */
|
|
102
|
-
}
|
|
103
24
|
static getFindGtfsTrainTripsQuery() {
|
|
104
25
|
/* eslint-disable max-len */
|
|
105
26
|
return `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RawQueryProvider.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.ts"],"names":[],"mappings":";;;AAAA,sEAAuC;AACvC,+GAA4E;AAC5E,6GAA0E;AAC1E,6IAA0G;AAC1G,mDAA8C;AAC9C,+DAA4D;
|
|
1
|
+
{"version":3,"file":"RawQueryProvider.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.ts"],"names":[],"mappings":";;;AAAA,sEAAuC;AACvC,+GAA4E;AAC5E,yGAAsE;AACtE,6GAA0E;AAC1E,6IAA0G;AAC1G,mDAA8C;AAC9C,+DAA4D;AAE5D,MAAa,gBAAgB;IAClB,MAAM,CAAC,2BAA2B;QACrC,OAAO;;;;;;;oBAOK,iBAAS,KAAK,2BAAY,CAAC,UAAU;;SAEhD,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,0BAA0B;QACpC,4BAA4B;QAC5B,OAAO;;;;;;;;;;;oBAWK,iBAAS;;;;mBAIV,iBAAS;mBACT,iBAAS;;mBAET,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;;mBAET,iBAAS;mBACT,iBAAS;;;oBAGR,iBAAS;;0BAEH,iBAAS,0BAA0B,iBAAS;0BAC5C,iBAAS,8BAA8B,iBAAS;yBACjD,iBAAS;;;yBAGT,iBAAS,qDAAqD,iBAAS,8BAA8B,iBAAS;;mBAEpH,iBAAS;uBACL,iBAAS;;;;;;;;;;;2BAWL,iBAAS;kDACc,iBAAS;;;;;;;;;;;;;;wDAcH,iBAAS;;;yDAGR,iBAAS;;;;;2BAKvC,iBAAS;kDACc,iBAAS;;;;;;;;;;;;;;wDAcH,iBAAS;;;yDAGR,iBAAS;;;;;;;SAOzD,CAAC;QACF,2BAA2B;IAC/B,CAAC;IAEM,MAAM,CAAC,0BAA0B;QACpC,OAAO;sBACO,iBAAS,KAAK,2BAAY,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;oEAyBS,6BAAa,CAAC,QAAQ;;;;;wBAKlE,iBAAS,KAAK,qDAAyB,CAAC,SAAS;8BAC3C,iBAAS,KAAK,2CAAoB,CAAC,YAAY,CAAC,WAAW;;;iEAGxB,yBAAiB,CAAC,WAAW;;;SAGrF,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,sCAAsC;QAChD,OAAO;;;;;;;;;;;;;;;;;;;mBAmBI,iBAAS,KAAK,2BAAY,CAAC,UAAU;;;;;;;;2BAQ7B,iBAAS,KAAK,qCAAiB,CAAC,KAAK,CAAC,WAAW;;;;SAInE,CAAC;IACN,CAAC;CACJ;AAnMD,4CAmMC"}
|
|
@@ -30,23 +30,6 @@ export interface IUpdateGTFSTripIdData extends Omit<Partial<IVPTripsModel>, "sta
|
|
|
30
30
|
origin_route_name: string | null;
|
|
31
31
|
vehicle_registration_number: number | null;
|
|
32
32
|
}
|
|
33
|
-
export interface IFoundGTFSTripData {
|
|
34
|
-
id?: string;
|
|
35
|
-
gtfs_trip_id: string;
|
|
36
|
-
gtfs_trip_headsign: string;
|
|
37
|
-
gtfs_route_id: string;
|
|
38
|
-
gtfs_route_short_name: string;
|
|
39
|
-
gtfs_direction_id: number;
|
|
40
|
-
gtfs_shape_id: string;
|
|
41
|
-
min_stop_time: string;
|
|
42
|
-
max_stop_time: string;
|
|
43
|
-
gtfs_block_id?: string;
|
|
44
|
-
gtfs_trip_short_name?: string;
|
|
45
|
-
gtfs_route_type?: number;
|
|
46
|
-
cis_trip_number?: number;
|
|
47
|
-
internal_run_number?: number;
|
|
48
|
-
internal_route_name?: string;
|
|
49
|
-
}
|
|
50
33
|
export interface IBulkUpsertOutput {
|
|
51
34
|
inserted: IUpdateGTFSTripIdData[];
|
|
52
35
|
updated: Array<{
|