[Koha-cvs] koha/C4 Stats.pm

Chris Cormack chris at katipo.co.nz
Wed Jun 7 05:58:37 CEST 2006


CVSROOT:	/sources/koha
Module name:	koha
Changes by:	Chris Cormack <rangi>	06/06/07 03:58:37

Modified files:
	C4             : Stats.pm 

Log message:
	Merging in Katipo changes plus perltidy code format

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Stats.pm?cvsroot=koha&r1=1.23&r2=1.24

Patches:
Index: Stats.pm
===================================================================
RCS file: /sources/koha/koha/C4/Stats.pm,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- Stats.pm	1 Jun 2006 01:42:19 -0000	1.23
+++ Stats.pm	7 Jun 2006 03:58:37 -0000	1.24
@@ -1,6 +1,6 @@
 package C4::Stats;
 
-# $Id: Stats.pm,v 1.23 2006/06/01 01:42:19 rangi Exp $
+# $Id: Stats.pm,v 1.24 2006/06/07 03:58:37 rangi Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -26,8 +26,9 @@
 use vars qw($VERSION @ISA @EXPORT);
 
 # set the version for version checking
-$VERSION = $VERSION = do { my @v = '$Revision: 1.23 $' =~ /\d+/g;
-    shift(@v) . "." . join("_", map {sprintf "%03d", $_ } @v); };;
+$VERSION = $VERSION = do { my @v = '$Revision: 1.24 $' =~ /\d+/g;
+    shift(@v) . "." . join( "_", map { sprintf "%03d", $_ } @v );
+};
 
 =head1 NAME
 
@@ -50,7 +51,8 @@
 
 @ISA = qw(Exporter);
 @EXPORT = qw(&UpdateStats &statsreport &TotalOwing
-&TotalPaid &getcharges &Getpaidbranch &unfilledreserves &getcredits);
+  &TotalPaid &getcharges &Getpaidbranch &unfilledreserves &getcredits
+  getrefunds);
 
 =item UpdateStats
 
@@ -70,142 +72,176 @@
 C<$env-E<gt>{usercode}> specifies the value of the C<usercode> field.
 
 =cut
+
 #'
 sub UpdateStats {
+
         #module to insert stats data into stats table
-        my ($env,$branch,$type,$amount,$other,$itemnum,$itemtype,$borrowernumber,$accountno)=@_;
+    my (
+        $env,      $branch,         $type,
+        $amount,   $other,          $itemnum,
+        $itemtype, $borrowernumber, $accountno
+      )
+      = @_;
         my $dbh = C4::Context->dbh;
-        if ($branch eq ''){
-                $branch=$env->{'branchcode'};
+    if ( $branch eq '' ) {
+        $branch = $env->{'branchcode'};
         }
         my $user = $env->{'usercode'};
         my $organisation = $env->{'organisation'};
         print $borrowernumber;
+
         # FIXME - Use $dbh->do() instead
-        my $sth=$dbh->prepare("Insert into statistics (datetime,branch,type,usercode,value,
-                                        other,itemnumber,itemtype,borrowernumber,proccode,associatedborrower) values (now(),?,?,?,?,?,?,?,?,?,?)");
-        $sth->execute($branch,$type,$user,$amount,$other,$itemnum,$itemtype,$borrowernumber,$accountno,$organisation);
+    my $sth = $dbh->prepare(
+        "Insert into statistics (datetime,branch,type,usercode,value,
+                                        other,itemnumber,itemtype,borrowernumber,proccode,associatedborrower) values (now(),?,?,?,?,?,?,?,?,?,?)"
+    );
+    $sth->execute(
+        $branch,    $type,    $user,     $amount,
+        $other,     $itemnum, $itemtype, $borrowernumber,
+        $accountno, $organisation
+    );
         $sth->finish;
 }
 
 # Otherwise, it'd need a POD.
 sub TotalPaid {
-        my ($time,$time2)=@_;
-        $time2=$time unless $time2;
+    my ( $time, $time2, $spreadsheet ) = @_;
+    $time2 = $time unless $time2;
         my $dbh = C4::Context->dbh;
-
-
-        #my $query="Select * from accountlines,borrowers where (accounttype = 'Pay' or accounttype ='W')
-        #                                and accountlines.borrowernumber = borrowers.borrowernumber";
-        #my @bind = ();
-        #if ($time eq 'today'){
-        #        $query .= " and date = now()";
-        #} else {
-        #        $query.=" and date>=? and date<=?";
-        #        @bind = ($time,$time2);
-        #}
-
-          my $query="Select * from statistics,borrowers
-          where statistics.borrowernumber= borrowers.borrowernumber
-          and (statistics.type='payment' or statistics.type='writeoff') ";
-          if ($time eq 'today'){
-            $query=$query." and datetime = now()";
-          } else {
-            $query.=" and datetime > '$time'";
+    my $query = "SELECT * FROM statistics,borrowers
+  WHERE statistics.borrowernumber= borrowers.borrowernumber
+  AND (statistics.type='payment' OR statistics.type='writeoff') ";
+    if ( $time eq 'today' ) {
+        $query = $query . " AND datetime = now()";
           }
-
-
-          # $query.=" order by timestamp";
-
-          # print $query;
-
-        my $sth=$dbh->prepare($query);
-
+    else {
+        $query .= " AND datetime > '$time'";
+    }
+    if ( $time2 ne '' ) {
+        $query .= " AND datetime < '$time2'";
+    }
+    if ($spreadsheet) {
+        $query .= " ORDER BY branch, type";
+    }
+    my $sth = $dbh->prepare($query);
         $sth->execute();
-        # $sth->execute(@bind);
         my @results;
-        my $i=0;
-        while (my $data=$sth->fetchrow_hashref){
-                $results[$i]=$data;
-                $i++;
+    while ( my $data = $sth->fetchrow_hashref ) {
+        push @results, $data;
         }
         $sth->finish;
-        #  print $query;
-        return(@results);
+    return (@results);
 }
 
 # Otherwise, it needs a POD.
-sub getcharges{
-        my($borrowerno,$timestamp,$accountno)=@_;
+sub getcharges {
+    my ( $borrowerno, $timestamp, $accountno ) = @_;
         my $dbh = C4::Context->dbh;
-        my $timestamp2=$timestamp-1;
-        my $query="";
+    my $timestamp2 = $timestamp - 1;
+    my $query      = "";
         my $sth;
 
         # getcharges is now taking accountno. as an argument
-        if ($accountno){
-              $sth=$dbh->prepare("Select * from accountlines where borrowernumber=?
-              and accountno = ?");
-              $sth->execute($borrowerno,$accountno);
+    if ($accountno) {
+        $sth = $dbh->prepare(
+            "Select * from accountlines where borrowernumber=?
+              and accountno = ?"
+        );
+        $sth->execute( $borrowerno, $accountno );
 
         # this bit left in for old 2 arg usage of getcharges
-        } else {
-              $sth=$dbh->prepare("Select * from accountlines where borrowernumber=?
+    }
+    else {
+        $sth = $dbh->prepare(
+            "Select * from accountlines where borrowernumber=?
               and timestamp = ? and accounttype <> 'Pay' and
-              accounttype <> 'W'");
-              $sth->execute($borrowerno,$timestamp);
+              accounttype <> 'W'"
+        );
+        $sth->execute( $borrowerno, $timestamp );
         }
 
         #  print $query,"<br>";
-        my $i=0;
+    my $i = 0;
         my @results;
-        while (my $data=$sth->fetchrow_hashref){
+    while ( my $data = $sth->fetchrow_hashref ) {
+
         #    if ($data->{'timestamp'} == $timestamp){
-                $results[$i]=$data;
+        $results[$i] = $data;
                 $i++;
+
         #    }
         }
-        return(@results);
+    return (@results);
 }
 
 # Otherwise, it needs a POD.
-sub getcredits{
-        my ($date,$date2)=@_;
+sub getcredits {
+    my ( $date, $date2 ) = @_;
         my $dbh = C4::Context->dbh;
 
         #takes date converts to timestamps
-        my $padding="000000";
-        (my $a, my $b, my $c) =  unpack("A4 x1 A2 x1 A2", $date);
-        (my $x, my $y, my $z) =  unpack("A4 x1 A2 x1 A2", $date2);
-        my $timestamp = $a.$b.$c.$padding;
-        my $timestamp2 = $x.$y.$z.$padding;
+    my $padding = "000000";
+    ( my $a, my $b, my $c ) = unpack( "A4 x1 A2 x1 A2", $date );
+    ( my $x, my $y, my $z ) = unpack( "A4 x1 A2 x1 A2", $date2 );
+    my $timestamp  = $a . $b . $c . $padding;
+    my $timestamp2 = $x . $y . $z . $padding;
 
-        my $sth=$dbh->prepare("Select * from accountlines,borrowers where (((accounttype = 'LR')  or (accounttype <> 'Pay'))
+    my $sth = $dbh->prepare(
+"Select * from accountlines,borrowers where (((accounttype = 'LR')  or (accounttype <> 'Pay'))
                                    and amount < 0  and accountlines.borrowernumber = borrowers.borrowernumber
-                                   and timestamp >=?  and timestamp <?)");
-        $sth->execute($timestamp, $timestamp2);
+                                   and timestamp >=?  and timestamp <?)"
+    );
+    $sth->execute( $timestamp, $timestamp2 );
 
-        my $i=0;
+    my $i = 0;
         my @results;
-        while (my $data=$sth->fetchrow_hashref){
-                $results[$i]=$data;
+    while ( my $data = $sth->fetchrow_hashref ) {
+        $results[$i] = $data;
                 $i++;
         }
-        return(@results);
+    return (@results);
 }
 
+sub getrefunds {
+    my ( $date, $date2 ) = @_;
+    my $dbh = C4::Context->dbh;
 
+    #takes date converts to timestamps
+    my $padding = "000000";
+    ( my $a, my $b, my $c ) = unpack( "A4 x1 A2 x1 A2", $date );
+    ( my $x, my $y, my $z ) = unpack( "A4 x1 A2 x1 A2", $date2 );
+    my $timestamp  = $a . $b . $c . $padding;
+    my $timestamp2 = $x . $y . $z . $padding;
+
+    my $sth = $dbh->prepare(
+"Select * from accountlines,borrowers where (accounttype = 'REF'                                                                
+		                          and accountlines.borrowernumber = borrowers.borrowernumber                                                                          
+		                                   and timestamp >=?  and timestamp <?)"
+    );
+    $sth->execute( $timestamp, $timestamp2 );
+
+    my @results;
+    while ( my $data = $sth->fetchrow_hashref ) {
+        push @results, $data;
+    }
+    return (@results);
+}
 
 # Otherwise, this needs a POD.
-sub Getpaidbranch{
-        my($date,$borrno)=@_;
+sub Getpaidbranch {
+    my ( $date, $borrno ) = @_;
         my $dbh = C4::Context->dbh;
-        my $sth=$dbh->prepare("select * from statistics where type='payment' and datetime >? and  borrowernumber=?");
-        $sth->execute($date,$borrno);
+    my $sth =
+      $dbh->prepare(
+"select * from statistics where type='payment' and datetime >? and  borrowernumber=?"
+      );
+    $sth->execute( $date, $borrno );
+
         #  print $query;
-        my $data=$sth->fetchrow_hashref;
+    my $data = $sth->fetchrow_hashref;
         $sth->finish;
-        return($data->{'branch'});
+    return ( $data->{'branch'} );
 }
 
 # FIXME - This is only used in reservereport.pl and reservereport.xls,
@@ -213,7 +249,8 @@
 # Otherwise, it needs a POD.
 sub unfilledreserves {
         my $dbh = C4::Context->dbh;
-        my $sth=$dbh->prepare("select *,biblio.title from reserves,reserveconstraints,biblio,borrowers,biblioitems where (found <> 'F' or
+    my $sth = $dbh->prepare(
+"select *,biblio.title from reserves,reserveconstraints,biblio,borrowers,biblioitems where (found <> 'F' or
 	    found is NULL) and cancellationdate
                                                                 is NULL and biblio.biblionumber=reserves.biblionumber and
                                                                 reserves.constrainttype='o'
@@ -222,27 +259,30 @@
                                                                 and
                                                                 reserves.borrowernumber=borrowers.borrowernumber and
                                                                 biblioitems.biblioitemnumber=reserveconstraints.biblioitemnumber order by
-                                                                biblio.title,reserves.reservedate");
+                                                                biblio.title,reserves.reservedate"
+    );
         $sth->execute;
-        my $i=0;
+    my $i = 0;
         my @results;
-        while (my $data=$sth->fetchrow_hashref){
-                $results[$i]=$data;
+    while ( my $data = $sth->fetchrow_hashref ) {
+        $results[$i] = $data;
                 $i++;
         }
         $sth->finish;
-        $sth=$dbh->prepare("select *,biblio.title from reserves,biblio,borrowers where (found <> 'F' or found is NULL) and cancellationdate
+    $sth = $dbh->prepare(
+"select *,biblio.title from reserves,biblio,borrowers where (found <> 'F' or found is NULL) and cancellationdate
                 is NULL and biblio.biblionumber=reserves.biblionumber and reserves.constrainttype='a' and
                 reserves.borrowernumber=borrowers.borrowernumber
                 order by
-                biblio.title,reserves.reservedate");
+                biblio.title,reserves.reservedate"
+    );
         $sth->execute;
-        while (my $data=$sth->fetchrow_hashref){
-                $results[$i]=$data;
+    while ( my $data = $sth->fetchrow_hashref ) {
+        $results[$i] = $data;
                 $i++;
         }
         $sth->finish;
-        return($i,\@results);
+    return ( $i, \@results );
 }
 
 1;





More information about the Koha-cvs mailing list