- for(my $i=0;$i<$routing;$i++){
- my $sth = $dbh->prepare("SELECT * FROM reserves WHERE biblionumber = ? AND borrowernumber = ?");
- $sth->execute($biblio,$routinglist[$i]->{'borrowernumber'});
- my $data = $sth->fetchrow_hashref;
-
- # warn "$routinglist[$i]->{'borrowernumber'} is the same as $data->{'borrowernumber'}";
- if($routinglist[$i]->{'borrowernumber'} == $data->{'borrowernumber'}){
- ModReserve($routinglist[$i]->{'ranking'},$biblio,$routinglist[$i]->{'borrowernumber'},$branch);
- } else {
- AddReserve($branch,$routinglist[$i]->{'borrowernumber'},$biblio,$const,\@bibitems,$routinglist[$i]->{'ranking'},'',$notes,$title);
- }
- }
+ for my $routing ( @routinglist ) {
+ my $sth = $dbh->prepare('SELECT * FROM reserves WHERE biblionumber = ? AND borrowernumber = ? LIMIT 1');
+ $sth->execute($biblionumber,$routing->{borrowernumber});
+ my $reserve = $sth->fetchrow_hashref;
+
+ if($routing->{borrowernumber} == $reserve->{borrowernumber}){
+ ModReserve({
+ rank => $routing->{ranking},
+ biblionumber => $biblionumber,
+ borrowernumber => $routing->{borrowernumber},
+ branchcode => $branch
+ });
+ } else {
+ AddReserve(
+ {
+ branchcode => $branch,
+ borrowernumber => $routing->{borrowernumber},
+ biblionumber => $biblionumber,
+ priority => $routing->{ranking},
+ notes => $notes,
+ title => $title,
+ }
+ );
+ }
+ }