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

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,21 @@ 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,
69
+ vp.state_position,
68
70
  rst.stop_sequence,
69
71
  rst.stop_id,
70
72
  rst.computed_dwell_time_seconds,
71
- case when last_stop_sequence is null
73
+ case when vp.last_stop_sequence is null
72
74
  then vp.delay
73
75
  else vp.delay_stop_arrival
74
76
  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)
77
+ case when vp.last_stop_sequence is null or vp.state_position = 'at_stop'
78
+ then predict_delay_seconds(
79
+ case when vp.delay_stop_arrival is null then vp.delay else vp.delay_stop_arrival end,
80
+ rst.computed_dwell_time_seconds,
81
+ vt.provider_source_type
82
+ )
77
83
  else vp.delay_stop_departure
78
84
  end as departure_delay_seconds
79
85
  from ropidgtfs_stop_times rst
@@ -89,15 +95,17 @@ union all
89
95
  previous_row.provider_source_type,
90
96
  previous_row.delay,
91
97
  previous_row.initial_stop_sequence,
98
+ previous_row.delay_stop_departure,
99
+ previous_row.state_position,
92
100
  rst.stop_sequence,
93
101
  rst.stop_id,
94
102
  rst.computed_dwell_time_seconds,
95
- case when rst.stop_sequence - previous_row.initial_stop_sequence = 1
96
- then previous_row.delay
103
+ case when rst.stop_sequence - previous_row.initial_stop_sequence = 1 and previous_row.state_position != 'at_stop'
104
+ then coalesce(previous_row.delay, previous_row.departure_delay_seconds)
97
105
  else previous_row.departure_delay_seconds
98
106
  end as arrival_delay_seconds,
99
107
  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,
108
+ case when rst.stop_sequence - previous_row.initial_stop_sequence = 1 and previous_row.state_position != 'at_stop' then coalesce(previous_row.delay, previous_row.departure_delay_seconds) else previous_row.departure_delay_seconds end,
101
109
  rst.computed_dwell_time_seconds,
102
110
  previous_row.provider_source_type
103
111
  ) 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.846446352",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",