use C4::Search;
use C4::Print;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-
+use vars qw($VERSION @ISA @EXPORT);
+
# set the version for version checking
$VERSION = 0.01;
-
+
@ISA = qw(Exporter);
@EXPORT = qw(&returnrecord &calc_odues &Returns);
-%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
-
-# your exported package globals go here,
-# as well as any optionally exported functions
-
-@EXPORT_OK = qw($Var1 %Hashit);
-
-
-# non-exported package globals go here
-use vars qw(@more $stuff);
-
-# initalize package globals, first exported ones
-
-my $Var1 = '';
-my %Hashit = ();
-
-# then the others (which are still accessible as $Some::Module::stuff)
-my $stuff = '';
-my @more = ();
-
-# all file-scoped lexicals must be created before
-# the functions below that use them.
-
-# file-private lexicals go here
-my $priv_var = '';
-my %secret_hash = ();
-
-# here's a file-private function as a closure,
-# callable as &$priv_func; it cannot be prototyped.
-my $priv_func = sub {
- # stuff goes here.
-};
-
-# make all your functions, whether exported or not;
# FIXME - This is only used in C4::Circmain and C4::Circulation, both
# of which appear to be obsolete. Presumably this function is obsolete
# Otherwise, it needs a POD.
sub Returns {
my ($env)=@_;
- my $dbh = C4::Context->dbh;
+ my $dbh = C4::Context->dbh;
my @items;
@items[0]=" "x50;
my $reason;
my $resp;
# until (($reason eq "Circ") || ($reason eq "Quit")) {
until ($reason ne "") {
- ($reason,$item) =
+ ($reason,$item) =
returnwindow($env,"Enter Returns",
$item,\@items,$borrower,$amt_owing,$odues,$dbh,$resp); #C4::Circulation
#debug_msg($env,"item = $item");
#if (($reason ne "Circ") && ($reason ne "Quit")) {
if ($reason eq "") {
$resp = "";
- ($resp,$bornum,$borrower,$itemno,$itemrec,$amt_owing) =
+ ($resp,$bornum,$borrower,$itemno,$itemrec,$amt_owing) =
checkissue($env,$dbh,$item);
if ($bornum ne "") {
($issues,$odues,$amt_owing) = borrdata2($env,$bornum);
$issues = "";
$odues = "";
$amt_owing = "";
- }
+ }
if ($resp ne "") {
#if ($resp eq "Returned") {
if ($itemno ne "" ) {
unshift @items,$fmtitem;
if ($items[20] > "") {
pop @items;
- }
+ }
}
#} elsif ($resp ne "") {
# error_msg($env,"$resp");
#}
#if ($resp ne "Returned") {
# error_msg($env,"$resp");
- # $bornum = "";
+ # $bornum = "";
#}
}
}
my $itemrec;
my $amt_owing;
$item = uc $item;
- my $query = "select * from items,biblio
- where barcode = '$item'
- and (biblio.biblionumber=items.biblionumber)";
- my $sth=$dbh->prepare($query);
- $sth->execute;
+ my $sth=$dbh->prepare("select * from items,biblio
+ where barcode = ?
+ and (biblio.biblionumber=items.biblionumber)");
+ $sth->execute($item);
if ($itemrec=$sth->fetchrow_hashref) {
$sth->finish;
$itemno = $itemrec->{'itemnumber'};
- $query = "select * from issues
- where (itemnumber='$itemrec->{'itemnumber'}')
- and (returndate is null)";
- my $sth=$dbh->prepare($query);
- $sth->execute;
+ my $sth=$dbh->prepare("select * from issues
+ where (itemnumber=?)
+ and (returndate is null)");
+ $sth->execute($itemrec->{'itemnumber'});
if (my $issuerec=$sth->fetchrow_hashref) {
$sth->finish;
- $query = "select * from borrowers where
- (borrowernumber = '$issuerec->{'borrowernumber'}')";
- my $sth= $dbh->prepare($query);
- $sth->execute;
+ my $sth= $dbh->prepare("select * from borrowers where
+ (borrowernumber = ?)");
+ $sth->execute($issuerec->{'borrowernumber'});
$env->{'bornum'}=$issuerec->{'borrowernumber'};
$borrower = $sth->fetchrow_hashref;
$bornum = $issuerec->{'borrowernumber'};
$itemno = $issuerec->{'itemnumber'};
- $amt_owing = returnrecord($env,$dbh,$bornum,$itemno);
- $reason = "Returned";
+ $amt_owing = returnrecord($env,$dbh,$bornum,$itemno);
+ $reason = "Returned";
} else {
$sth->finish;
updatelastseen($env,$dbh,$itemrec->{'itemnumber'});
}
my ($resfound,$resrec) = find_reserves($env,$dbh,$itemrec->{'itemnumber'});
if ($resfound eq "y") {
- my $bquery = "select * from borrowers
- where borrowernumber = '$resrec->{'borrowernumber'}'";
- my $btsh = $dbh->prepare($bquery);
- $btsh->execute;
+ my $btsh = $dbh->prepare("select * from borrowers
+ where borrowernumber = ?");
+ $btsh->execute($resrec->{'borrowernumber'});
my $resborrower = $btsh->fetchrow_hashref;
#printreserve($env,$resrec,$resborrower,$itemrec);
- my $mess = "Reserved for collection at branch $resrec->{'branchcode'}";
+ my $mess = "Reserved for collection at branch $resrec->{'branchcode'}";
C4::InterfaceCDK::error_msg($env,$mess);
$btsh->finish;
- }
+ }
} else {
$sth->finish;
$reason = "Item not found";
- }
+ }
return ($reason,$bornum,$borrower,$itemno,$itemrec,$amt_owing);
# end checkissue
}
#my $amt_owing = calc_odues($env,$dbh,$bornum,$itemno);
my @datearr = localtime(time);
my $dateret = (1900+$datearr[5])."-".$datearr[4]."-".$datearr[3];
- my $query = "update issues set returndate = now(), branchcode ='$env->{'branchcode'}' where
- (borrowernumber = '$bornum') and (itemnumber = '$itemno')
- and (returndate is null)";
- my $sth = $dbh->prepare($query);
- $sth->execute;
+ my $sth = $dbh->prepare("update issues set returndate = now(), branchcode = ? where
+ (borrowernumber = ?) and (itemnumber = ?)
+ and (returndate is null)");
+ $sth->execute($env->{'branchcode'},$bornum,$itemno);
$sth->finish;
updatelastseen($env,$dbh,$itemno);
# check for overdue fine
my $oduecharge;
- my $query = "select * from accountlines
- where (borrowernumber = '$bornum')
- and (itemnumber = '$itemno')
- and (accounttype = 'FU' or accounttype='O')";
- my $sth = $dbh->prepare($query);
- $sth->execute;
+ my $sth = $dbh->prepare("select * from accountlines
+ where (borrowernumber = ?)
+ and (itemnumber = ?)
+ and (accounttype = 'FU' or accounttype='O')");
+ $sth->execute($bornum,$itemno);
if (my $data = $sth->fetchrow_hashref) {
# alter fine to show that the book has been returned.
- my $uquery = "update accountlines
+ my $usth = $dbh->prepare("update accountlines
set accounttype = 'F'
- where (borrowernumber = '$bornum')
- and (itemnumber = '$itemno')
- and (accountno = '$data->{'accountno'}') ";
- my $usth = $dbh->prepare($uquery);
- $usth->execute();
+ where (borrowernumber = ?)
+ and (itemnumber = ?)
+ and (accountno = ?) ");
+ $usth->execute($bornum,$itemno,$data->{'accountno'});
$usth->finish();
$oduecharge = $data->{'amountoutstanding'};
}
$sth->finish;
# check for charge made for lost book
- my $query = "select * from accountlines
- where (borrowernumber = '$bornum')
- and (itemnumber = '$itemno')
- and (accounttype = 'L')";
- my $sth = $dbh->prepare($query);
- $sth->execute;
+ my $sth = $dbh->prepare("select * from accountlines
+ where (borrowernumber = ?)
+ and (itemnumber = ?)
+ and (accounttype = 'L')");
+ $sth->execute($bornum,$itemno);
if (my $data = $sth->fetchrow_hashref) {
- # writeoff this amount
+ # writeoff this amount
my $offset;
my $amount = $data->{'amount'};
my $acctno = $data->{'accountno'};
$offset = $amount - $data->{'amountoutstanding'};
$amountleft = $data->{'amountoutstanding'} - $amount;
}
- my $uquery = "update accountlines
+ my $usth = $dbh->prepare("update accountlines
set accounttype = 'LR',amountoutstanding='0'
- where (borrowernumber = '$bornum')
- and (itemnumber = '$itemno')
- and (accountno = '$acctno') ";
- my $usth = $dbh->prepare($uquery);
- $usth->execute();
+ where (borrowernumber = ?)
+ and (itemnumber = ?)
+ and (accountno = ?) ");
+ $usth->execute($bornum,$itemno,$acctno);
$usth->finish;
my $nextaccntno = C4::Accounts::getnextacctno($env,$bornum,$dbh);
- $uquery = "insert into accountlines
+ $usth = $dbh->prepare("insert into accountlines
(borrowernumber,accountno,date,amount,description,accounttype,amountoutstanding)
- values ($bornum,$nextaccntno,now(),0-$amount,'Book Returned',
- 'CR',$amountleft)";
- $usth = $dbh->prepare($uquery);
- $usth->execute;
+ values (?,?,now(),?,'Book Returned','CR',?)");
+ $usth->execute($bornum,$nextaccntno,0-$amount,$amountleft);
$usth->finish;
$uquery = "insert into accountoffsets
(borrowernumber, accountno, offsetaccount, offsetamount)
- values ($bornum,$data->{'accountno'},$nextaccntno,$offset)";
- $usth = $dbh->prepare($uquery);
- $usth->execute;
+ values (?,?,?,?)";
+ $usth = $dbh->prepare("");
+ $usth->execute($bornum,$data->{'accountno'},$nextaccntno,$offset);
$usth->finish;
- }
+ }
$sth->finish;
UpdateStats($env,'branch','return','0','',$itemno);
return($oduecharge);
my ($env,$dbh,$bornum,$itemno)=@_;
my $amt_owing;
return($amt_owing);
-}
+}
# This function is only used in &checkissue and &returnrecord, both of
# which appear to be obsolete. So presumably this function is obsolete
sub updatelastseen {
my ($env,$dbh,$itemnumber)= @_;
my $br = $env->{'branchcode'};
- my $query = "update items
- set datelastseen = now(), holdingbranch = '$br'
- where (itemnumber = '$itemnumber')";
- my $sth = $dbh->prepare($query);
- $sth->execute;
+ my $sth = $dbh->prepare("update items
+ set datelastseen = now(), holdingbranch = ?
+ where (itemnumber = ?)");
+ $sth->execute($br,$itemnumber);
$sth->finish;
-
+
}
sub find_reserves {
my ($env,$dbh,$itemno) = @_;
my $itemdata = itemnodata($env,$dbh,$itemno);
- my $query = "select * from reserves where found is null
- and biblionumber = $itemdata->{'biblionumber'} and cancellationdate is NULL
- order by priority,reservedate ";
- my $sth = $dbh->prepare($query);
- $sth->execute;
+ my $sth = $dbh->prepare("select * from reserves where found is null
+ and biblionumber = ? and cancellationdate is NULL
+ order by priority,reservedate ");
+ $sth->execute($itemdata->{'biblionumber'};
my $resfound = "n";
my $resrec;
while (($resrec=$sth->fetchrow_hashref) && ($resfound eq "n")) {
} elsif ($resrec->{'constrainttype'} eq "a") {
$resfound = "y";
} else {
- my $conquery = "select * from reserveconstraints where borrowernumber
-= $resrec->{'borrowernumber'} and reservedate = '$resrec->{'reservedate'}' and biblionumber = $resrec->{'biblionumber'} and biblioitemnumber = $itemdata->{'biblioitemnumber'}";
- my $consth = $dbh->prepare($conquery);
- $consth->execute;
+ my $consth = $dbh->prepare("select * from reserveconstraints where borrowernumber = ? and reservedate = ? and biblionumber = ? and biblioitemnumber = ?");
+ $consth->execute($resrec->{'borrowernumber'},$resrec->{'reservedate'},$resrec->{'biblionumber'},$itemdata->{'biblioitemnumber'});
if (my $conrec=$consth->fetchrow_hashref) {
if ($resrec->{'constrainttype'} eq "o") {
$resfound = "y";
$consth->finish;
}
if ($resfound eq "y") {
- my $updquery = "update reserves
- set found = 'W',itemnumber='$itemno'
- where borrowernumber = $resrec->{'borrowernumber'}
- and reservedate = '$resrec->{'reservedate'}'
- and biblionumber = $resrec->{'biblionumber'}";
- my $updsth = $dbh->prepare($updquery);
- $updsth->execute;
+ my $updsth = $dbh->prepare("update reserves
+ set found = 'W',itemnumber = ?
+ where borrowernumber = ?
+ and reservedate = ?
+ and biblionumber = ?");
+ $updsth->execute($itemno,$resrec->{'borrowernumber'},$resrec->{'reservedate'},$resrec->{'biblionumber'});
$updsth->finish;
my $itbr = $resrec->{'branchcode'};
if ($resrec->{'branchcode'} ne $env->{'branchcode'}) {
- my $updquery = "update items
+ my $updsth = $dbh->prepare("update items
set holdingbranch = 'TR'
- where itemnumber = $itemno";
- my $updsth = $dbh->prepare($updquery);
- $updsth->execute;
+ where itemnumber = ?");
+ $updsth->execute($itemno);
$updsth->finish;
- }
+ }
}
}
$sth->finish;
- return ($resfound,$resrec);
+ return ($resfound,$resrec);
}