X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=reports%2Facquisitions_stats.pl;h=1ce99fff2496648423834bdde85adc563a3ea745;hb=0a460254b4dedce0220e6c88c22f2c63ac159faa;hp=0ccbfad417b083832868227538a21d495994c710;hpb=880c1335f68678310a2abbcb886adf6a1fdb74f0;p=koha.git diff --git a/reports/acquisitions_stats.pl b/reports/acquisitions_stats.pl index 0ccbfad417..1ce99fff24 100755 --- a/reports/acquisitions_stats.pl +++ b/reports/acquisitions_stats.pl @@ -24,7 +24,7 @@ use strict; use C4::Auth; use CGI; use C4::Context; - +use C4::Reports; use C4::Output; use C4::Koha; use C4::Circulation; @@ -57,7 +57,6 @@ my $calc = $input->param("Cellvalue"); my $output = $input->param("output"); my $basename = $input->param("basename"); my $mime = $input->param("MIME"); -my $del = $input->param("sep"); #warn "calcul : ".$calc; my ($template, $borrowernumber, $cookie) @@ -68,6 +67,8 @@ my ($template, $borrowernumber, $cookie) flagsrequired => {reports => 1}, debug => 1, }); +our $sep = $input->param("sep"); +$sep = "\t" if ($sep eq 'tabulation'); $template->param(do_it => $do_it, DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), ); @@ -88,8 +89,6 @@ if ($do_it) { ); my $cols = @$results[0]->{loopcol}; my $lines = @$results[0]->{looprow}; - my $sep; - $sep = C4::Context->preference("delimiter"); print @$results[0]->{line} . "/" . @$results[0]->{column} . $sep; foreach my $col (@$cols) { print $col->{coltitle} . $sep; @@ -243,14 +242,7 @@ else { -multiple => 0 ); - my @dels = ( C4::Context->preference("delimiter") ); - my $CGIsepChoice = CGI::scrolling_list( - -name => 'sep', - -id => 'sep', - -values => \@dels, - -size => 1, - -multiple => 0 - ); + my $CGIsepChoice = GetDelimiterChoices; $template->param( CGIBookSeller => $CGIBookSellers, @@ -415,11 +407,12 @@ sub calculate { "SELECT DISTINCTROW $linefield FROM (aqorders, aqbasket,aqorderbreakdown) LEFT JOIN items ON (aqorders.biblionumber= items.biblionumber) LEFT JOIN biblioitems ON (aqorders.biblionumber= biblioitems.biblionumber) - LEFT JOIN aqorderdelivery ON (aqorders.ordernumber =aqorderdelivery.ordernumber ) LEFT JOIN aqbooksellers ON (aqbasket.booksellerid=aqbooksellers.id) WHERE (aqorders.basketno=aqbasket.basketno) AND (aqorderbreakdown.ordernumber=aqorders.ordernumber) AND $line IS NOT NULL "; - if (@linefilter) { +# LEFT JOIN aqorderdelivery ON (aqorders.ordernumber =aqorderdelivery.ordernumber ) + + if (@linefilter) { if ( $linefilter[1] ) { if ( $linefilter[0] ) { $strsth .= " AND $line BETWEEN ? AND ? "; @@ -485,17 +478,17 @@ sub calculate { $colfield .= "Year($column)"; } - elsif ( ( $column =~ /deliverydate/ ) and ( $rodsp == 1 ) ) { + elsif ( ( $column =~ /received/ ) and ( $rodsp == 1 ) ) { #Display by day $colfield .= "dayname($column)"; } - elsif ( ( $column =~ /deliverydate/ ) and ( $rodsp == 2 ) ) { + elsif ( ( $column =~ /received/ ) and ( $rodsp == 2 ) ) { #Display by Month $colfield .= "monthname($column)"; } - elsif ( ( $column =~ /deliverydate/ ) and ( $rodsp == 3 ) ) { + elsif ( ( $column =~ /received/ ) and ( $rodsp == 3 ) ) { #Display by Year $colfield .= "Year($column)"; @@ -526,11 +519,12 @@ sub calculate { "SELECT distinctrow $colfield FROM (aqorders, aqbasket,aqorderbreakdown) LEFT JOIN items ON (aqorders.biblionumber= items.biblionumber) LEFT JOIN biblioitems ON (aqorders.biblionumber= biblioitems.biblionumber) - LEFT JOIN aqorderdelivery ON (aqorders.ordernumber =aqorderdelivery.ordernumber ) LEFT JOIN aqbooksellers ON (aqbasket.booksellerid=aqbooksellers.id) WHERE (aqorders.basketno=aqbasket.basketno) AND (aqorderbreakdown.ordernumber=aqorders.ordernumber) AND $column IS NOT NULL"; +# LEFT JOIN aqorderdelivery ON (aqorders.ordernumber =aqorderdelivery.ordernumber ) + if (@colfilter) { if ( $colfilter[1] ) { if ( $colfilter[0] ) { @@ -606,21 +600,22 @@ sub calculate { $strcalc .= "FROM (aqorders, aqbasket,aqorderbreakdown) LEFT JOIN items ON (aqorders.biblionumber= items.biblionumber) LEFT JOIN biblioitems ON (aqorders.biblionumber= biblioitems.biblionumber) - LEFT JOIN aqorderdelivery ON (aqorders.ordernumber =aqorderdelivery.ordernumber ) LEFT JOIN aqbooksellers ON (aqbasket.booksellerid=aqbooksellers.id) WHERE (aqorders.basketno=aqbasket.basketno) AND (aqorderbreakdown.ordernumber=aqorders.ordernumber) "; - @$filters[0] =~ s/\*/%/g if ( @$filters[0] ); +# LEFT JOIN aqorderdelivery ON (aqorders.ordernumber =aqorderdelivery.ordernumber ) + + @$filters[0] =~ s/\*/%/g if ( @$filters[0] ); $strcalc .= " AND aqbasket.closedate >= '" . @$filters[0] . "'" if ( @$filters[0] ); @$filters[1] =~ s/\*/%/g if ( @$filters[1] ); $strcalc .= " AND aqbasket.closedate <= '" . @$filters[1] . "'" if ( @$filters[1] ); @$filters[2] =~ s/\*/%/g if ( @$filters[2] ); - $strcalc .= " AND aqorderdelivery.deliverydate >= '" . @$filters[2] . "'" + $strcalc .= " AND aqorders.datereceived >= '" . @$filters[2] . "'" if ( @$filters[2] ); @$filters[3] =~ s/\*/%/g if ( @$filters[3] ); - $strcalc .= " AND aqorderdelivery.deliverydate <= '" . @$filters[3] . "'" + $strcalc .= " AND aqorders.datereceived <= '" . @$filters[3] . "'" if ( @$filters[3] ); # @$filters[4] =~ s/\*/%/g if ( @$filters[4] ); # $strcalc .= " AND aqbasket.closedate >= '" . @$filters[4] . "'" @@ -652,10 +647,11 @@ sub calculate { # warn "filling table"; my $emptycol; while ( my ( $row, $col, $value ) = $dbcalc->fetchrow ) { + next if ($row eq undef || $col eq undef); #warn "filling table $row / $col / $value "; - $emptycol = 1 if ( $col eq undef ); - $col = "zzEMPTY" if ( $col eq undef ); - $row = "zzEMPTY" if ( $row eq undef ); + $emptycol = 1 if ( !defined($col) ); + $col = "zzEMPTY" if ( !defined($col) ); + $row = "zzEMPTY" if ( !defined($row) ); $table{$row}->{$col} += $value; $table{$row}->{totalrow} += $value;