Skip to content
Permalink
Browse files

Allow to dump old series results into the database

  • Loading branch information...
andreas-gruenbacher authored and Andreas Gruenbacher committed Sep 5, 2018
1 parent 11b573e commit 837298e9e9f602b2310af99cc61cd639e0fdbc03
Showing with 49 additions and 2 deletions.
  1. +26 −1 cgi-bin/ergebnisse/jahreswertung-ssi.pl
  2. +23 −1 lib/Jahreswertung.pm
@@ -286,7 +286,7 @@

doc_h1 "$bezeichnung";
doc_h2 "Jahreswertung";
jahreswertung veranstaltungen => $veranstaltungen,
my $w = jahreswertung veranstaltungen => $veranstaltungen,
wertung => $wertung,
laeufe_gesamt => $laeufe,
streichresultate => $streichresultate,
@@ -296,5 +296,30 @@
@klassen ? (klassen => \@klassen ) : (),
tie_break => $tie_break;

if ($ENV{DUMP}) {
$sth = $dbh->prepare(q{
DELETE FROM series_scores
WHERE serie = ?
});
$sth->execute($vareihe);
$sth = $dbh->prepare(q{
INSERT INTO series_scores
SET serie = ?, class = ?, number = ?, last_id = ?, rank = ?, drop_score = ?, score = ?
});
foreach my $klasse (keys %$w) {
my $klassenwertung = $w->{$klasse};
foreach my $startnummer (keys %$klassenwertung) {
my $fahrerwertung = $klassenwertung->{$startnummer};
$sth->execute($vareihe, $klasse, $startnummer, $fahrerwertung->{letzte_id}, $fahrerwertung->{rang}, $fahrerwertung->{streichpunkte}, $fahrerwertung->{gesamtpunkte});
}
}
$sth = $dbh->prepare(q{
UPDATE series
SET mtime = NULL
WHERE serie = ?
});
$sth->execute($vareihe);
}

print "<p>Letzte Änderung: $mtime</p>\n"
if $mtime;
@@ -321,15 +321,16 @@ sub jahreswertung(@) {
#}

my $alle_fahrer;
my $letzte_ids;

my $jahreswertung;
foreach my $veranstaltung (@{$args{veranstaltungen}}) {
my $fahrer_nach_startnummer = $veranstaltung->[1];

foreach my $fahrer (values %$fahrer_nach_startnummer) {
my $startnummer = $fahrer->{startnummer};
my $klasse = $fahrer->{wertungsklasse};
if (defined $fahrer->{wertungen}[$wertung - 1]{punkte}) {
my $klasse = $fahrer->{wertungsklasse};
push @{$jahreswertung->{$klasse}{$startnummer}{wertungspunkte}},
$fahrer->{wertungen}[$wertung - 1]{punkte};
push @{$jahreswertung->{$klasse}{$startnummer}{wertungsrang}},
@@ -339,6 +340,7 @@ sub jahreswertung(@) {
# bei der der Fahrer Punkte gemacht hat.
if ($fahrer->{wertungen}[$wertung - 1]{punkte}) {
$alle_fahrer->{$startnummer} = $fahrer;
$letzte_ids->{$klasse}{$startnummer} = $veranstaltung->[0]{id};
}
}
}
@@ -487,6 +489,26 @@ sub jahreswertung(@) {
push @$body, [ $label, $cfg->{wertungen}[$wertung - 1]{titel} ];
}
doc_table header => ["", "Name"], body => $body, format => ["r", "l"];

my $w;

foreach my $klasse (keys %$jahreswertung) {
my $klassenwertung = $jahreswertung->{$klasse};
foreach my $startnummer (keys %$klassenwertung) {
my $fahrerwertung = $klassenwertung->{$startnummer};
my $ww = {
rang => $fahrerwertung->{gesamtrang},
};
$ww->{streichpunkte} = $fahrerwertung->{streichpunkte}
if exists $fahrerwertung->{streichpunkte};
$ww->{gesamtpunkte} = $fahrerwertung->{gesamtpunkte}
if exists $fahrerwertung->{gesamtpunkte};
$ww->{letzte_id} = $letzte_ids->{$klasse}{$startnummer};
$w->{$klasse}{$startnummer} = $ww;
}
}

return $w;
}

1;

0 comments on commit 837298e

Please sign in to comment.
You can’t perform that action at this time.