[Koha-cvs] CVS: koha/C4 Stats.pm,1.19,1.20
Mason James
szrj1m at users.sourceforge.net
Fri Aug 19 02:38:36 CEST 2005
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)=@_;
! 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)=@_;
! $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)=@_;
! 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)=@_;
! 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)=@_;
! 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)=@_;
! $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)=@_;
! 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)=@_;
+ 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)=@_;
! 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,\@results);
}
--- 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,\@results);
}
***************
*** 203,204 ****
--- 253,255 ----
=cut
+
More information about the Koha-cvs
mailing list