integritycheck: list journeys affected by #159
This commit is contained in:
parent
a67e39d4ce
commit
4b6049cd1a
1 changed files with 43 additions and 0 deletions
|
@ -103,9 +103,52 @@ sub run {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($found) {
|
if ($found) {
|
||||||
say '------------8<----------';
|
say '------------8<----------';
|
||||||
say '';
|
say '';
|
||||||
|
$found = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$res = $db->select(
|
||||||
|
'journeys_str',
|
||||||
|
[ 'journey_id', 'sched_arr_ts', 'route', 'arr_name', 'arr_eva' ],
|
||||||
|
{ backend_id => 0 }
|
||||||
|
)->expand;
|
||||||
|
journey: while ( my $j = $res->hash ) {
|
||||||
|
my $found_in_route;
|
||||||
|
my $found_arr;
|
||||||
|
for my $stop ( @{ $j->{route} // [] } ) {
|
||||||
|
if ( not $stop->[1] ) {
|
||||||
|
next journey;
|
||||||
|
}
|
||||||
|
if ( $stop->[1] == $j->{arr_eva} ) {
|
||||||
|
$found_in_route = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
if ( $stop->[2]{sched_arr}
|
||||||
|
and $j->{sched_arr_ts}
|
||||||
|
and $stop->[2]{sched_arr} == int( $j->{sched_arr_ts} ) )
|
||||||
|
{
|
||||||
|
$found_arr = $stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( $found_arr and not $found_in_route ) {
|
||||||
|
if ( not $found ) {
|
||||||
|
say q{};
|
||||||
|
say
|
||||||
|
'The following journeys have route entries which do not agree with checkout EVA ID.';
|
||||||
|
say
|
||||||
|
'checkout station ID (left) vs route entry with matching checkout time (right)';
|
||||||
|
say '------------8<----------';
|
||||||
|
$found = 1;
|
||||||
|
}
|
||||||
|
printf(
|
||||||
|
"%7d %d (%s) vs %d (%s)\n",
|
||||||
|
$j->{journey_id}, $j->{arr_eva}, $j->{arr_name},
|
||||||
|
$found_arr->[1], $found_arr->[0]
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue