[Koha-devel] CVS: koha/C4/Circulation Circ2.pm,1.15,1.16
Chris Cormack
rangi at users.sourceforge.net
Wed May 2 23:15:24 CEST 2001
Update of /cvsroot/koha/koha/C4/Circulation
In directory usw-pr-cvs1:/tmp/cvs-serv9030/C4/Circulation
Modified Files:
Circ2.pm
Log Message:
Fixed the code that adds a credit or wipes a lost book charge from a
borrowers account if said book is returned
Index: Circ2.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Circulation/Circ2.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** Circ2.pm 2001/04/03 21:32:37 1.15
--- Circ2.pm 2001/05/02 21:15:22 1.16
***************
*** 206,210 ****
}
my $amount = checkaccount($env,$patroninformation->{'borrowernumber'}, $dbh,$date);
! if ($amount>5) {
$rejected=sprintf "Patron owes \$%.02f.", $amount;
last SWITCH;
--- 206,214 ----
}
my $amount = checkaccount($env,$patroninformation->{'borrowernumber'}, $dbh,$date);
! if ($amount>5 && $patroninformation->{'categorycode'} ne 'L' &&
! $patroninformation->{'categorycode'} ne 'W' &&
! $patroninformation->{'categorycode'} ne 'I'
! && $patroninformation->{'categorycode'} ne 'B' &&
! $patroninformation->{'categorycode'} ne 'P') {
$rejected=sprintf "Patron owes \$%.02f.", $amount;
last SWITCH;
***************
*** 341,344 ****
--- 345,355 ----
}
+ sub updateitemlost{
+ my ($dbh,$itemno)=@_;
+ my $query="update items set itemlost=0 where itemnumber=$itemno";
+ my $sth=$dbh->prepare($query);
+ $sth->execute;
+ $sth->finish;
+ }
sub returnbook {
***************
*** 353,356 ****
--- 364,368 ----
my ($currentborrower) = currentborrower($env, $iteminformation->{'itemnumber'}, $dbh);
updatelastseen($env,$dbh,$iteminformation->{'itemnumber'});
+ updateitemlost($dbh,$iteminformation->{'itemnumber'});
if ($currentborrower) {
($borrower)=getpatroninformation($env,$currentborrower,0);
***************
*** 376,381 ****
}
$sth->finish;
# check for charge made for lost book
! $sth=$dbh->prepare("select * from accountlines where (borrowernumber=$borrower->{'borrowernumber'}) and (itemnumber = $iteminformation->{'itemnumber'}) and (accounttype='L')");
$sth->execute;
if (my $data = $sth->fetchrow_hashref) {
--- 388,399 ----
}
$sth->finish;
+ }
+ if ($iteminformation->{'itemlost'} eq '1'){
# check for charge made for lost book
! my $query="select * from accountlines where (itemnumber =
! $iteminformation->{'itemnumber'}) and (accounttype='L' or accounttype='Rep')
! order by date desc";
! # print $query;
! $sth=$dbh->prepare($query);
$sth->execute;
if (my $data = $sth->fetchrow_hashref) {
***************
*** 385,388 ****
--- 403,407 ----
my $acctno = $data->{'accountno'};
my $amountleft;
+ # print $amount;
if ($data->{'amountoutstanding'} == $amount) {
$offset = $data->{'amount'};
***************
*** 394,409 ****
my $uquery = "update accountlines
set accounttype = 'LR',amountoutstanding='0'
! where (borrowernumber = $borrower->{'borrowernumber'})
and (itemnumber = $iteminformation->{'itemnumber'})
and (accountno = '$acctno') ";
my $usth = $dbh->prepare($uquery);
$usth->execute();
$usth->finish;
! my $nextaccntno = C4::Accounts::getnextacctno($env,$borrower->{'borrowernumber'},$dbh);
$uquery = "insert into accountlines
(borrowernumber,accountno,date,amount,description,accounttype,amountoutstanding)
! values ($borrower->{'borrowernumber'},$nextaccntno,now(),0-$amount,'Book Returned',
'CR',$amountleft)";
$usth = $dbh->prepare($uquery);
$usth->execute;
$usth->finish;
--- 413,431 ----
my $uquery = "update accountlines
set accounttype = 'LR',amountoutstanding='0'
! where (borrowernumber = $data->{'borrowernumber'})
and (itemnumber = $iteminformation->{'itemnumber'})
and (accountno = '$acctno') ";
+ # print $uquery;
my $usth = $dbh->prepare($uquery);
$usth->execute();
$usth->finish;
! my $nextaccntno = getnextacctno($env,$data->{'borrowernumber'},$dbh);
! my $desc="Book Returned ".$iteminformation->{'barcode'};
$uquery = "insert into accountlines
(borrowernumber,accountno,date,amount,description,accounttype,amountoutstanding)
! values ($data->{'borrowernumber'},$nextaccntno,now(),0-$amount,'$desc',
'CR',$amountleft)";
$usth = $dbh->prepare($uquery);
+ # print $uquery;
$usth->execute;
$usth->finish;
***************
*** 414,420 ****
$usth->execute;
$usth->finish;
}
$sth->finish;
! }
my ($resfound,$resrec) = find_reserves($env, $dbh, $iteminformation->{'itemnumber'});
if ($resfound eq 'y') {
--- 436,446 ----
$usth->execute;
$usth->finish;
+ $uquery="update items set itemnotes='' where itemnumber=$iteminformation->{'itemnumber'}";
+ $usth = $dbh->prepare($uquery);
+ $usth->execute;
+ $usth->finish;
}
$sth->finish;
! }
my ($resfound,$resrec) = find_reserves($env, $dbh, $iteminformation->{'itemnumber'});
if ($resfound eq 'y') {
***************
*** 600,604 ****
}
my $select="select * from issues,items,biblioitems,biblio where
! borrowernumber=$borrowernumber and issues.itemnumber=items.itemnumber and
items.biblionumber=biblio.biblionumber and
items.biblioitemnumber=biblioitems.biblioitemnumber and returndate is null
--- 626,630 ----
}
my $select="select * from issues,items,biblioitems,biblio where
! borrowernumber='$borrowernumber' and issues.itemnumber=items.itemnumber and
items.biblionumber=biblio.biblionumber and
items.biblioitemnumber=biblioitems.biblioitemnumber and returndate is null
More information about the Koha-devel
mailing list