Loading lib/Travelynx/Command/database.pm +12 −0 Original line number Diff line number Diff line Loading @@ -1300,6 +1300,18 @@ my @migrations = ( } ); }, # v31 -> v32 # travelynx v1.29.18 improves above-mentioned conflict links. sub { my ($db) = @_; $db->query( qq{ truncate journey_stats; update schema_version set version = 32; } ); }, ); sub sync_stations { Loading lib/Travelynx/Model/Journeys.pm +20 −5 Original line number Diff line number Diff line Loading @@ -1458,6 +1458,8 @@ sub compute_stats { my @inconsistencies; my $next_departure = 0; my $next_id; my $next_train; for my $journey (@journeys) { $num_trains++; Loading Loading @@ -1488,11 +1490,21 @@ sub compute_stats { if ( $next_departure - $journey->{rt_arr_ts} < 0 ) { push( @inconsistencies, [ epoch_to_dt($next_departure) { conflict => { train => $journey->{type} . ' ' . ( $journey->{line} // $journey->{no} ), arr => epoch_to_dt( $journey->{rt_arr_ts} ) ->strftime('%d.%m.%Y %H:%M'), id => $journey->{id}, }, ignored => { train => $next_train, dep => epoch_to_dt($next_departure) ->strftime('%d.%m.%Y %H:%M'), $journey->{id} ] id => $next_id, }, } ); } else { Loading @@ -1504,6 +1516,9 @@ sub compute_stats { $num_journeys++; } $next_departure = $journey->{rt_dep_ts}; $next_id = $journey->{id}; $next_train = $journey->{type} . ' ' . ( $journey->{line} // $journey->{no} ),; } my $ret = { km_route => $km_route, Loading templates/_history_stats.html.ep +7 −4 Original line number Diff line number Diff line Loading @@ -6,12 +6,15 @@ <i class="material-icons small right">warning</i> <span class="card-title">Inkonsistente Reisedaten</span> <p> Die folgenden Abfahrtszeiten liegen vor der Ankunftszeit der vorherigen Zugfahrt und wurden bei der Wartezeitberechnung ignoriert. Die folgenden Zugfahrten wurden bei der Wartezeitberechnung ignoriert, da ihre Abfahrtszeit vor der Ankunftszeit der vorherigen Zugfahrt liegt. Bei den restlichen Statistken wurden sie mitberücksichtigt. <ul> % for my $field (@{$stats->{inconsistencies}}) { <li><a href="/journey/<%= $field->[1] %>"><%= $field->[0] %></a></li> <li><a href="/journey/<%= $field->{ignored}{id} %>"><%= $field->{ignored}{train} %> ab <%= $field->{ignored}{dep} %></a> (Konflikt: <a href="/journey/<%= $field->{conflict}{id} %>"><%= $field->{conflict}{train} %> an <%= $field->{conflict}{arr} %>)</a> </li> % } </ul> </p> Loading Loading
lib/Travelynx/Command/database.pm +12 −0 Original line number Diff line number Diff line Loading @@ -1300,6 +1300,18 @@ my @migrations = ( } ); }, # v31 -> v32 # travelynx v1.29.18 improves above-mentioned conflict links. sub { my ($db) = @_; $db->query( qq{ truncate journey_stats; update schema_version set version = 32; } ); }, ); sub sync_stations { Loading
lib/Travelynx/Model/Journeys.pm +20 −5 Original line number Diff line number Diff line Loading @@ -1458,6 +1458,8 @@ sub compute_stats { my @inconsistencies; my $next_departure = 0; my $next_id; my $next_train; for my $journey (@journeys) { $num_trains++; Loading Loading @@ -1488,11 +1490,21 @@ sub compute_stats { if ( $next_departure - $journey->{rt_arr_ts} < 0 ) { push( @inconsistencies, [ epoch_to_dt($next_departure) { conflict => { train => $journey->{type} . ' ' . ( $journey->{line} // $journey->{no} ), arr => epoch_to_dt( $journey->{rt_arr_ts} ) ->strftime('%d.%m.%Y %H:%M'), id => $journey->{id}, }, ignored => { train => $next_train, dep => epoch_to_dt($next_departure) ->strftime('%d.%m.%Y %H:%M'), $journey->{id} ] id => $next_id, }, } ); } else { Loading @@ -1504,6 +1516,9 @@ sub compute_stats { $num_journeys++; } $next_departure = $journey->{rt_dep_ts}; $next_id = $journey->{id}; $next_train = $journey->{type} . ' ' . ( $journey->{line} // $journey->{no} ),; } my $ret = { km_route => $km_route, Loading
templates/_history_stats.html.ep +7 −4 Original line number Diff line number Diff line Loading @@ -6,12 +6,15 @@ <i class="material-icons small right">warning</i> <span class="card-title">Inkonsistente Reisedaten</span> <p> Die folgenden Abfahrtszeiten liegen vor der Ankunftszeit der vorherigen Zugfahrt und wurden bei der Wartezeitberechnung ignoriert. Die folgenden Zugfahrten wurden bei der Wartezeitberechnung ignoriert, da ihre Abfahrtszeit vor der Ankunftszeit der vorherigen Zugfahrt liegt. Bei den restlichen Statistken wurden sie mitberücksichtigt. <ul> % for my $field (@{$stats->{inconsistencies}}) { <li><a href="/journey/<%= $field->[1] %>"><%= $field->[0] %></a></li> <li><a href="/journey/<%= $field->{ignored}{id} %>"><%= $field->{ignored}{train} %> ab <%= $field->{ignored}{dep} %></a> (Konflikt: <a href="/journey/<%= $field->{conflict}{id} %>"><%= $field->{conflict}{train} %> an <%= $field->{conflict}{arr} %>)</a> </li> % } </ul> </p> Loading