4 #script to display reports
13 my $time=$input->param('time');
17 print startmenu('report');
22 if ($time eq 'yesterday'){
23 $date=ParseDate('yesterday');
24 $date2=ParseDate('today');
26 if ($time eq 'today'){
27 $date=ParseDate('today');
28 $date2=ParseDate('tomorrow');
30 if ($time eq 'daybefore'){
31 $date=ParseDate('2 days ago');
32 $date2=ParseDate('yesterday');
35 $date=ParseDate($time);
36 $date2=ParseDateDelta('+ 1 day');
37 $date2=DateCalc($date,$date2);
39 $date=UnixDate($date,'%Y-%m-%d');
40 $date2=UnixDate($date2,'%Y-%m-%d');
41 my @payments=TotalPaid($date);
51 print mktablerow(5,'#99cc33',bold('Name'),bold('Type'),bold('Date/time'),bold('Amount'), bold('Branch'),'/images/background-mem.gif');
52 for (my $i=0;$i<$count;$i++){
53 my $hour=substr($payments[$i]{'timestamp'},8,2);
54 my $min=substr($payments[$i]{'timestamp'},10,2);
55 my $sec=substr($payments[$i]{'timestamp'},12,2);
56 my $time="$hour:$min:$sec";
57 $payments[$i]{'amount'}*=-1;
58 $total+=$payments[$i]{'amount'};
59 my @charges=getcharges($payments[$i]{'borrowernumber'},$payments[$i]{'timestamp'});
65 for (my $i2=0;$i2<$count;$i2++){
66 if ($charges[$i2]->{'amountoutstanding'} != $oldtime){
67 print mktablerow(6,'red',$charges[$i2]->{'description'},$charges[$i2]->{'accounttype'},'',
68 $charges[$i2]->{'amount'},$charges[$i2]->{'amountoutstanding'});
69 if ($charges[$i2]->{'accounttype'} eq 'Rent'){
70 $temptotalr+=$charges[$i2]->{'amount'}-$charges[$i2]->{'amountoutstanding'};
72 if ($charges[$i2]->{'accounttype'} eq 'F' || $charges[$i2]->{'accounttype'} eq 'FU'){
73 $temptotalf+=$charges[$i2]->{'amount'}-$charges[$i2]->{'amountoutstanding'};
75 if ($charges[$i2]->{'accounttype'} eq 'Res'){
76 $temptotalres+=$charges[$i2]->{'amount'}-$charges[$i2]->{'amountoutstanding'};
78 if ($charges[$i2]->{'accounttype'} eq 'R'){
79 $temptotalren+=$charges[$i2]->{'amount'}-$charges[$i2]->{'amountoutstanding'};
83 my $time2="$payments[$i]{'date'} $time";
84 my $branch=Getpaidbranch($time2);
87 $levin{'total'}+=$payments[$i]{'amount'};
88 $levin{'totalr'}+=$temptotalr;
89 $levin{'totalres'}+=$temptotalres;
90 $levin{'totalf'}+=$temptotalf;
91 $levin{'totalren'}+=$temptotalren;
94 $foxton{'total'}+=$payments[$i]{'amount'};
95 $foxton{'totalr'}+=$temptotalr;
96 $foxton{'totalres'}+=$temptotalres;
97 $foxton{'totalf'}+=$temptotalf;
98 $foxton{'totalren'}+=$temptotalren;
101 $shannon{'total'}+=$payments[$i]{'amount'};
102 $shannon{'totalr'}+=$temptotalr;
103 $shannon{'totalres'}+=$temptotalres;
104 $shannon{'totalf'}+=$temptotalf;
105 $shannon{'totalren'}+=$temptotalren;
107 print mktablerow(6,'white',"$payments[$i]{'firstname'} <b>$payments[$i]{'surname'}</b>"
108 ,$payments[$i]{'accounttype'},"$payments[$i]{'date'} $time",$payments[$i]{'amount'}
110 $oldtime=$payments[$i]{'timestamp'};
114 print "<p><b>$total</b>";
117 $levin{'issues'}=Count('issue','C',$date,$date2);
118 $foxton{'issues'}=Count('issue','F',$date,$date2);
119 $shannon{'issues'}=Count('issue','S',$date,$date2);
120 $levin{'returns'}=Count('return','C',$date,$date2);
121 $foxton{'returns'}=Count('return','F',$date,$date2);
122 $shannon{'returns'}=Count('return','S',$date,$date2);
123 print mktablerow(9,'white',"<b>Levin</b>","Fines $levin{'totalf'}","Rental Charges $levin{'totalr'}",
124 "Reserve Charges $levin{'totalres'}","Renewal Charges $levin{'totalren'}","Total $levin{'total'}",
125 "Issues $levin{'issues'}","Renewals $levin{'renewals'}","Returns $levin{'returns'}");
126 print mktablerow(9,'white',"<b>foxton</b>","Fines $foxton{'totalf'}","Rental Charges $foxton{'totalr'}","Reserve Charges $foxton{'totalres'}","Renewal Charges $foxton{'totalren'}","Total $foxton{'total'}",
127 "Issues $foxton{'issues'}","Renewals $foxton{'renewals'}","Returns $foxton{'returns'}");
128 print mktablerow(9,'white',"<b>shannon</b>","Fines $shannon{'totalf'}","Rental Charges $shannon{'totalr'}","Reserve Charges $shannon{'totalres'}","Renewal Charges $shannon{'totalren'}","Total $shannon{'total'}",
129 "Issues $shannon{'issues'}","Renewals $shannon{'renewals'}","Returns $shannon{'returns'}");
133 print endmenu('report');