X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=reports%2Fbor_issues_top.pl;h=95fc28766f2556d14b118476bd5ed77a4a15141e;hb=dcb4ac77fbfd813cc0eb39e060b49a7b8d491016;hp=0290ab062aa1c57843e16c22c3c671e63b79d53b;hpb=f1598406e5f9425198f4ec42a372752b9cccf31a;p=koha.git diff --git a/reports/bor_issues_top.pl b/reports/bor_issues_top.pl index 0290ab062a..95fc28766f 100755 --- a/reports/bor_issues_top.pl +++ b/reports/bor_issues_top.pl @@ -55,7 +55,6 @@ foreach ( @filters[0..3] ) { } my $output = $input->param("output"); my $basename = $input->param("basename"); -# my $mime = $input->param("MIME"); my ($template, $borrowernumber, $cookie) = get_template_and_user({template_name => $fullreportname, query => $input, @@ -110,7 +109,7 @@ my $dbh = C4::Context->dbh; my @values; # here each element returned by map is a hashref, get it? -my @mime = ( map { {type =>$_} } (split /[;:]/,C4::Context->preference("MIME")) ); +my @mime = ( map { {type =>$_} } (split /[;:]/, 'CSV') ); # FIXME translation my $delims = GetDelimiterChoices; my $branches = GetBranches; my @branchloop; @@ -152,7 +151,8 @@ output_html_with_http_headers $input, $cookie, $template->output; sub calculate { - my ($line, $column, $filters) = @_; + my ($limit, $column, $filters) = @_; + my @loopcol; my @loopline; my @looprow; @@ -210,11 +210,6 @@ sub calculate { } elsif ($column =~ /sort2/ ) { # $colfilter[0] = @$filters[11]; } - # $colfilter[0] = @$filters[7] if ($column =~ /timestamp/ ) ; FIXME This can't be right. - # $colfilter[0] = @$filters[8] if ($column =~ /timestamp/ ) ; FIXME - # $colfilter[0] = @$filters[9] if ($column =~ /timestamp/ ) ; FIXME Only this line would have effect. - - #warn "filtre col ".$colfilter[0]." ".$colfilter[1]; # loop cols. if ($column eq "Day") { @@ -282,37 +277,25 @@ sub calculate { $columns{''} = 1; } - #Initialization of cell values..... - my @table; - for (my $i=1;$i<=$line;$i++) { - foreach (keys %columns) { -# warn " init table : $row->{rowtitle} / $_ "; - $table[$i]->{ $_ || "total" }->{'name'}=0; - } - } - my $strcalc ; # Processing average loanperiods $strcalc .= "SELECT CONCAT(borrowers.surname , \",\\t\",borrowers.firstname), COUNT(*) AS RANK, borrowers.borrowernumber AS ID"; $strcalc .= " , $colfield " if ($colfield); $strcalc .= " FROM `old_issues` - LEFT JOIN borrowers ON old_issues.borrowernumber=borrowers.borrowernumber - LEFT JOIN items ON items.itemnumber=old_issues.itemnumber - LEFT JOIN biblioitems ON (biblioitems.biblioitemnumber=items.biblioitemnumber) - WHERE 1"; + LEFT JOIN borrowers USING(borrowernumber) + LEFT JOIN items USING(itemnumber) + LEFT JOIN biblioitems USING(biblioitemnumber) + WHERE old_issues.borrowernumber IS NOT NULL + "; my @filterterms = ( - 'old_issues.timestamp >', - 'old_issues.timestamp <', + 'old_issues.issuedate >', + 'old_issues.issuedate <', 'old_issues.returndate >', 'old_issues.returndate <', 'old_issues.branchcode like', 'biblioitems.itemtype like', 'borrowers.categorycode like', - 'dayname(old_issues.timestamp) like', - 'monthname(old_issues.timestamp) like', - 'monthname(old_issues.timestamp) like', - 'year(old_issues.timestamp) like', ); foreach ((@$filters)[0..9]) { my $term = shift @filterterms; # go through both arrays in step @@ -320,16 +303,11 @@ sub calculate { s/\*/%/g; $strcalc .= " AND $term '$_' "; } - $strcalc .= " GROUP BY borrowers.borrowernumber"; $strcalc .= ", $colfield" if ($column); $strcalc .= " ORDER BY RANK DESC"; $strcalc .= ",$colfield " if ($colfield); -# my $max; -# if (@loopcol) { -# $max = $line*@loopcol; -# } else { $max=$line;} -# $strcalc .= " LIMIT 0,$max"; + $strcalc .= " LIMIT $limit" if ($limit); $debug and print DEBUG "(old_issues) SQL : $strcalc\n"; my $dbcalc = $dbh->prepare($strcalc); @@ -414,7 +392,6 @@ sub calculate { # the foot (totals by borrower type) $globalline{loopfooter} = []; $globalline{total}= $grantotal; # FIXME: useless - $globalline{line} = $line; $globalline{column} = $column; return [\%globalline]; # reference to a 1 element array: that element is a hashref }