[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] CVS: koha/C4 Stats.pm,1.15,1.16
From: |
Paul POULAIN |
Subject: |
[Koha-cvs] CVS: koha/C4 Stats.pm,1.15,1.16 |
Date: |
Mon, 19 May 2003 09:20:54 -0700 |
Update of /cvsroot/koha/koha/C4
In directory sc8-pr-cvs1:/tmp/cvs-serv31634/C4
Modified Files:
Stats.pm
Log Message:
* PARTIAL fix for #322 => gives strange results imho
* removing unused subs
* indenting with tabs
* adding monthly report (stats.pl?time=month)
Index: Stats.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Stats.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** Stats.pm 19 Dec 2002 18:55:40 -0000 1.15
--- Stats.pm 19 May 2003 16:20:52 -0000 1.16
***************
*** 49,53 ****
@ISA = qw(Exporter);
! @EXPORT = qw(&UpdateStats &statsreport &Count &Overdues &TotalOwing
&TotalPaid &getcharges &Getpaidbranch &unfilledreserves);
--- 49,53 ----
@ISA = qw(Exporter);
! @EXPORT = qw(&UpdateStats &statsreport &TotalOwing
&TotalPaid &getcharges &Getpaidbranch &unfilledreserves);
***************
*** 72,253 ****
#'
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'};
! print $borrowernumber;
! # FIXME - Use $dbh->do() instead
! my $sth=$dbh->prepare("Insert into statistics
! (datetime,branch,type,usercode,value,
! other,itemnumber,itemtype,borrowernumber)
! values (now(),'$branch','$type','$user','$amount',
! '$other','$itemnum','$itemtype','$borrowernumber')");
! $sth->execute;
! $sth->finish;
}
- # FIXME - Why does this function exist? Why not just rename &circrep
- # to &statsreport?
- # Then again, it only appears to be used in reports.pl which, in turn,
- # doesn't appear to be used. So presumably this function is obsolete.
- # If not, it needs a POD.
- sub statsreport {
- #module to return a list of stats for a given day,time,branch type
- #or to return search stats
- my ($type,$time)address@hidden;
- my @data;
- # print "here";
- # if ($type eq 'issue'){
- @data=circrep($time,$type);
- # }
- return(@data);
- }
-
- # Only used internally. Probably useless: see comment for
- # &statsreport.
- sub circrep {
- my ($time,$type)address@hidden;
- my $dbh = C4::Context->dbh;
- my $query="Select * from statistics";
- if ($time eq 'today'){
- # FIXME - What is this supposed to do? MySQL 3.23.42 barfs on it.
- $query=$query." where type='$type' and datetime
- >=datetime('yesterday'::date)";
- # FIXME - .= <<EOT;
- }
- my $sth=$dbh->prepare($query);
- $sth->execute;
- my $i=0;
- my @results;
- while (my $data=$sth->fetchrow_hashref){
- my %tempvalue;
- $tempvalue{'value'}="$data->{'datetime'}\t$data->{'branch'}";
- push(@results, \%tempvalue);
- }
- $sth->finish;
- # print $query;
- return(@results);
- }
-
- # FIXME - This is only used in stats.pl, which in turn is never used.
- # Otherwise, this needs a POD.
- sub Count {
- my ($type,$branch,$time,$time2)address@hidden;
- my $dbh = C4::Context->dbh;
- my $query="Select count(*) from statistics where type='$type'";
- $query.=" and datetime >= '$time' and datetime< '$time2' and
branch='$branch'";
- my $sth=$dbh->prepare($query);
- $sth->execute;
- my $data=$sth->fetchrow_hashref;
- $sth->finish;
- # print $query;
- return($data->{'count(*)'});
- }
-
- # FIXME - This function doesn't appear to be used.
- # If it is, it needs a POD.
- sub Overdues{
- my $dbh = C4::Context->dbh;
- my $query="Select count(*) from issues where date_due >= now()";
- my $sth=$dbh->prepare($query);
- $sth->execute;
- my $count=$sth->fetchrow_hashref;
- $sth->finish;
- return($count->{'count(*)'});
- }
-
- # FIXME - Never used.
- # Otherwise, it'd need a POD.
- sub TotalOwing{
- my ($type)address@hidden;
- my $dbh = C4::Context->dbh;
- my $query="Select sum(amountoutstanding) from accountlines";
- if ($type eq 'fine'){
- $query .= " where accounttype='F' or accounttype='FN'";
- }
- my $sth=$dbh->prepare($query);
- # print $query;
- $sth->execute;
- my $total=$sth->fetchrow_hashref;
- $sth->finish;
- return($total->{'sum(amountoutstanding)'});
- }
-
- # FIXME - Never used.
# Otherwise, it'd need a POD.
sub TotalPaid {
! my ($time)address@hidden;
! my $dbh = C4::Context->dbh;
! my $query="Select * from accountlines,borrowers where (accounttype = 'Pay'
! or accounttype ='W')
! and accountlines.borrowernumber = borrowers.borrowernumber";
! if ($time eq 'today'){
! $query .= " and date = now()";
! } else {
! $query.=" and date='$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()";
! # } else {
! # $query.=" and datetime > '$time'";
! # }
! $query.=" order by timestamp";
! # print $query;
! my $sth=$dbh->prepare($query);
! $sth->execute;
! my @results;
! my $i=0;
! while (my $data=$sth->fetchrow_hashref){
! $results[$i]=$data;
! $i++;
! }
! $sth->finish;
! # print $query;
! return(@results);
}
- # FIXME - Only used in stats.pl, which in turn is never used.
# Otherwise, it needs a POD.
sub getcharges{
! my($borrowerno,$timestamp)address@hidden;
! my $dbh = C4::Context->dbh;
! my $timestamp2=$timestamp-1;
! my $query="Select * from accountlines where borrowernumber=$borrowerno
! and timestamp = '$timestamp' and accounttype <> 'Pay' and
! accounttype <> 'W'";
! my $sth=$dbh->prepare($query);
! # print $query,"<br>";
! $sth->execute;
! my $i=0;
! my @results;
! while (my $data=$sth->fetchrow_hashref){
! # if ($data->{'timestamp'} == $timestamp){
! $results[$i]=$data;
! $i++;
! # }
! }
! return(@results);
}
- # This is only used in stats.pl and stats2.pl, neither of which is
- # used.
# Otherwise, this needs a POD.
sub Getpaidbranch{
! my($date,$borrno)address@hidden;
! my $dbh = C4::Context->dbh;
! my $query="select * from statistics where type='payment' and datetime
! >'$date' and borrowernumber='$borrno'";
! my $sth=$dbh->prepare($query);
! $sth->execute;
! # print $query;
! my $data=$sth->fetchrow_hashref;
! $sth->finish;
! return($data->{'branch'});
}
--- 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'};
! print $borrowernumber;
! # 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";
! if ($time eq 'today'){
! $query .= " and date = now()";
! } else {
! $query.=" and date>='$time' and date<='$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;
! 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="Select * from accountlines where borrowernumber=$borrowerno
! and timestamp = '$timestamp' and accounttype <> 'Pay' and
! accounttype <> 'W'";
! my $sth=$dbh->prepare($query);
! # print $query,"<br>";
! $sth->execute;
! 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 $query="select * from statistics where type='payment' and datetime
>'$date' and borrowernumber='$borrno'";
! my $sth=$dbh->prepare($query);
! $sth->execute;
! # print $query;
! my $data=$sth->fetchrow_hashref;
! $sth->finish;
! return($data->{'branch'});
}
***************
*** 256,291 ****
# Otherwise, it needs a POD.
sub unfilledreserves {
! my $dbh = C4::Context->dbh;
! my $query="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";
! my $sth=$dbh->prepare($query);
! $sth->execute;
! my $i=0;
! my @results;
! while (my $data=$sth->fetchrow_hashref){
! $results[$i]=$data;
! $i++;
! }
! $sth->finish;
! $query="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=$dbh->prepare($query);
! $sth->execute;
! while (my $data=$sth->fetchrow_hashref){
! $results[$i]=$data;
! $i++;
! }
! $sth->finish;
! return($i,address@hidden);
}
--- 161,196 ----
# Otherwise, it needs a POD.
sub unfilledreserves {
! my $dbh = C4::Context->dbh;
! my $query="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";
! my $sth=$dbh->prepare($query);
! $sth->execute;
! my $i=0;
! my @results;
! while (my $data=$sth->fetchrow_hashref){
! $results[$i]=$data;
! $i++;
! }
! $sth->finish;
! $query="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=$dbh->prepare($query);
! $sth->execute;
! while (my $data=$sth->fetchrow_hashref){
! $results[$i]=$data;
! $i++;
! }
! $sth->finish;
! return($i,address@hidden);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-cvs] CVS: koha/C4 Stats.pm,1.15,1.16,
Paul POULAIN <=