From 9cff5392d2e8f17b031c2f694c356114262b3fb3 Mon Sep 17 00:00:00 2001 From: Lyon3 Team Date: Fri, 30 Sep 2016 14:50:16 +0200 Subject: [PATCH] [SIGNED-OFF]Bug 17317: Perfomance Improvement - Use of GetItemnumbersForBiblio instead of GetItemsByBiblioitemnumber (thx Jonathan Druart) Signed-off-by: Hector Castro Works as advertised --- C4/ILSDI/Services.pm | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/C4/ILSDI/Services.pm b/C4/ILSDI/Services.pm index 279eec2..f0d9071 100644 --- a/C4/ILSDI/Services.pm +++ b/C4/ILSDI/Services.pm @@ -134,19 +134,15 @@ sub GetAvailability { } else { my $status; my $msg; - my $biblioitem = ( GetBiblioItemByBiblioNumber( $id, undef ) )[0]; - if ($biblioitem) { - my $biblioitemnumber = $biblioitem->{'biblioitemnumber'}; - my $items = (GetItemsByBiblioitemnumber($biblioitemnumber))[0]; - + my $items = GetItemnumbersForBiblio($id); + if ($items) { + # Open XML + $out .= " \n"; + $out .= " \n"; + $out .= " \n"; # We loop over the items to clean them - my $itemnumber; - foreach my $item (@$items) { - $itemnumber=$item->{'itemnumber'}; + foreach my $itemnumber (@$items) { my ( $biblionumber, $status, $msg, $location ) = _availability($itemnumber); - $out .= " \n"; - $out .= " \n"; - $out .= " \n"; $out .= " \n"; $out .= " \n"; $out .= " " . $itemnumber . "\n"; @@ -155,9 +151,10 @@ sub GetAvailability { if ($location) { $out .= " " . $location . "\n"; } $out .= " \n"; $out .= " \n"; - $out .= " \n"; - $out .= " \n"; } + # Close XML + $out .= " \n"; + $out .= " \n"; } else { $status = "unknown"; $msg = "Error: could not retrieve availability for this ID"; -- 1.7.10.4