Bug fixing : the link between serial and item wasnot used when editing an issue
[koha.git] / reports / acquisitions_stats.pl
index 0ccbfad..efa7bf2 100755 (executable)
@@ -415,11 +415,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 ? ";
@@ -526,11 +527,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 +608,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 +655,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;