@golemio/pid 2.6.8-dev.846224983 → 2.6.8-dev.846304243

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.
@@ -558,7 +558,7 @@ VALUES
558
558
  WITH init_values AS (SELECT NOW()::DATE AS now_date)
559
559
  INSERT INTO "vehiclepositions_positions"("created_at","delay","delay_stop_arrival","delay_stop_departure","next_stop_id","shape_dist_traveled","is_canceled","lat","lng","origin_time","origin_timestamp","tracking","trips_id","create_batch_id","created_by","update_batch_id","updated_at","updated_by","id","bearing","cis_last_stop_id","cis_last_stop_sequence","last_stop_id","last_stop_sequence","last_stop_name","next_stop_sequence","speed","last_stop_arrival_time","last_stop_departure_time","next_stop_arrival_time","next_stop_departure_time","asw_last_stop_id","state_process","state_position","this_stop_id","this_stop_sequence")
560
560
  VALUES
561
- (E'2021-03-31 10:53:58.936142+02',-20,NULL,60,E'U337Z4',1.42,NULL,50.11063,14.50247,E'11:37:10',(SELECT EXTRACT(EPOCH FROM (CONCAT(now_date,'T11:37:10')::TIMESTAMP AT TIME ZONE 'Europe/Prague')) * 1000 FROM init_values),2,E'2019-05-26T09:13:00Z_XX_152_37_201230',NULL,NULL,NULL,(SELECT CONCAT(now_date,'T11:37:10')::TIMESTAMP AT TIME ZONE 'Europe/Prague' FROM init_values),NULL,100015,NULL,NULL,NULL,'U474Z4P',2,'Vysočanská',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'at_stop','U474Z4P',2);
561
+ (E'2021-03-31 10:53:58.936142+02',-20,-20,NULL,E'U337Z4',1.42,NULL,50.11063,14.50247,E'11:37:10',(SELECT EXTRACT(EPOCH FROM (CONCAT(now_date,'T11:37:10')::TIMESTAMP AT TIME ZONE 'Europe/Prague')) * 1000 FROM init_values),2,E'2019-05-26T09:13:00Z_XX_152_37_201230',NULL,NULL,NULL,(SELECT CONCAT(now_date,'T11:37:10')::TIMESTAMP AT TIME ZONE 'Europe/Prague' FROM init_values),NULL,100015,NULL,NULL,NULL,'U474Z4P',2,'Vysočanská',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'at_stop','U474Z4P',2);
562
562
 
563
563
  -- TRIP CANCELED
564
564
  WITH init_values AS (SELECT NOW()::DATE AS now_date)
@@ -570,7 +570,7 @@ WITH init_values AS (SELECT NOW()::DATE AS now_date)
570
570
  INSERT INTO "vehiclepositions_positions"("created_at","delay","delay_stop_arrival","delay_stop_departure","next_stop_id","shape_dist_traveled","is_canceled","lat","lng","origin_time","origin_timestamp","tracking","trips_id","create_batch_id","created_by","update_batch_id","updated_at","updated_by","id","bearing","cis_last_stop_id","cis_last_stop_sequence","last_stop_id","last_stop_sequence","last_stop_name","next_stop_sequence","speed","last_stop_arrival_time","last_stop_departure_time","next_stop_arrival_time","next_stop_departure_time","asw_last_stop_id","state_process","state_position","this_stop_id")
571
571
  VALUES
572
572
  (E'2021-03-31 10:53:58.936142+02',10,NULL,60,E'U337Z4',1,'FALSE',50.11063,14.50247,E'11:42:10',(SELECT EXTRACT(EPOCH FROM (CONCAT(now_date,'T11:42:10')::TIMESTAMP AT TIME ZONE 'Europe/Prague')) * 1000 FROM init_values),2,E'2019-05-26T09:13:00Z_XX_152_60_201230',NULL,NULL,NULL,(SELECT CONCAT(now_date,'T11:42:10')::TIMESTAMP AT TIME ZONE 'Europe/Prague' FROM init_values),NULL,100016,NULL,NULL,NULL,'U474Z4P',2,'Vysočanská',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'on_track',NULL),
573
- (E'2021-03-31 10:53:58.936142+02',30,NULL,60,E'U337Z4',1,'TRUE',50.11063,14.50247,E'11:42:11',(SELECT EXTRACT(EPOCH FROM (CONCAT(now_date,'T11:42:11')::TIMESTAMP AT TIME ZONE 'Europe/Prague')) * 1000 FROM init_values),0,E'2019-05-26T09:13:00Z_XX_152_60_201230',NULL,NULL,NULL,(SELECT CONCAT(now_date,'T11:42:11')::TIMESTAMP AT TIME ZONE 'Europe/Prague' FROM init_values),NULL,100026,NULL,NULL,NULL,'U474Z4P',2,'Vysočanská',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'canceled',NULL);
573
+ (E'2021-03-31 10:53:58.936142+02',30,60,60,E'U337Z4',1,'TRUE',50.11063,14.50247,E'11:42:11',(SELECT EXTRACT(EPOCH FROM (CONCAT(now_date,'T11:42:11')::TIMESTAMP AT TIME ZONE 'Europe/Prague')) * 1000 FROM init_values),0,E'2019-05-26T09:13:00Z_XX_152_60_201230',NULL,NULL,NULL,(SELECT CONCAT(now_date,'T11:42:11')::TIMESTAMP AT TIME ZONE 'Europe/Prague' FROM init_values),NULL,100026,NULL,NULL,NULL,'U474Z4P',2,'Vysočanská',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'canceled',NULL);
574
574
 
575
575
  -- <<<
576
576
 
@@ -65,15 +65,20 @@ with recursive stop_times as (
65
65
  vt.provider_source_type,
66
66
  vp.delay,
67
67
  coalesce(vp.last_stop_sequence, 1) as initial_stop_sequence,
68
+ vp.delay_stop_departure,
68
69
  rst.stop_sequence,
69
70
  rst.stop_id,
70
71
  rst.computed_dwell_time_seconds,
71
- case when last_stop_sequence is null
72
+ case when vp.last_stop_sequence is null
72
73
  then vp.delay
73
74
  else vp.delay_stop_arrival
74
75
  end as arrival_delay_seconds,
75
- case when last_stop_sequence is null
76
- then predict_delay_seconds(vp.delay, rst.computed_dwell_time_seconds, vt.provider_source_type)
76
+ case when vp.last_stop_sequence is null or vp.state_position = 'at_stop'
77
+ then predict_delay_seconds(
78
+ case when vp.delay_stop_arrival is null then vp.delay else vp.delay_stop_arrival end,
79
+ rst.computed_dwell_time_seconds,
80
+ vt.provider_source_type
81
+ )
77
82
  else vp.delay_stop_departure
78
83
  end as departure_delay_seconds
79
84
  from ropidgtfs_stop_times rst
@@ -89,15 +94,16 @@ union all
89
94
  previous_row.provider_source_type,
90
95
  previous_row.delay,
91
96
  previous_row.initial_stop_sequence,
97
+ previous_row.delay_stop_departure,
92
98
  rst.stop_sequence,
93
99
  rst.stop_id,
94
100
  rst.computed_dwell_time_seconds,
95
- case when rst.stop_sequence - previous_row.initial_stop_sequence = 1
101
+ case when rst.stop_sequence - previous_row.initial_stop_sequence = 1 and previous_row.departure_delay_seconds = previous_row.delay_stop_departure
96
102
  then previous_row.delay
97
103
  else previous_row.departure_delay_seconds
98
104
  end as arrival_delay_seconds,
99
105
  predict_delay_seconds(
100
- case when rst.stop_sequence - previous_row.initial_stop_sequence = 1 then previous_row.delay else previous_row.departure_delay_seconds end,
106
+ case when rst.stop_sequence - previous_row.initial_stop_sequence = 1 and previous_row.departure_delay_seconds = previous_row.delay_stop_departure then previous_row.delay else previous_row.departure_delay_seconds end,
101
107
  rst.computed_dwell_time_seconds,
102
108
  previous_row.provider_source_type
103
109
  ) as departure_delay_seconds
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "2.6.8-dev.846224983",
3
+ "version": "2.6.8-dev.846304243",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",