Lines 383-389
sub transferbook {
Link Here
|
383 |
ModItemTransfer( $itemnumber, $fbr, $tbr, $trigger ); |
383 |
ModItemTransfer( $itemnumber, $fbr, $tbr, $trigger ); |
384 |
|
384 |
|
385 |
# don't need to update MARC anymore, we do it in batch now |
385 |
# don't need to update MARC anymore, we do it in batch now |
386 |
$messages->{'WasTransfered'} = 1; |
386 |
$messages->{'WasTransfered'} = $tbr; |
387 |
|
387 |
|
388 |
} |
388 |
} |
389 |
ModDateLastSeen( $itemnumber ); |
389 |
ModDateLastSeen( $itemnumber ); |
Lines 2130-2152
sub AddReturn {
Link Here
|
2130 |
} |
2130 |
} |
2131 |
|
2131 |
|
2132 |
# check if we have a transfer for this document |
2132 |
# check if we have a transfer for this document |
2133 |
my ($datesent,$frombranch,$tobranch) = GetTransfers( $item->itemnumber ); |
2133 |
my $transfer = $item->get_transfer; |
2134 |
|
2134 |
|
2135 |
# if we have a transfer to complete, we update the line of transfers with the datearrived |
2135 |
# if we have a transfer to complete, we update the line of transfers with the datearrived |
2136 |
my $is_in_rotating_collection = C4::RotatingCollections::isItemInAnyCollection( $item->itemnumber ); |
2136 |
my $is_in_rotating_collection = C4::RotatingCollections::isItemInAnyCollection( $item->itemnumber ); |
2137 |
if ($datesent) { |
2137 |
if ($transfer) { |
2138 |
# At this point we will either fill the transfer or it is a wrong transfer |
|
|
2139 |
# either way we should not now generate a new transfer |
2140 |
$validTransfer = 0; |
2138 |
$validTransfer = 0; |
2141 |
if ( $tobranch eq $branch ) { |
2139 |
if ( $transfer->in_transit ) { |
2142 |
my $sth = C4::Context->dbh->prepare( |
2140 |
if ( $transfer->tobranch eq $branch ) { |
2143 |
"UPDATE branchtransfers SET datearrived = now() WHERE itemnumber= ? AND datearrived IS NULL" |
2141 |
$transfer->receive; |
2144 |
); |
2142 |
$messages->{'TransferArrived'} = $transfer->frombranch; |
2145 |
$sth->execute( $item->itemnumber ); |
2143 |
} |
2146 |
$messages->{'TransferArrived'} = $frombranch; |
2144 |
else { |
2147 |
} else { |
2145 |
$messages->{'WrongTransfer'} = $transfer->tobranch; |
2148 |
$messages->{'WrongTransfer'} = $tobranch; |
2146 |
$messages->{'WrongTransferItem'} = $item->itemnumber; |
2149 |
$messages->{'WrongTransferItem'} = $item->itemnumber; |
2147 |
} |
|
|
2148 |
} |
2149 |
else { |
2150 |
if ( $transfer->tobranch eq $branch ) { |
2151 |
$transfer->receive; |
2152 |
$messages->{'TransferArrived'} = $transfer->frombranch; |
2153 |
} |
2154 |
else { |
2155 |
$messages->{'WasTransfered'} = $transfer->tobranch; |
2156 |
$messages->{'TransferTrigger'} = $transfer->reason; |
2157 |
} |
2150 |
} |
2158 |
} |
2151 |
} |
2159 |
} |
2152 |
|
2160 |
|
Lines 2237-2243
sub AddReturn {
Link Here
|
2237 |
} |
2245 |
} |
2238 |
|
2246 |
|
2239 |
# Transfer to returnbranch if Automatic transfer set or append message NeedsTransfer |
2247 |
# Transfer to returnbranch if Automatic transfer set or append message NeedsTransfer |
2240 |
if ($validTransfer && !$is_in_rotating_collection && ($doreturn or $messages->{'NotIssued'}) and !$resfound and ($branch ne $returnbranch) ){ |
2248 |
if ( $validTransfer && !$is_in_rotating_collection |
|
|
2249 |
&& ( $doreturn or $messages->{'NotIssued'} ) |
2250 |
and !$resfound |
2251 |
and ( $branch ne $returnbranch ) |
2252 |
and not $messages->{'WrongTransfer'} |
2253 |
and not $messages->{'WasTransfered'} ) |
2254 |
{ |
2241 |
my $BranchTransferLimitsType = C4::Context->preference("BranchTransferLimitsType") eq 'itemtype' ? 'effective_itemtype' : 'ccode'; |
2255 |
my $BranchTransferLimitsType = C4::Context->preference("BranchTransferLimitsType") eq 'itemtype' ? 'effective_itemtype' : 'ccode'; |
2242 |
if (C4::Context->preference("AutomaticItemReturn" ) or |
2256 |
if (C4::Context->preference("AutomaticItemReturn" ) or |
2243 |
(C4::Context->preference("UseBranchTransferLimits") and |
2257 |
(C4::Context->preference("UseBranchTransferLimits") and |
Lines 2246-2252
sub AddReturn {
Link Here
|
2246 |
$debug and warn sprintf "about to call ModItemTransfer(%s, %s, %s, %s)", $item->itemnumber,$branch, $returnbranch, $transfer_trigger; |
2260 |
$debug and warn sprintf "about to call ModItemTransfer(%s, %s, %s, %s)", $item->itemnumber,$branch, $returnbranch, $transfer_trigger; |
2247 |
$debug and warn "item: " . Dumper($item->unblessed); |
2261 |
$debug and warn "item: " . Dumper($item->unblessed); |
2248 |
ModItemTransfer($item->itemnumber, $branch, $returnbranch, $transfer_trigger, { skip_record_index => 1 }); |
2262 |
ModItemTransfer($item->itemnumber, $branch, $returnbranch, $transfer_trigger, { skip_record_index => 1 }); |
2249 |
$messages->{'WasTransfered'} = 1; |
2263 |
$messages->{'WasTransfered'} = $returnbranch; |
|
|
2264 |
$messages->{'TransferTrigger'} = $transfer_trigger; |
2250 |
} else { |
2265 |
} else { |
2251 |
$messages->{'NeedsTransfer'} = $returnbranch; |
2266 |
$messages->{'NeedsTransfer'} = $returnbranch; |
2252 |
$messages->{'TransferTrigger'} = $transfer_trigger; |
2267 |
$messages->{'TransferTrigger'} = $transfer_trigger; |
Lines 3406-3412
sub GetTransfers {
Link Here
|
3406 |
SELECT datesent, |
3421 |
SELECT datesent, |
3407 |
frombranch, |
3422 |
frombranch, |
3408 |
tobranch, |
3423 |
tobranch, |
3409 |
branchtransfer_id |
3424 |
branchtransfer_id, |
|
|
3425 |
daterequested, |
3426 |
reason |
3410 |
FROM branchtransfers |
3427 |
FROM branchtransfers |
3411 |
WHERE itemnumber = ? |
3428 |
WHERE itemnumber = ? |
3412 |
AND datearrived IS NULL |
3429 |
AND datearrived IS NULL |