Rev 12947 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 12947 | Rev 17437 | ||
---|---|---|---|
Line 2... | Line 2... | ||
2 | use strict; use warnings; |
2 | use strict; use warnings; |
3 | 3 | ||
- | 4 | # latency in second (calcul of worktime is min(latency,timescore-timenew) |
|
- | 5 | my $latency='900'; |
|
4 | use Time::Local; |
6 | use Time::Local; |
5 | my ($OUT, $SHEET); |
7 | my ($OUT, $SHEET); |
6 | my $SH='';my $OPTION=''; |
8 | my $SH='';my $OPTION=''; |
7 | my $LIMIT='9'; |
9 | my $LIMIT='9'; |
8 | push (@ARGV,split(' ', $ENV{'wims_exec_parm'})) if ($ENV{'wims_exec_parm'}); |
10 | push (@ARGV,split(' ', $ENV{'wims_exec_parm'})) if ($ENV{'wims_exec_parm'}); |
Line 42... | Line 44... | ||
42 | if ($_[4] eq 'score' || $_[4] =~ /new|resume/ || (!$lastdate{$_[2]}) ) { |
44 | if ($_[4] eq 'score' || $_[4] =~ /new|resume/ || (!$lastdate{$_[2]}) ) { |
43 | if (!($session eq $_[1])){ $nbsessions ++; $session=$_[1]; }; |
45 | if (!($session eq $_[1])){ $nbsessions ++; $session=$_[1]; }; |
44 | $dattime=~/([0-9]+)\.([0-9:]+)/; |
46 | $dattime=~/([0-9]+)\.([0-9:]+)/; |
45 | my ($date, $time) = ($1,$2); |
47 | my ($date, $time) = ($1,$2); |
46 | $date =~/([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])/; |
48 | $date =~/([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])/; |
47 | if ($_[4] =~ /new|resume/) { |
- | |
48 | $nbnew ++; |
- | |
49 | if (($_[2]=~ /\b($SH)\b/ || !($SH))) { $newbydaysh{$_[2]}->{$date} ++ ; $newbyday{$date} ++} |
- | |
50 | ## n'a de sens que s'il y a une seule sheet |
- | |
51 | if ($_[2]=~ /\b$SH0\b/){ $newbydayex{$_[3]}->{$date} ++;} |
- | |
52 | next}; |
- | |
53 | $seconds{$date}=timelocal(0,0,0,$3,$2-1,$1); |
49 | $seconds{$date}=timelocal(0,0,0,$3,$2-1,$1); |
54 | if (($_[2]=~ /\b($SH)\b/ || !($SH)) && ($_[4] eq 'score')) { |
50 | if (($_[2]=~ /\b($SH)\b/ || !($SH)) && ($_[4] eq 'score')) { |
55 | $exobyday{$date} ++ ; |
51 | $exobyday{$date} ++ ; |
56 | $nbnew --; |
52 | $nbnew --; |
57 | $exobydaysh{$_[2]}->{$date} ++ ; |
53 | $exobydaysh{$_[2]}->{$date} ++ ; |
58 | if ($_[5] >= $LIMIT){ |
54 | if ($_[5] >= $LIMIT){ |
59 | $scorebyday{$date} ++ ; |
55 | $scorebyday{$date} ++ ; |
60 | $goodbyday{$date} .= (($goodbyday{$date})? ',':'') . $exobyday{$date}; |
56 | $goodbyday{$date} .= (($goodbyday{$date})? ',':'') . $exobyday{$date}; |
61 | $scorebydaysh{$_[2]}->{$date} ++; |
57 | $scorebydaysh{$_[2]}->{$date} ++; |
62 | $goodbydaysh{$_[2]}->{$date} .= (($goodbydaysh{$_[2]}{$date})? ',':'') . $exobydaysh{$_[2]}->{$date}; |
58 | $goodbydaysh{$_[2]}->{$date} .= (($goodbydaysh{$_[2]}{$date})? ',':'') . $exobydaysh{$_[2]}->{$date}; |
63 | } |
59 | } |
64 | ## n'a de sens que s'il y a une seule sheet |
60 | ## n'a de sens que s'il y a une seule sheet |
65 | if ($_[2]=~ /\b$SH0\b/){ |
61 | if ($_[2]=~ /\b$SH0\b/){ |
66 | $exobydayex{$_[3]}->{$date} ++; |
62 | $exobydayex{$_[3]}->{$date} ++; |
67 | if ($_[5] >= $LIMIT){ |
63 | if ($_[5] >= $LIMIT){ |
68 | $scorebydayex{$_[3]}->{$date} ++; |
64 | $scorebydayex{$_[3]}->{$date} ++; |
69 | $goodbydayex{$_[3]}->{$date} .= (($goodbydayex{$_[3]}{$date})? ',':'') . $exobydayex{$_[3]}->{$date}; |
65 | $goodbydayex{$_[3]}->{$date} .= (($goodbydayex{$_[3]}{$date})? ',':'') . $exobydayex{$_[3]}->{$date}; |
70 | } |
66 | } |
71 | } |
67 | } |
72 | } |
68 | } |
73 | my ($annee, $mois, $jour)=($1,$2,$3); |
69 | my ($annee, $mois, $jour)=($1,$2,$3); |
74 | $date=converttime($time,$date); |
70 | $date=converttime($time,$date); |
- | 71 | if ($_[4] =~ /new|resume/) { |
|
- | 72 | $nbnew ++; |
|
- | 73 | $lastdate{$_[2]}=$date; |
|
- | 74 | if (($_[2]=~ /\b($SH)\b/ || !($SH))) { $newbydaysh{$_[2]}->{$date} ++ ; $newbyday{$date} ++} |
|
- | 75 | ## n'a de sens que s'il y a une seule sheet |
|
- | 76 | if ($_[2]=~ /\b$SH0\b/){ $newbydayex{$_[3]}->{$date} ++;} |
|
- | 77 | if ( !$duree{$_[2]} ) {$duree{$_[2]}= 0;}; |
|
- | 78 | next}; |
|
75 | 79 | ||
76 | if(!$lastdate{$_[2]} && $_[4] eq 'new'){#on initialise s'il n'avait jamais fait cette feuille : |
80 | if(!$lastdate{$_[2]} && $_[4] eq 'new'){#on initialise s'il n'avait jamais fait cette feuille : |
- | 81 | # en fait on passe jamais ici car le cmd=new est detecté avant et il y a une sortie donc à supprimer |
|
77 | $lastdate{$_[2]}=$date; |
82 | $lastdate{$_[2]}=$date; |
78 | $duree{$_[2]}= 0; |
83 | $duree{$_[2]}= 0; |
79 | next; |
84 | next; |
80 | } else { |
85 | } else { |
81 | #on juge que s'il y a moins de |
86 | #on juge que s'il y a moins de $latency entre deux dates consecutives, le bonhomme a travaille pendant ce temps |
82 | if ($lastdate{$_[2]} && $date-$lastdate{$_[2]}< |
87 | if ($lastdate{$_[2]} && $date-$lastdate{$_[2]}<$latency){ |
83 | $duree{$_[2]} += ($date-$lastdate{$_[2]}); |
88 | $duree{$_[2]} += ($date-$lastdate{$_[2]}); |
84 | } else |
89 | } else |
- | 90 | { |
|
- | 91 | $duree{$_[2]} += $latency; |
|
- | 92 | } |
|
85 | $lastdate{$_[2]}=$date; |
93 | $lastdate{$_[2]}=$date; |
- | 94 | # |
|
86 | } |
95 | } |
87 | if ($_[4] eq 'score') {; |
96 | if ($_[4] eq 'score') {; |
88 | $score{$_[2]} ++; |
97 | $score{$_[2]} ++; |
89 | }; |
98 | }; |
90 | }; |
99 | }; |