@golemio/pid 2.7.1 → 2.7.2-dev.870076827
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 +2 -2
- package/db/example/12_metro_line_A_gtfs_trips.sql +1 -1
- package/db/migrations/postgresql/20230516144903-cast-gtfs-route-type.js +53 -0
- package/db/migrations/postgresql/sqls/20230516144903-cast-gtfs-route-type-down.sql +14 -0
- package/db/migrations/postgresql/sqls/20230516144903-cast-gtfs-route-type-up.sql +14 -0
- package/dist/helpers/RouteTypeEnums.d.ts +2 -1
- package/dist/helpers/RouteTypeEnums.js +3 -0
- package/dist/helpers/RouteTypeEnums.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js +2 -0
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +4 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/constants.d.ts +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/constants.js +5 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/constants.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.d.ts +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +23 -200
- 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 +8 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +250 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/{StopTimeDelayPredictionRepository.d.ts → views/StopTimeDelayPredictionRepository.d.ts} +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/{StopTimeDelayPredictionRepository.js → views/StopTimeDelayPredictionRepository.js} +2 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/StopTimeDelayPredictionRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/interfaces/IGtfsRtRecord.d.ts +2 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.d.ts +8 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.js +29 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.js.map +1 -0
- package/dist/output-gateway/pid/helpers/DepartureBoardMapper.js +1 -1
- package/dist/output-gateway/pid/helpers/DepartureBoardMapper.js.map +1 -1
- package/dist/output-gateway/vehicle-positions/data-access/index.js +2 -2
- package/dist/output-gateway/vehicle-positions/data-access/index.js.map +1 -1
- package/dist/output-gateway/vehicle-positions/data-access/{ProcessedPositionRepository.d.ts → views/ProcessedPositionRepository.d.ts} +1 -1
- package/dist/output-gateway/vehicle-positions/data-access/{ProcessedPositionRepository.js → views/ProcessedPositionRepository.js} +2 -2
- package/dist/output-gateway/vehicle-positions/data-access/views/ProcessedPositionRepository.js.map +1 -0
- package/dist/output-gateway/vehicle-positions/data-access/{TripWithLastPositionRepository.d.ts → views/TripWithLastPositionRepository.d.ts} +3 -3
- package/dist/output-gateway/vehicle-positions/data-access/{TripWithLastPositionRepository.js → views/TripWithLastPositionRepository.js} +8 -8
- package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.js.map +1 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +1 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +6 -2
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/interfaces/IRouteDto.d.ts +2 -1
- package/dist/schema-definitions/ropid-gtfs/models/RouteDto.d.ts +2 -1
- package/dist/schema-definitions/ropid-gtfs/models/RouteDto.js +6 -3
- package/dist/schema-definitions/ropid-gtfs/models/RouteDto.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.d.ts +3 -2
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js +6 -2
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/interfaces/IDeparturesModel.d.ts +2 -1
- package/dist/schema-definitions/ropid-vymi/RopidVYMISDMA.d.ts +2 -1
- package/dist/schema-definitions/ropid-vymi/RopidVYMISDMA.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.d.ts +2 -1
- package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/interfaces/IGtfsRtTripDto.d.ts +2 -1
- package/dist/schema-definitions/vehicle-positions/models/interfaces/IVPTripsModel.d.ts +2 -1
- package/dist/schema-definitions/vehicle-positions/models/views/TripWithLastPositionModel.d.ts +2 -1
- package/dist/schema-definitions/vehicle-positions/models/views/TripWithLastPositionModel.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/views/interfaces/ITripWithLastPositionDto.d.ts +2 -1
- package/dist/schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto.d.ts +2 -1
- package/dist/schema-definitions/vehicle-positions/redis/schemas/GtfsRunTripCacheDtoSchema.js +1 -1
- package/dist/schema-definitions/vehicle-positions/redis/schemas/GtfsRunTripCacheDtoSchema.js.map +1 -1
- package/docs/implementation_documentation.md +18 -0
- package/docs/openapi-output.yaml +2 -2
- package/package.json +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/StopTimeDelayPredictionRepository.js.map +0 -1
- package/dist/output-gateway/vehicle-positions/data-access/ProcessedPositionRepository.js.map +0 -1
- package/dist/output-gateway/vehicle-positions/data-access/TripWithLastPositionRepository.js.map +0 -1
|
@@ -51,8 +51,9 @@ const RouteTypeEnums_1 = require("../../../../../helpers/RouteTypeEnums");
|
|
|
51
51
|
const DPPUtils_1 = __importDefault(require("../helpers/DPPUtils"));
|
|
52
52
|
const ProviderSourceTypeEnum_1 = require("../helpers/ProviderSourceTypeEnum");
|
|
53
53
|
const PositionsRepository_1 = require("./PositionsRepository");
|
|
54
|
-
const
|
|
54
|
+
const RawQueryProvider_1 = require("./helpers/RawQueryProvider");
|
|
55
55
|
const TripsMapper_1 = __importDefault(require("./helpers/TripsMapper"));
|
|
56
|
+
const StopTimeDelayPredictionRepository_1 = require("./views/StopTimeDelayPredictionRepository");
|
|
56
57
|
class TripsRepository extends models_2.PostgresModel {
|
|
57
58
|
constructor() {
|
|
58
59
|
super("VPTripsRepository", {
|
|
@@ -135,9 +136,7 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
135
136
|
const promises = data.map((d) => __awaiter(this, void 0, void 0, function* () {
|
|
136
137
|
const transaction = yield connection.transaction();
|
|
137
138
|
const dataItem = Object.assign({}, d);
|
|
138
|
-
const [res] = yield connection.query(
|
|
139
|
-
// eslint-disable-next-line max-len
|
|
140
|
-
`SELECT EXISTS(SELECT 1 FROM "${const_1.PG_SCHEMA}".${this.tableName} WHERE id='${d.id}') AS "exists";`, {
|
|
139
|
+
const [res] = yield connection.query(RawQueryProvider_1.RawQueryProvider.getCheckExistingTripQuery(d.id), {
|
|
141
140
|
transaction,
|
|
142
141
|
type: sequelize_1.QueryTypes.SELECT,
|
|
143
142
|
raw: true,
|
|
@@ -199,9 +198,7 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
199
198
|
const connection = connectors_1.PostgresConnector.getConnection();
|
|
200
199
|
const promises = data.map((d) => __awaiter(this, void 0, void 0, function* () {
|
|
201
200
|
const transaction = yield connection.transaction();
|
|
202
|
-
const [res] = yield connection.query(
|
|
203
|
-
// eslint-disable-next-line max-len
|
|
204
|
-
`SELECT EXISTS(SELECT 1 FROM "${const_1.PG_SCHEMA}".${this.tableName} WHERE id='${d.id}') AS "exists";`, {
|
|
201
|
+
const [res] = yield connection.query(RawQueryProvider_1.RawQueryProvider.getCheckExistingTripQuery(d.id), {
|
|
205
202
|
transaction,
|
|
206
203
|
type: sequelize_1.QueryTypes.SELECT,
|
|
207
204
|
raw: true,
|
|
@@ -228,15 +225,10 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
228
225
|
this.findAllAssocTripIds = (tripIds) => __awaiter(this, void 0, void 0, function* () {
|
|
229
226
|
const connection = connectors_1.PostgresConnector.getConnection();
|
|
230
227
|
return Array.isArray(tripIds) && tripIds.length > 0
|
|
231
|
-
? (yield connection.query(
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
run_number, internal_run_number,
|
|
236
|
-
origin_route_name, internal_route_name,
|
|
237
|
-
vehicle_registration_number
|
|
238
|
-
FROM "${const_1.PG_SCHEMA}".${this.tableName}
|
|
239
|
-
WHERE id LIKE any (array[${tripIds.map((id) => `'${id}%'`).join(",")}])`, { type: sequelize_1.default.QueryTypes.SELECT })).map((res) => ({
|
|
228
|
+
? (yield connection.query(RawQueryProvider_1.RawQueryProvider.getFindAssociatedTripsQuery(), {
|
|
229
|
+
type: sequelize_1.default.QueryTypes.SELECT,
|
|
230
|
+
bind: { tripIds: tripIds.map((id) => `${id}%`) },
|
|
231
|
+
})).map((res) => ({
|
|
240
232
|
id: res.id,
|
|
241
233
|
gtfs_trip_id: res.gtfs_trip_id,
|
|
242
234
|
gtfs_block_id: res.gtfs_block_id,
|
|
@@ -386,17 +378,7 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
386
378
|
},
|
|
387
379
|
transaction,
|
|
388
380
|
});
|
|
389
|
-
yield connection.query(
|
|
390
|
-
UPDATE "${const_1.PG_SCHEMA}".${this.tableName}
|
|
391
|
-
SET
|
|
392
|
-
last_position_id = $lastPositionId,
|
|
393
|
-
last_position_context = jsonb_set(
|
|
394
|
-
last_position_context::jsonb,
|
|
395
|
-
'{lastPositionBeforeTrackDelayed}', $jsonLastPositionContext,
|
|
396
|
-
true
|
|
397
|
-
)::json
|
|
398
|
-
WHERE id = $tripId
|
|
399
|
-
`, {
|
|
381
|
+
yield connection.query(RawQueryProvider_1.RawQueryProvider.getUpdateLastPositionTripsQuery(), {
|
|
400
382
|
type: sequelize_1.default.QueryTypes.UPDATE,
|
|
401
383
|
transaction,
|
|
402
384
|
bind: {
|
|
@@ -454,86 +436,7 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
454
436
|
const startDateDayName = startDate.format("dddd").toLowerCase();
|
|
455
437
|
const startDateDayBeforeYMD = startDateDayBefore.format("YYYY-MM-DD");
|
|
456
438
|
const startDateDayBeforeDayName = startDateDayBefore.format("dddd").toLowerCase();
|
|
457
|
-
|
|
458
|
-
// TODO zbavit se sql injection
|
|
459
|
-
// TODO dat si bacha na posileny spoje
|
|
460
|
-
// gtfs_trip_id obsahuje POS, rozlisit podle cis_order
|
|
461
|
-
/* eslint-disable max-len */
|
|
462
|
-
const sqlQuery = `
|
|
463
|
-
SELECT DISTINCT
|
|
464
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id as gtfs_trip_id,
|
|
465
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.date as gtfs_date,
|
|
466
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_headsign as gtfs_trip_headsign,
|
|
467
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_id as gtfs_route_id,
|
|
468
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_type as gtfs_route_type,
|
|
469
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_short_name as gtfs_route_short_name,
|
|
470
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences.min_stop_time,
|
|
471
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences.max_stop_time,
|
|
472
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.run_number as internal_run_number,
|
|
473
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.origin_route_name as internal_route_name
|
|
474
|
-
FROM "${const_1.PG_SCHEMA}".ropidgtfs_trips
|
|
475
|
-
INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_routes ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.route_id=ropidgtfs_routes.route_id
|
|
476
|
-
INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_stop_times ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id=ropidgtfs_stop_times.trip_id
|
|
477
|
-
LEFT JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule
|
|
478
|
-
ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id=ropidgtfs_precomputed_trip_schedule.trip_id
|
|
479
|
-
AND ropidgtfs_precomputed_trip_schedule.start_timestamp::date = current_date
|
|
480
|
-
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
|
|
481
|
-
WHERE
|
|
482
|
-
( "${const_1.PG_SCHEMA}".ropidgtfs_routes.route_short_name LIKE $cisLineShortName
|
|
483
|
-
OR CASE WHEN ($cisLineShortName = 'IKEA')
|
|
484
|
-
THEN "${const_1.PG_SCHEMA}".ropidgtfs_routes.route_short_name LIKE 'IKEA ČM'
|
|
485
|
-
ELSE 'FALSE' END
|
|
486
|
-
)
|
|
487
|
-
AND "${const_1.PG_SCHEMA}".ropidgtfs_stop_times.stop_id IN
|
|
488
|
-
( SELECT stop_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_stops
|
|
489
|
-
WHERE stop_id LIKE
|
|
490
|
-
(SELECT CONCAT('U',CAST(node AS TEXT),'Z%') FROM "${const_1.PG_SCHEMA}".ropidgtfs_cis_stop_groups
|
|
491
|
-
WHERE cis IN
|
|
492
|
-
(SELECT cis FROM "${const_1.PG_SCHEMA}".ropidgtfs_cis_stops
|
|
493
|
-
WHERE cis = $startCisStopId OR id = $startAswStopId))
|
|
494
|
-
AND
|
|
495
|
-
(platform_code LIKE $startCisStopPlatformCode
|
|
496
|
-
OR CASE WHEN (LENGTH(platform_code)<2) THEN platform_code LIKE
|
|
497
|
-
(CAST((ASCII($startCisStopPlatformCode)-64) AS CHAR)) END)
|
|
498
|
-
)
|
|
499
|
-
AND stop_sequence = 1
|
|
500
|
-
AND CONCAT(
|
|
501
|
-
MOD(SUBSTRING(LPAD(ropidgtfs_stop_times.departure_time, 8, '0'),1,2)::int,24),
|
|
502
|
-
SUBSTRING(LPAD(ropidgtfs_stop_times.departure_time, 8, '0'),3,6)
|
|
503
|
-
)
|
|
504
|
-
= TO_CHAR(($startDateFormated at time zone 'Europe/Prague'), 'FMHH24:MI:SS')
|
|
505
|
-
AND ( CASE WHEN SUBSTRING(LPAD(ropidgtfs_stop_times.departure_time, 8, '0'),1,2)::int < 24 THEN
|
|
506
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.service_id IN (
|
|
507
|
-
SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar
|
|
508
|
-
WHERE ${startDateDayName} = 1
|
|
509
|
-
AND to_date(start_date, 'YYYYMMDD') <= $startDateYMD
|
|
510
|
-
AND to_date(end_date, 'YYYYMMDD') >= $startDateYMD
|
|
511
|
-
UNION SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
512
|
-
WHERE exception_type = 1
|
|
513
|
-
AND to_date(date, 'YYYYMMDD') = $startDateYMD
|
|
514
|
-
EXCEPT SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
515
|
-
WHERE exception_type = 2
|
|
516
|
-
AND to_date(date, 'YYYYMMDD') = $startDateYMD
|
|
517
|
-
)
|
|
518
|
-
ELSE
|
|
519
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.service_id IN (
|
|
520
|
-
SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar
|
|
521
|
-
WHERE ${startDateDayBeforeDayName} = 1
|
|
522
|
-
AND to_date(start_date, 'YYYYMMDD') <= $startDateDayBeforeYMD
|
|
523
|
-
AND to_date(end_date, 'YYYYMMDD') >= $startDateDayBeforeYMD
|
|
524
|
-
UNION SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
525
|
-
WHERE exception_type = 1
|
|
526
|
-
AND to_date(date, 'YYYYMMDD') = $startDateDayBeforeYMD
|
|
527
|
-
EXCEPT SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
528
|
-
WHERE exception_type = 2
|
|
529
|
-
AND to_date(date, 'YYYYMMDD') = $startDateDayBeforeYMD
|
|
530
|
-
)
|
|
531
|
-
END
|
|
532
|
-
)
|
|
533
|
-
ORDER BY gtfs_trip_id ASC;
|
|
534
|
-
;
|
|
535
|
-
`;
|
|
536
|
-
/* eslint-enable max-len */
|
|
439
|
+
const sqlQuery = RawQueryProvider_1.RawQueryProvider.getFindGtfsCommonTripsQuery(startDateDayName, startDateDayBeforeDayName);
|
|
537
440
|
let result = (yield connection.query(sqlQuery, {
|
|
538
441
|
type: sequelize_1.default.QueryTypes.SELECT,
|
|
539
442
|
bind: {
|
|
@@ -557,99 +460,7 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
557
460
|
});
|
|
558
461
|
this.findGTFSTripIdsTrain = (trip) => __awaiter(this, void 0, void 0, function* () {
|
|
559
462
|
const connection = connectors_1.PostgresConnector.getConnection();
|
|
560
|
-
|
|
561
|
-
const sqlQuery = `
|
|
562
|
-
WITH wanted_trip AS (SELECT cis_line_short_name,
|
|
563
|
-
cis_trip_number,
|
|
564
|
-
start_cis_stop_id,
|
|
565
|
-
start_asw_stop_id,
|
|
566
|
-
start_timestamp,
|
|
567
|
-
TO_TIMESTAMP(start_timestamp/1000) as start_datetime,
|
|
568
|
-
DATE_TRUNC('day', TO_TIMESTAMP(start_timestamp/1000)) AS start_date,
|
|
569
|
-
extract(isodow from DATE_TRUNC('day', TO_TIMESTAMP(start_timestamp/1000))) AS start_date_name,
|
|
570
|
-
DATE_TRUNC('day', TO_TIMESTAMP(start_timestamp/1000)) - INTERVAL '1 day' AS start_date_day_before,
|
|
571
|
-
extract(isodow from DATE_TRUNC('day', TO_TIMESTAMP(start_timestamp/1000)) - INTERVAL '1 day')
|
|
572
|
-
AS start_date_day_before_name
|
|
573
|
-
FROM "${const_1.PG_SCHEMA}".vehiclepositions_trips
|
|
574
|
-
WHERE id = $tripId
|
|
575
|
-
LIMIT 1)
|
|
576
|
-
SELECT DISTINCT
|
|
577
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id as gtfs_trip_id,
|
|
578
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.date as gtfs_date,
|
|
579
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.block_id as gtfs_block_id,
|
|
580
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_headsign as gtfs_trip_headsign,
|
|
581
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_short_name as gtfs_trip_short_name,
|
|
582
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_id as gtfs_route_id,
|
|
583
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_type as gtfs_route_type,
|
|
584
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_short_name as gtfs_route_short_name,
|
|
585
|
-
wanted_trip.cis_trip_number,
|
|
586
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences.min_stop_time,
|
|
587
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences.max_stop_time,
|
|
588
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.run_number as internal_run_number,
|
|
589
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.origin_route_name as internal_route_name
|
|
590
|
-
FROM "${const_1.PG_SCHEMA}".ropidgtfs_trips
|
|
591
|
-
INNER JOIN wanted_trip ON 1 = 1
|
|
592
|
-
INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_routes ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.route_id=ropidgtfs_routes.route_id
|
|
593
|
-
INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_stop_times ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id=ropidgtfs_stop_times.trip_id
|
|
594
|
-
LEFT JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule
|
|
595
|
-
ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id=ropidgtfs_precomputed_trip_schedule.trip_id
|
|
596
|
-
AND ropidgtfs_precomputed_trip_schedule.start_timestamp::date = current_date
|
|
597
|
-
LEFT JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id="${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences.trip_id
|
|
598
|
-
WHERE
|
|
599
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id ~ CONCAT('\\d+_', wanted_trip.cis_trip_number, '_\\d+')
|
|
600
|
-
AND "${const_1.PG_SCHEMA}".ropidgtfs_routes.route_type = '2'
|
|
601
|
-
AND stop_sequence = 1
|
|
602
|
-
AND ( CASE WHEN SUBSTRING(LPAD(ropidgtfs_stop_times.departure_time, 8, '0'),1,2)::int < 24 THEN
|
|
603
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.service_id IN (
|
|
604
|
-
SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar
|
|
605
|
-
WHERE (
|
|
606
|
-
CASE WHEN wanted_trip.start_date_name = 1 THEN monday = '1'
|
|
607
|
-
WHEN wanted_trip.start_date_name = 2 THEN tuesday = '1'
|
|
608
|
-
WHEN wanted_trip.start_date_name = 3 THEN wednesday = '1'
|
|
609
|
-
WHEN wanted_trip.start_date_name = 4 THEN thursday = '1'
|
|
610
|
-
WHEN wanted_trip.start_date_name = 5 THEN friday = '1'
|
|
611
|
-
WHEN wanted_trip.start_date_name = 6 THEN saturday = '1'
|
|
612
|
-
WHEN wanted_trip.start_date_name = 7 THEN sunday = '1'
|
|
613
|
-
ELSE 'FALSE'
|
|
614
|
-
END
|
|
615
|
-
)
|
|
616
|
-
AND to_date(start_date, 'YYYYMMDD') <= wanted_trip.start_date
|
|
617
|
-
AND to_date(end_date, 'YYYYMMDD') >= wanted_trip.start_date
|
|
618
|
-
UNION SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
619
|
-
WHERE exception_type = 1
|
|
620
|
-
AND to_date(date, 'YYYYMMDD') = wanted_trip.start_date
|
|
621
|
-
EXCEPT SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
622
|
-
WHERE exception_type = 2
|
|
623
|
-
AND to_date(date, 'YYYYMMDD') = wanted_trip.start_date
|
|
624
|
-
)
|
|
625
|
-
ELSE
|
|
626
|
-
"${const_1.PG_SCHEMA}".ropidgtfs_trips.service_id IN (
|
|
627
|
-
SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar
|
|
628
|
-
WHERE (
|
|
629
|
-
CASE WHEN wanted_trip.start_date_day_before_name = 1 THEN monday = '1'
|
|
630
|
-
WHEN wanted_trip.start_date_day_before_name = 2 THEN tuesday = '1'
|
|
631
|
-
WHEN wanted_trip.start_date_day_before_name = 3 THEN wednesday = '1'
|
|
632
|
-
WHEN wanted_trip.start_date_day_before_name = 4 THEN thursday = '1'
|
|
633
|
-
WHEN wanted_trip.start_date_day_before_name = 5 THEN friday = '1'
|
|
634
|
-
WHEN wanted_trip.start_date_day_before_name = 6 THEN saturday = '1'
|
|
635
|
-
WHEN wanted_trip.start_date_day_before_name = 7 THEN sunday = '1'
|
|
636
|
-
ELSE 'FALSE'
|
|
637
|
-
END
|
|
638
|
-
)
|
|
639
|
-
AND to_date(start_date, 'YYYYMMDD') <= wanted_trip.start_date_day_before
|
|
640
|
-
AND to_date(end_date, 'YYYYMMDD') >= wanted_trip.start_date_day_before
|
|
641
|
-
UNION SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
642
|
-
WHERE exception_type = 1
|
|
643
|
-
AND to_date(date, 'YYYYMMDD') = wanted_trip.start_date_day_before
|
|
644
|
-
EXCEPT SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
645
|
-
WHERE exception_type = 2
|
|
646
|
-
AND to_date(date, 'YYYYMMDD') = wanted_trip.start_date_day_before
|
|
647
|
-
)
|
|
648
|
-
END
|
|
649
|
-
)
|
|
650
|
-
ORDER BY gtfs_trip_id ASC;
|
|
651
|
-
;`;
|
|
652
|
-
/* eslint-enable max-len */
|
|
463
|
+
const sqlQuery = RawQueryProvider_1.RawQueryProvider.getFindGtfsTrainTripsQuery();
|
|
653
464
|
let results = (yield connection.query(sqlQuery, {
|
|
654
465
|
type: sequelize_1.default.QueryTypes.SELECT,
|
|
655
466
|
bind: {
|
|
@@ -733,6 +544,18 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
733
544
|
order: [["updated_at", "DESC"], ["id", "ASC"], sequelize_1.default.literal("stop_times.stop_sequence ASC")],
|
|
734
545
|
});
|
|
735
546
|
});
|
|
547
|
+
this.refreshGtfsTripData = () => __awaiter(this, void 0, void 0, function* () {
|
|
548
|
+
const connection = connectors_1.PostgresConnector.getConnection();
|
|
549
|
+
try {
|
|
550
|
+
const [_result, rowCount] = yield connection.query(RawQueryProvider_1.RawQueryProvider.getUpdateGtfsTripDataQuery(), {
|
|
551
|
+
type: sequelize_1.QueryTypes.UPDATE,
|
|
552
|
+
});
|
|
553
|
+
helpers_1.log.info(`refreshGtfsTripData: updated ${rowCount} trips`);
|
|
554
|
+
}
|
|
555
|
+
catch (err) {
|
|
556
|
+
throw new golemio_errors_1.CustomError("refreshGtfsTripData: error while updating data", true, this.name, undefined, err);
|
|
557
|
+
}
|
|
558
|
+
});
|
|
736
559
|
this.positionsRepository = new PositionsRepository_1.PositionsRepository();
|
|
737
560
|
this.descriptorRepository = new DescriptorRepository_1.DescriptorRepository(helpers_1.log);
|
|
738
561
|
this.stopTimeDelayPredictionRepository = new StopTimeDelayPredictionRepository_1.StopTimeDelayPredictionRepository();
|
|
@@ -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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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class RawQueryProvider {
|
|
2
|
+
static getCheckExistingTripQuery(tripId: string): string;
|
|
3
|
+
static getFindAssociatedTripsQuery(): string;
|
|
4
|
+
static getFindGtfsCommonTripsQuery(startDateDayName: string, startDateDayBeforeDayName: string): string;
|
|
5
|
+
static getFindGtfsTrainTripsQuery(): string;
|
|
6
|
+
static getUpdateLastPositionTripsQuery(): string;
|
|
7
|
+
static getUpdateGtfsTripDataQuery(): string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RawQueryProvider = void 0;
|
|
4
|
+
const const_1 = require("../../../../../../schema-definitions/const");
|
|
5
|
+
const RopidGTFSPrecomputed_1 = require("../../../../../../schema-definitions/ropid-gtfs/RopidGTFSPrecomputed");
|
|
6
|
+
const VPTripsModel_1 = require("../../../../../../schema-definitions/vehicle-positions/models/VPTripsModel");
|
|
7
|
+
const TripWithLastPositionModel_1 = require("../../../../../../schema-definitions/vehicle-positions/models/views/TripWithLastPositionModel");
|
|
8
|
+
const const_2 = require("../../../../../../const");
|
|
9
|
+
const DateTimeUtils_1 = require("../../helpers/DateTimeUtils");
|
|
10
|
+
class RawQueryProvider {
|
|
11
|
+
static getCheckExistingTripQuery(tripId) {
|
|
12
|
+
return `SELECT EXISTS(SELECT 1 FROM "${const_1.PG_SCHEMA}".${VPTripsModel_1.VPTripsModel.TABLE_NAME} WHERE id='${tripId}') AS "exists";`;
|
|
13
|
+
}
|
|
14
|
+
static getFindAssociatedTripsQuery() {
|
|
15
|
+
return `
|
|
16
|
+
SELECT id,
|
|
17
|
+
gtfs_block_id, gtfs_trip_id, gtfs_route_type,
|
|
18
|
+
start_timestamp, end_timestamp,
|
|
19
|
+
run_number, internal_run_number,
|
|
20
|
+
origin_route_name, internal_route_name,
|
|
21
|
+
vehicle_registration_number
|
|
22
|
+
FROM "${const_1.PG_SCHEMA}".${VPTripsModel_1.VPTripsModel.TABLE_NAME}
|
|
23
|
+
WHERE id LIKE any (('{'||$tripIds||'}')::text[]);
|
|
24
|
+
`;
|
|
25
|
+
}
|
|
26
|
+
static getFindGtfsCommonTripsQuery(startDateDayName, startDateDayBeforeDayName) {
|
|
27
|
+
/* eslint-disable max-len */
|
|
28
|
+
return `
|
|
29
|
+
SELECT DISTINCT
|
|
30
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id as gtfs_trip_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
|
+
static getFindGtfsTrainTripsQuery() {
|
|
104
|
+
/* eslint-disable max-len */
|
|
105
|
+
return `
|
|
106
|
+
WITH wanted_trip AS (SELECT cis_line_short_name,
|
|
107
|
+
cis_trip_number,
|
|
108
|
+
start_cis_stop_id,
|
|
109
|
+
start_asw_stop_id,
|
|
110
|
+
start_timestamp,
|
|
111
|
+
TO_TIMESTAMP(start_timestamp/1000) as start_datetime,
|
|
112
|
+
DATE_TRUNC('day', TO_TIMESTAMP(start_timestamp/1000)) AS start_date,
|
|
113
|
+
extract(isodow from DATE_TRUNC('day', TO_TIMESTAMP(start_timestamp/1000))) AS start_date_name,
|
|
114
|
+
DATE_TRUNC('day', TO_TIMESTAMP(start_timestamp/1000)) - INTERVAL '1 day' AS start_date_day_before,
|
|
115
|
+
extract(isodow from DATE_TRUNC('day', TO_TIMESTAMP(start_timestamp/1000)) - INTERVAL '1 day')
|
|
116
|
+
AS start_date_day_before_name
|
|
117
|
+
FROM "${const_1.PG_SCHEMA}".vehiclepositions_trips
|
|
118
|
+
WHERE id = $tripId
|
|
119
|
+
LIMIT 1)
|
|
120
|
+
SELECT DISTINCT
|
|
121
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id as gtfs_trip_id,
|
|
122
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.date as gtfs_date,
|
|
123
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_trips.block_id as gtfs_block_id,
|
|
124
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_headsign as gtfs_trip_headsign,
|
|
125
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_short_name as gtfs_trip_short_name,
|
|
126
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_id as gtfs_route_id,
|
|
127
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_type as gtfs_route_type,
|
|
128
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_routes.route_short_name as gtfs_route_short_name,
|
|
129
|
+
wanted_trip.cis_trip_number,
|
|
130
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences.min_stop_time,
|
|
131
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences.max_stop_time,
|
|
132
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.run_number as internal_run_number,
|
|
133
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule.origin_route_name as internal_route_name
|
|
134
|
+
FROM "${const_1.PG_SCHEMA}".ropidgtfs_trips
|
|
135
|
+
INNER JOIN wanted_trip ON 1 = 1
|
|
136
|
+
INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_routes ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.route_id=ropidgtfs_routes.route_id
|
|
137
|
+
INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_stop_times ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id=ropidgtfs_stop_times.trip_id
|
|
138
|
+
LEFT JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_trip_schedule
|
|
139
|
+
ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id=ropidgtfs_precomputed_trip_schedule.trip_id
|
|
140
|
+
AND ropidgtfs_precomputed_trip_schedule.start_timestamp::date = current_date
|
|
141
|
+
LEFT JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences ON "${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id="${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences.trip_id
|
|
142
|
+
WHERE
|
|
143
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_trips.trip_id ~ CONCAT('\\d+_', wanted_trip.cis_trip_number, '_\\d+')
|
|
144
|
+
AND "${const_1.PG_SCHEMA}".ropidgtfs_routes.route_type = '2'
|
|
145
|
+
AND stop_sequence = 1
|
|
146
|
+
AND ( CASE WHEN SUBSTRING(LPAD(ropidgtfs_stop_times.departure_time, 8, '0'),1,2)::int < 24 THEN
|
|
147
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_trips.service_id IN (
|
|
148
|
+
SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar
|
|
149
|
+
WHERE (
|
|
150
|
+
CASE WHEN wanted_trip.start_date_name = 1 THEN monday = '1'
|
|
151
|
+
WHEN wanted_trip.start_date_name = 2 THEN tuesday = '1'
|
|
152
|
+
WHEN wanted_trip.start_date_name = 3 THEN wednesday = '1'
|
|
153
|
+
WHEN wanted_trip.start_date_name = 4 THEN thursday = '1'
|
|
154
|
+
WHEN wanted_trip.start_date_name = 5 THEN friday = '1'
|
|
155
|
+
WHEN wanted_trip.start_date_name = 6 THEN saturday = '1'
|
|
156
|
+
WHEN wanted_trip.start_date_name = 7 THEN sunday = '1'
|
|
157
|
+
ELSE 'FALSE'
|
|
158
|
+
END
|
|
159
|
+
)
|
|
160
|
+
AND to_date(start_date, 'YYYYMMDD') <= wanted_trip.start_date
|
|
161
|
+
AND to_date(end_date, 'YYYYMMDD') >= wanted_trip.start_date
|
|
162
|
+
UNION SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
163
|
+
WHERE exception_type = 1
|
|
164
|
+
AND to_date(date, 'YYYYMMDD') = wanted_trip.start_date
|
|
165
|
+
EXCEPT SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
166
|
+
WHERE exception_type = 2
|
|
167
|
+
AND to_date(date, 'YYYYMMDD') = wanted_trip.start_date
|
|
168
|
+
)
|
|
169
|
+
ELSE
|
|
170
|
+
"${const_1.PG_SCHEMA}".ropidgtfs_trips.service_id IN (
|
|
171
|
+
SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar
|
|
172
|
+
WHERE (
|
|
173
|
+
CASE WHEN wanted_trip.start_date_day_before_name = 1 THEN monday = '1'
|
|
174
|
+
WHEN wanted_trip.start_date_day_before_name = 2 THEN tuesday = '1'
|
|
175
|
+
WHEN wanted_trip.start_date_day_before_name = 3 THEN wednesday = '1'
|
|
176
|
+
WHEN wanted_trip.start_date_day_before_name = 4 THEN thursday = '1'
|
|
177
|
+
WHEN wanted_trip.start_date_day_before_name = 5 THEN friday = '1'
|
|
178
|
+
WHEN wanted_trip.start_date_day_before_name = 6 THEN saturday = '1'
|
|
179
|
+
WHEN wanted_trip.start_date_day_before_name = 7 THEN sunday = '1'
|
|
180
|
+
ELSE 'FALSE'
|
|
181
|
+
END
|
|
182
|
+
)
|
|
183
|
+
AND to_date(start_date, 'YYYYMMDD') <= wanted_trip.start_date_day_before
|
|
184
|
+
AND to_date(end_date, 'YYYYMMDD') >= wanted_trip.start_date_day_before
|
|
185
|
+
UNION SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
186
|
+
WHERE exception_type = 1
|
|
187
|
+
AND to_date(date, 'YYYYMMDD') = wanted_trip.start_date_day_before
|
|
188
|
+
EXCEPT SELECT service_id FROM "${const_1.PG_SCHEMA}".ropidgtfs_calendar_dates
|
|
189
|
+
WHERE exception_type = 2
|
|
190
|
+
AND to_date(date, 'YYYYMMDD') = wanted_trip.start_date_day_before
|
|
191
|
+
)
|
|
192
|
+
END
|
|
193
|
+
)
|
|
194
|
+
ORDER BY gtfs_trip_id ASC;
|
|
195
|
+
`;
|
|
196
|
+
/* eslint-enable max-len */
|
|
197
|
+
}
|
|
198
|
+
static getUpdateLastPositionTripsQuery() {
|
|
199
|
+
return `
|
|
200
|
+
UPDATE "${const_1.PG_SCHEMA}".${VPTripsModel_1.VPTripsModel.TABLE_NAME}
|
|
201
|
+
SET
|
|
202
|
+
last_position_id = $lastPositionId,
|
|
203
|
+
last_position_context = jsonb_set(
|
|
204
|
+
last_position_context::jsonb,
|
|
205
|
+
'{lastPositionBeforeTrackDelayed}', $jsonLastPositionContext,
|
|
206
|
+
true
|
|
207
|
+
)::json
|
|
208
|
+
WHERE id = $tripId
|
|
209
|
+
`;
|
|
210
|
+
}
|
|
211
|
+
static getUpdateGtfsTripDataQuery() {
|
|
212
|
+
return `
|
|
213
|
+
update "${const_1.PG_SCHEMA}".${VPTripsModel_1.VPTripsModel.TABLE_NAME} vp_trip
|
|
214
|
+
set
|
|
215
|
+
gtfs_block_id = trip_with_gtfs_data.gtfs_block_id,
|
|
216
|
+
gtfs_route_id = trip_with_gtfs_data.gtfs_route_id,
|
|
217
|
+
gtfs_route_short_name = trip_with_gtfs_data.gtfs_route_short_name,
|
|
218
|
+
gtfs_route_type = trip_with_gtfs_data.gtfs_route_type,
|
|
219
|
+
gtfs_trip_headsign = trip_with_gtfs_data.gtfs_trip_headsign,
|
|
220
|
+
start_time = trip_with_gtfs_data.start_time,
|
|
221
|
+
start_timestamp = trip_with_gtfs_data.start_timestamp,
|
|
222
|
+
end_timestamp = trip_with_gtfs_data.end_timestamp,
|
|
223
|
+
internal_run_number = trip_with_gtfs_data.internal_run_number,
|
|
224
|
+
internal_route_name = trip_with_gtfs_data.internal_route_name,
|
|
225
|
+
updated_at = now()
|
|
226
|
+
from (
|
|
227
|
+
select
|
|
228
|
+
vp_trip_with_position.id,
|
|
229
|
+
gtfs_trip.block_id as gtfs_block_id,
|
|
230
|
+
gtfs_trip.route_id as gtfs_route_id,
|
|
231
|
+
gtfs_trip.route_short_name as gtfs_route_short_name,
|
|
232
|
+
gtfs_trip.route_type as gtfs_route_type,
|
|
233
|
+
gtfs_trip.trip_headsign as gtfs_trip_headsign,
|
|
234
|
+
gtfs_trip.start_timestamp::time at time zone '${DateTimeUtils_1.DateTimeUtils.TIMEZONE}' as start_time,
|
|
235
|
+
(extract(epoch from gtfs_trip.start_timestamp) * 1000) as start_timestamp,
|
|
236
|
+
(extract(epoch from gtfs_trip.end_timestamp) * 1000) as end_timestamp,
|
|
237
|
+
gtfs_trip.run_number as internal_run_number,
|
|
238
|
+
gtfs_trip.origin_route_name as internal_route_name
|
|
239
|
+
from "${const_1.PG_SCHEMA}".${TripWithLastPositionModel_1.TripWithLastPositionModel.tableName} vp_trip_with_position
|
|
240
|
+
inner join "${const_1.PG_SCHEMA}".${RopidGTFSPrecomputed_1.RopidGTFSPrecomputed.tripSchedule.pgTableName} gtfs_trip
|
|
241
|
+
on vp_trip_with_position.gtfs_trip_id = gtfs_trip.trip_id
|
|
242
|
+
and gtfs_trip.start_timestamp::date = current_date
|
|
243
|
+
where vp_trip_with_position.state_position != '${const_2.StatePositionEnum.AFTER_TRACK}'
|
|
244
|
+
) as trip_with_gtfs_data
|
|
245
|
+
where vp_trip.id = trip_with_gtfs_data.id;
|
|
246
|
+
`;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
exports.RawQueryProvider = RawQueryProvider;
|
|
250
|
+
//# sourceMappingURL=RawQueryProvider.js.map
|