4 #script to display reports
7 # Copyright 2000-2002 Katipo Communications
9 # This file is part of Koha.
11 # Koha is free software; you can redistribute it and/or modify it under the
12 # terms of the GNU General Public License as published by the Free Software
13 # Foundation; either version 2 of the License, or (at your option) any later
16 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
17 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
18 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
20 # You should have received a copy of the GNU General Public License along with
21 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
22 # Suite 330, Boston, MA 02111-1307 USA
31 my $time=$input->param('time');
35 print startmenu('report');
40 if ($time eq 'yesterday'){
41 $date=ParseDate('yesterday');
42 $date2=ParseDate('today');
44 if ($time eq 'today'){
45 $date=ParseDate('today');
46 $date2=ParseDate('tomorrow');
48 if ($time eq 'daybefore'){
49 $date=ParseDate('2 days ago');
50 $date2=ParseDate('yesterday');
53 $date=ParseDate($time);
54 $date2=ParseDateDelta('+ 1 day');
55 $date2=DateCalc($date,$date2);
57 $date=UnixDate($date,'%Y-%m-%d');
58 $date2=UnixDate($date2,'%Y-%m-%d');
59 my @payments=TotalPaid($date);
69 print mktablerow(5,'#99cc33',bold('Name'),bold('Type'),bold('Date/time'),bold('Amount'), bold('Branch'),'/images/background-mem.gif');
72 my $time=$payments[$i]{'datetime'};
73 my $payments=$payments[$i]{'value'};
75 my @temp=split(/ /,$payments[$i]{'datetime'});
77 my @charges=getcharges($payments[$i]{'borrowernumber'},$payments[$i]{'timestamp'});
84 for (my $i2=0;$i2<$count;$i2++){
85 $charge+=$charges[$i2]->{'amount'};
86 print mktablerow(6,'red',$charges[$i2]->{'description'},$charges[$i2]->{'accounttype'},$charges[$i2]->{'timestamp'},
87 $charges[$i2]->{'amount'},$charges[$i2]->{'amountoutstanding'});
88 if ($payments[$i]{'accountytpe'} ne 'W'){
89 if ($charges[$i2]->{'accounttype'} eq 'Rent'){
90 $temptotalr+=$charges[$i2]->{'amount'}-$charges[$i2]->{'amountoutstanding'};
92 if ($charges[$i2]->{'accounttype'} eq 'F' || $charges[$i2]->{'accounttype'} eq 'FU' || $charges[$i2]->{'accounttype'} eq 'FN' ){
93 $temptotalf+=$charges[$i2]->{'amount'}-$charges[$i2]->{'amountoutstanding'};
95 if ($charges[$i2]->{'accounttype'} eq 'Res'){
96 $temptotalres+=$charges[$i2]->{'amount'}-$charges[$i2]->{'amountoutstanding'};
98 if ($charges[$i2]->{'accounttype'} eq 'R'){
99 $temptotalren+=$charges[$i2]->{'amount'}-$charges[$i2]->{'amountoutstanding'};
105 my $hour=substr($payments[$i]{'timestamp'},8,2);
106 my $min=substr($payments[$i]{'timestamp'},10,2);
107 my $sec=substr($payments[$i]{'timestamp'},12,2);
108 my $time="$hour:$min:$sec";
109 my $time2="$payments[$i]{'date'}";
110 my $branch=Getpaidbranch($time2,$payments[$i]{'borrowernumber'});
112 $levin{'totalf'}+=$temptotalf;
113 $levin{'totalres'}+=$temptotalres;
114 $levin{'totalren'}+=$temptotalren;
115 $levin{'totalr'}+=$temptotalr;
116 } elsif ($branch eq 'F'){
117 $foxton{'totalf'}+=$temptotalf;
118 $foxton{'totalres'}+=$temptotalres;
119 $foxton{'totalren'}+=$temptotalren;
120 $foxton{'totalr'}+=$temptotalr;
121 } elsif ($branch eq 'S'){
122 $shannon{'totalf'}+=$temptotalf;
123 $shannon{'totalres'}+=$temptotalres;
124 $shannon{'totalren'}+=$temptotalren;
125 $shannon{'totalr'}+=$temptotalr;
127 my $bornum=$payments[$i]{'borrowernumber'};
128 my $oldtime=$payments[$i]{'timestamp'};
129 my $oldtype=$payments[$i]{'accounttype'};
130 while ($bornum eq $payments[$i]{'borrowernumber'} && $oldtype == $payments[$i]{'accounttype'} && $oldtime eq $payments[$i]{'timestamp'}){
131 my $hour=substr($payments[$i]{'timestamp'},8,2);
132 my $min=substr($payments[$i]{'timestamp'},10,2);
133 my $sec=substr($payments[$i]{'timestamp'},12,2);
134 my $time="$hour:$min:$sec";
135 my $time2="$payments[$i]{'date'}";
136 my $branch=Getpaidbranch($time2,$payments[$i]{'borrowernumber'});
138 if ($payments[$i]{'accounttype'} eq 'W'){
139 $totalw+=$payments[$i]{'amount'};
141 $payments[$i]{'amount'}=$payments[$i]{'amount'}*-1;
142 $total+=$payments[$i]{'amount'};
144 $levin{'total'}+=$payments[$i]{'amount'};
147 $foxton{'total'}+=$payments[$i]{'amount'};
150 $shannon{'total'}+=$payments[$i]{'amount'};
154 # my $time2="$payments[$i]{'date'} $time";
157 print mktablerow(6,'white',"$payments[$i]{'firstname'} <b>$payments[$i]{'surname'}</b>",
158 ,$payments[$i]{'accounttype'},"$payments[$i]{'date'} $time",$payments[$i]{'amount'}
160 $oldtype=$payments[$i]{'accounttype'};
161 $oldtime=$payments[$i]{'timestamp'};
162 $bornum=$payments[$i]{'borrowernumber'};
166 print mktablerow('6','white','','','','','','');
170 #$totalw=$totalw * -1;
171 print "<p><b>Total Paid $total</b>";
172 print "<br><b>total written off $totalw</b>";
174 $levin{'issues'}=Count('issue','C',$date,$date2);
175 $foxton{'issues'}=Count('issue','F',$date,$date2);
176 $shannon{'issues'}=Count('issue','S',$date,$date2);
177 $levin{'returns'}=Count('return','C',$date,$date2);
178 $foxton{'returns'}=Count('return','F',$date,$date2);
179 $shannon{'returns'}=Count('return','S',$date,$date2);
180 $levin{'renewals'}=Count('renew','C',$date,$date2);
181 $foxton{'renewals'}=Count('renew','F',$date,$date2);
182 $shannon{'renewals'}=Count('renew','S',$date,$date2);
183 $levin{'unknown'}=$levin{'total'}-($levin{'totalf'}+$levin{'totalr'}+$levin{'totalres'}+$levin{'totalren'});
184 $foxton{'unknown'}=$foxton{'total'}-($foxton{'totalf'}+$foxton{'totalr'}+$foxton{'totalres'}+$foxton{'totalren'});
185 $foxton{'unknown'}=$foxton{'total'}-($foxton{'totalf'}+$foxton{'totalr'}+$foxton{'totalres'}+$foxton{'totalren'});
186 print mktablerow(10,'white',"<b>Levin</b>","Fines $levin{'totalf'}","Rental Charges $levin{'totalr'}",
187 "Reserve Charges $levin{'totalres'}","Renewal Charges $levin{'totalren'}","Unknown $levin{'unknown'}","<b>Total $levin{'total'}</b>",
188 "Issues $levin{'issues'}","Renewals $levin{'renewals'}","Returns $levin{'returns'}");
189 print mktablerow(10,'white',"<b>foxton</b>","Fines $foxton{'totalf'}","Rental Charges $foxton{'totalr'}","Reserve Charges $foxton{'totalres'}","Renewal Charges $foxton{'totalren'}","Unknown $foxton{'unknown'}","<b>Total $foxton{'total'}</b>",
190 "Issues $foxton{'issues'}","Renewals $foxton{'renewals'}","Returns $foxton{'returns'}");
191 print mktablerow(10,'white',"<b>shannon</b>","Fines $shannon{'totalf'}","Rental Charges $shannon{'totalr'}","Reserve Charges $shannon{'totalres'}","Renewal Charges $shannon{'totalren'}","Unknown $shannon{'unknown'}","<b>Total $shannon{'total'}</b>",
192 "Issues $shannon{'issues'}","Renewals $shannon{'renewals'}","Returns $shannon{'returns'}");
196 print endmenu('report');