From 194dd87275088be160fab6cfce92b6e48e50efaf Mon Sep 17 00:00:00 2001 From: miker Date: Wed, 20 Jul 2005 20:05:59 +0000 Subject: [PATCH] adding "nearest_hold" select git-svn-id: svn://svn.open-ils.org/ILS/trunk@1317 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../Application/Storage/Publisher/action.pm | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm index e13e08184d..72049bae9b 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm @@ -34,6 +34,29 @@ __PACKAGE__->register_method( method => 'grab_overdue', ); +sub nearest_hold { + my $self = shift; + my $client = shift; + my $pl = shift; + my $cp = shift; + + my ($id) = action::hold_request->db_Main->selectrow_array(<<" SQL", {}, $pl,$cp); + SELECT h.id + FROM action.hold_request h + JOIN action.hold_copy_map hm ON (hm.hold = h.id) + WHERE h.pickup_lib = ? + AND hm.target_copy = ? + AND h.capture_time IS NULL + ORDER BY h.pickup_lib - (SELECT home_ou FROM actor.usr a WHERE a.id = h.usr), h.request_time + SQL + return $id; +} +__PACKAGE__->register_method( + api_name => 'open-ils.storage.action.hold_request.nearest_hold', + api_level => 1, + method => 'nearest_hold', +); + sub next_resp_group_id { my $self = shift; my $client = shift; -- 2.11.0