[open-ils-commits] [GIT] Evergreen ILS branch rel_2_0 updated. 24f2e92ea859eb72e63eb09ac8ebbc79ee28163a
Evergreen Git
git at git.evergreen-ils.org
Tue Nov 15 12:02:22 EST 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".
The branch, rel_2_0 has been updated
via 24f2e92ea859eb72e63eb09ac8ebbc79ee28163a (commit)
from 0501337d4e16bd69dea60016b43939435d5acb56 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 24f2e92ea859eb72e63eb09ac8ebbc79ee28163a
Author: Steven Callender <stevecallender at esilibrary.com>
Date: Wed Oct 19 18:51:14 2011 +0000
Reshelving update.
Update to the reshelving code to make it faster and utilize the new status change time field on asset.copy.
Signed-off-by: Steven Callender <stevecallender at esilibrary.com>
Signed-off-by: Mike Rylander <mrylander at gmail.com>
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 bb01e61..2d690d9 100644
--- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm
+++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm
@@ -147,41 +147,18 @@ sub complete_reshelving {
unless (interval_to_seconds( $window ));
my $setting = actor::org_unit_setting->table;
- my $circ = action::circulation->table;
my $cp = asset::copy->table;
- my $atc = action::transit_copy->table;
my $sql = <<" SQL";
UPDATE $cp
SET status = 0
WHERE id IN (
- SELECT id
- FROM (SELECT cp.id, MAX(circ.checkin_time), MAX(trans.dest_recv_time)
- FROM $cp cp
- JOIN $circ circ ON (circ.target_copy = cp.id)
- LEFT JOIN $atc trans ON (trans.target_copy = cp.id)
- LEFT JOIN $setting setting
- ON (cp.circ_lib = setting.org_unit AND setting.name = 'circ.reshelving_complete.interval')
- WHERE circ.checkin_time IS NOT NULL
- AND cp.status = 7
- GROUP BY 1
- HAVING (
- ( ( MAX(circ.checkin_time) > MAX(trans.dest_recv_time) or MAX(trans.dest_recv_time) IS NULL )
- AND MAX(circ.checkin_time) < NOW() - CAST( COALESCE( BTRIM( FIRST(setting.value),'"' ), ? ) AS INTERVAL) )
- OR
- ( MAX(trans.dest_recv_time) > MAX(circ.checkin_time)
- AND MAX(trans.dest_recv_time) < NOW() - CAST( COALESCE( BTRIM( FIRST(setting.value),'"' ), ? ) AS INTERVAL) )
- )
- ) AS foo
- UNION ALL
- SELECT cp.id
- FROM $cp cp
- LEFT JOIN $setting setting
- ON (cp.circ_lib = setting.org_unit AND setting.name = 'circ.reshelving_complete.interval')
- LEFT JOIN $circ circ ON (circ.target_copy = cp.id)
- WHERE cp.status = 7
- AND circ.id IS NULL
- AND cp.create_date < NOW() - CAST( COALESCE( BTRIM( setting.value,'"' ), ? ) AS INTERVAL)
+ SELECT cp.id
+ FROM $cp cp
+ LEFT JOIN $setting setting
+ ON (cp.circ_lib = setting.org_unit AND setting.name = 'circ.reshelving_complete.interval')
+ WHERE cp.status = 7
+ AND cp.status_changed_time < NOW() - CAST( COALESCE( BTRIM( setting.value,'"' ), ? ) AS INTERVAL)
)
SQL
my $sth = action::circulation->db_Main->prepare_cached($sql);
-----------------------------------------------------------------------
Summary of changes:
.../Application/Storage/Publisher/action.pm | 35 +++----------------
1 files changed, 6 insertions(+), 29 deletions(-)
hooks/post-receive
--
Evergreen ILS
More information about the open-ils-commits
mailing list