Unverified Commit 3da22fc8 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

improve inconsistency list

parent 16cdc3d1
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -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 {
+20 −5
Original line number Diff line number Diff line
@@ -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++;
@@ -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 {
@@ -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,
+7 −4
Original line number Diff line number Diff line
@@ -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>