koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] CVS: koha/C4 Stats.pm,1.19,1.20


From: Mason James
Subject: [Koha-cvs] CVS: koha/C4 Stats.pm,1.19,1.20
Date: Thu, 18 Aug 2005 17:38:36 -0700

Update of /cvsroot/koha/koha/C4
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13295

Modified Files:
        Stats.pm 
Log Message:
Added &getcredits routine.


Index: Stats.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Stats.pm,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -r1.19 -r1.20
*** Stats.pm    15 May 2005 04:35:36 -0000      1.19
--- Stats.pm    19 Aug 2005 00:38:33 -0000      1.20
***************
*** 50,54 ****
  @ISA = qw(Exporter);
  @EXPORT = qw(&UpdateStats &statsreport &TotalOwing
! &TotalPaid &getcharges &Getpaidbranch &unfilledreserves);
  
  =item UpdateStats
--- 50,54 ----
  @ISA = qw(Exporter);
  @EXPORT = qw(&UpdateStats &statsreport &TotalOwing
! &TotalPaid &getcharges &Getpaidbranch &unfilledreserves &getcredits);
  
  =item UpdateStats
***************
*** 72,158 ****
  #'
  sub UpdateStats {
!       #module to insert stats data into stats table
!       my 
($env,$branch,$type,$amount,$other,$itemnum,$itemtype,$borrowernumber)address@hidden;
!       my $dbh = C4::Context->dbh;
!       if ($branch eq ''){
!               $branch=$env->{'branchcode'};
!       }
!       my $user = $env->{'usercode'};
!       # FIXME - Use $dbh->do() instead
!       my $sth=$dbh->prepare("Insert into statistics 
(datetime,branch,type,usercode,value,
!                                       
other,itemnumber,itemtype,borrowernumber) values (now(),?,?,?,?,?,?,?,?)");
!       
$sth->execute($branch,$type,$user,$amount,$other,$itemnum,$itemtype,$borrowernumber);
!       $sth->finish;
  }
  
  # Otherwise, it'd need a POD.
  sub TotalPaid {
!       my ($time,$time2)address@hidden;
!       $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'";
!       #  }
!       $query.=" order by timestamp";
!       #  print $query;
!       my $sth=$dbh->prepare($query);
!       $sth->execute(@bind);
!       my @results;
!       my $i=0;
!       while (my $data=$sth->fetchrow_hashref){
!               $results[$i]=$data;
!               $i++;
!       }
!       $sth->finish;
!       #  print $query;
!       return(@results);
  }
  
  # Otherwise, it needs a POD.
  sub getcharges{
!       my($borrowerno,$timestamp)address@hidden;
!       my $dbh = C4::Context->dbh;
!       my $timestamp2=$timestamp-1;
!       my $query="";
!       my $sth=$dbh->prepare("Select * from accountlines where borrowernumber=?
!       and timestamp = ? and accounttype <> 'Pay' and
!       accounttype <> 'W'");
!       #  print $query,"<br>";
!       $sth->execute($borrowerno,$timestamp);
!       my $i=0;
!       my @results;
!       while (my $data=$sth->fetchrow_hashref){
!       #    if ($data->{'timestamp'} == $timestamp){
!               $results[$i]=$data;
!               $i++;
!       #    }
!       }
!       return(@results);
  }
  
  # Otherwise, this needs a POD.
  sub Getpaidbranch{
!       my($date,$borrno)address@hidden;
!       my $dbh = C4::Context->dbh;
!       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;
!       $sth->finish;
!       return($data->{'branch'});
  }
  
--- 72,208 ----
  #'
  sub UpdateStats {
!         #module to insert stats data into stats table
!         my 
($env,$branch,$type,$amount,$other,$itemnum,$itemtype,$borrowernumber,$accountno)address@hidden;
!         my $dbh = C4::Context->dbh;
!         if ($branch eq ''){
!                 $branch=$env->{'branchcode'};
!         }
!         my $user = $env->{'usercode'};
!         print $borrowernumber;
!         # FIXME - Use $dbh->do() instead
!         my $sth=$dbh->prepare("Insert into statistics 
(datetime,branch,type,usercode,value,
!                                         
other,itemnumber,itemtype,borrowernumber,proccode) values 
(now(),?,?,?,?,?,?,?,?,?)");
!         
$sth->execute($branch,$type,$user,$amount,$other,$itemnum,$itemtype,$borrowernumber,$accountno);
!         $sth->finish;
  }
  
  # Otherwise, it'd need a POD.
  sub TotalPaid {
!         my ($time,$time2)address@hidden;
!         $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'";
!           }
! 
! 
!           # $query.=" order by timestamp";
! 
!           # print $query;
! 
!         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++;
!         }
!         $sth->finish;
!         #  print $query;
!         return(@results);
  }
  
  # Otherwise, it needs a POD.
  sub getcharges{
!         my($borrowerno,$timestamp,$accountno)address@hidden;
!         my $dbh = C4::Context->dbh;
!         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);
! 
!         # this bit left in for old 2 arg usage of getcharges
!         } else {
!               $sth=$dbh->prepare("Select * from accountlines where 
borrowernumber=?
!               and timestamp = ? and accounttype <> 'Pay' and
!               accounttype <> 'W'");
!               $sth->execute($borrowerno,$timestamp);
!         }
! 
!         #  print $query,"<br>";
!         my $i=0;
!         my @results;
!         while (my $data=$sth->fetchrow_hashref){
!         #    if ($data->{'timestamp'} == $timestamp){
!                 $results[$i]=$data;
!                 $i++;
!         #    }
!         }
!         return(@results);
  }
  
+ # Otherwise, it needs a POD.
+ sub getcredits{
+         my ($date,$date2)address@hidden;
+         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;
+ 
+         $sth=$dbh->prepare("Select * from accountlines where (accounttype =  
'CR' or accounttype = 'LR') and timestamp >=? and timestamp <?");
+         $sth->execute($timestamp,$timestamp2);
+ 
+         my $i=0;
+         my @results;
+         while (my $data=$sth->fetchrow_hashref){
+                 $results[$i]=$data;
+                 $i++;
+         }
+         return(@results);
+ }
+ 
+ 
+ 
  # Otherwise, this needs a POD.
  sub Getpaidbranch{
!         my($date,$borrno)address@hidden;
!         my $dbh = C4::Context->dbh;
!         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;
!         $sth->finish;
!         return($data->{'branch'});
  }
  
***************
*** 161,194 ****
  # 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' and 
cancellationdate
!                                                               is NULL and 
biblio.biblionumber=reserves.biblionumber and
!                                                               
reserves.constrainttype='o'
!                                                               and 
(reserves.biblionumber=reserveconstraints.biblionumber
!                                                               and 
reserves.borrowernumber=reserveconstraints.borrowernumber)
!                                                               and
!                                                               
reserves.borrowernumber=borrowers.borrowernumber and
!                                                               
biblioitems.biblioitemnumber=reserveconstraints.biblioitemnumber order by
!                                                               
biblio.title,reserves.reservedate");
!       $sth->execute;
!       my $i=0;
!       my @results;
!       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' and cancellationdate
!               is NULL and biblio.biblionumber=reserves.biblionumber and 
reserves.constrainttype='a' and
!               reserves.borrowernumber=borrowers.borrowernumber
!               order by
!               biblio.title,reserves.reservedate");
!       $sth->execute;
!       while (my $data=$sth->fetchrow_hashref){
!               $results[$i]=$data;
!               $i++;
!       }
!       $sth->finish;
!       return($i,address@hidden);
  }
  
--- 211,244 ----
  # 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' and 
cancellationdate
!                                                                 is NULL and 
biblio.biblionumber=reserves.biblionumber and
!                                                                 
reserves.constrainttype='o'
!                                                                 and 
(reserves.biblionumber=reserveconstraints.biblionumber
!                                                                 and 
reserves.borrowernumber=reserveconstraints.borrowernumber)
!                                                                 and
!                                                                 
reserves.borrowernumber=borrowers.borrowernumber and
!                                                                 
biblioitems.biblioitemnumber=reserveconstraints.biblioitemnumber order by
!                                                                 
biblio.title,reserves.reservedate");
!         $sth->execute;
!         my $i=0;
!         my @results;
!         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' and cancellationdate
!                 is NULL and biblio.biblionumber=reserves.biblionumber and 
reserves.constrainttype='a' and
!                 reserves.borrowernumber=borrowers.borrowernumber
!                 order by
!                 biblio.title,reserves.reservedate");
!         $sth->execute;
!         while (my $data=$sth->fetchrow_hashref){
!                 $results[$i]=$data;
!                 $i++;
!         }
!         $sth->finish;
!         return($i,address@hidden);
  }
  
***************
*** 203,204 ****
--- 253,255 ----
  
  =cut
+ 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]