|
Lines 458-463
sub MapItemsToHoldRequests {
Link Here
|
| 458 |
} else { |
458 |
} else { |
| 459 |
$pull_branches = [keys %items_by_branch]; |
459 |
$pull_branches = [keys %items_by_branch]; |
| 460 |
} |
460 |
} |
|
|
461 |
|
| 462 |
# Try picking items where the home and pickup branch match first |
| 461 |
PULL_BRANCHES: |
463 |
PULL_BRANCHES: |
| 462 |
foreach my $branch (@$pull_branches) { |
464 |
foreach my $branch (@$pull_branches) { |
| 463 |
my $holding_branch_items = $items_by_branch{$branch} |
465 |
my $holding_branch_items = $items_by_branch{$branch} |
|
Lines 474-479
sub MapItemsToHoldRequests {
Link Here
|
| 474 |
} |
476 |
} |
| 475 |
} |
477 |
} |
| 476 |
|
478 |
|
|
|
479 |
# Now try items from the least cost branch based on the transport cost matrix or StaticHoldsQueueWeight |
| 477 |
unless ( $itemnumber ) { |
480 |
unless ( $itemnumber ) { |
| 478 |
foreach my $current_item ( @{ $items_by_branch{$holdingbranch} } ) { |
481 |
foreach my $current_item ( @{ $items_by_branch{$holdingbranch} } ) { |
| 479 |
if ( $holdingbranch && ( $current_item->{holdallowed} == 2 || $request->{borrowerbranch} eq $current_item->{homebranch} ) ) { |
482 |
if ( $holdingbranch && ( $current_item->{holdallowed} == 2 || $request->{borrowerbranch} eq $current_item->{homebranch} ) ) { |
|
Lines 482-487
sub MapItemsToHoldRequests {
Link Here
|
| 482 |
} |
485 |
} |
| 483 |
} |
486 |
} |
| 484 |
} |
487 |
} |
|
|
488 |
|
| 489 |
# Now try for items for any item that can fill this hold |
| 490 |
unless ( $itemnumber ) { |
| 491 |
PULL_BRANCHES2: |
| 492 |
foreach my $branch (@$pull_branches) { |
| 493 |
my $holding_branch_items = $items_by_branch{$branch} |
| 494 |
or next; |
| 495 |
|
| 496 |
$holdingbranch ||= $branch; |
| 497 |
foreach my $item (@$holding_branch_items) { |
| 498 |
next if ( $item->{holdallowed} == 1 && $item->{homebranch} ne $request->{borrowerbranch} ); |
| 499 |
|
| 500 |
$itemnumber = $item->{itemnumber}; |
| 501 |
$holdingbranch = $branch; |
| 502 |
last PULL_BRANCHES2; |
| 503 |
} |
| 504 |
} |
| 505 |
} |
| 485 |
} |
506 |
} |
| 486 |
|
507 |
|
| 487 |
if ($itemnumber) { |
508 |
if ($itemnumber) { |
| 488 |
- |
|
|