|
Lines 77-82
BEGIN {
Link Here
|
| 77 |
&ReopenInvoice |
77 |
&ReopenInvoice |
| 78 |
&DelInvoice |
78 |
&DelInvoice |
| 79 |
&MergeInvoices |
79 |
&MergeInvoices |
|
|
80 |
&GetReceivedorder |
| 80 |
|
81 |
|
| 81 |
&GetItemnumbersFromOrder |
82 |
&GetItemnumbersFromOrder |
| 82 |
|
83 |
|
|
Lines 2338-2343
sub GetHistory {
Link Here
|
| 2338 |
return $dbh->selectall_arrayref( $query, { Slice => {} }, @query_params ); |
2339 |
return $dbh->selectall_arrayref( $query, { Slice => {} }, @query_params ); |
| 2339 |
} |
2340 |
} |
| 2340 |
|
2341 |
|
|
|
2342 |
=head3 GetReceivedorder |
| 2343 |
|
| 2344 |
$orderrec_loop = GetReceivedorder( %params ); |
| 2345 |
|
| 2346 |
Returns an arrayref of received orders |
| 2347 |
|
| 2348 |
params: |
| 2349 |
title |
| 2350 |
author |
| 2351 |
name |
| 2352 |
datereceivedfrom |
| 2353 |
datereceivedto |
| 2354 |
basket - search both basket name and number |
| 2355 |
ordernumber - search by ordernumber |
| 2356 |
|
| 2357 |
returns: |
| 2358 |
$order_loop is a reference to an array of hashrefs that each look like this: |
| 2359 |
{ |
| 2360 |
'author' => 'Twain, Mark', |
| 2361 |
'basketno' => '1', |
| 2362 |
'biblionumber' => '215', |
| 2363 |
'datereceived' => 'MM/DD/YYYY' |
| 2364 |
'name' => '', |
| 2365 |
'ordernumber' => '1', |
| 2366 |
'quantity' => 1, |
| 2367 |
'quantityreceived' => undef, |
| 2368 |
'title' => 'The Adventures of Huckleberry Finn' |
| 2369 |
} |
| 2370 |
|
| 2371 |
=cut |
| 2372 |
|
| 2373 |
sub GetReceivedorder { |
| 2374 |
croak "No search params" unless @_; |
| 2375 |
my %params = @_; |
| 2376 |
my $title = $params{title}; |
| 2377 |
my $author = $params{author}; |
| 2378 |
my $isbn = $params{isbn}; |
| 2379 |
my $ean = $params{ean}; |
| 2380 |
my $name = $params{name}; |
| 2381 |
my $datereceivedfrom = $params{datereceivedfrom}; |
| 2382 |
my $datereceivedto = $params{datereceivedto}; |
| 2383 |
my $basket = $params{basket}; |
| 2384 |
my $order = $params{ordernumber}; |
| 2385 |
|
| 2386 |
my $query =" |
| 2387 |
SELECT |
| 2388 |
biblio.title, |
| 2389 |
biblio.author, |
| 2390 |
biblioitems.isbn, |
| 2391 |
biblioitems.ean, |
| 2392 |
aqorders.basketno, |
| 2393 |
aqbasket.basketname, |
| 2394 |
aqbooksellers.name, |
| 2395 |
aqbasket.creationdate, |
| 2396 |
aqorders.datereceived, |
| 2397 |
aqorders.quantity, |
| 2398 |
aqorders.quantityreceived, |
| 2399 |
aqorders.ecost, |
| 2400 |
aqorders.ordernumber, |
| 2401 |
aqorders.invoiceid, |
| 2402 |
aqinvoices.invoicenumber, |
| 2403 |
aqbooksellers.id as id, |
| 2404 |
aqorders.biblionumber |
| 2405 |
FROM aqorders |
| 2406 |
LEFT JOIN aqbasket ON aqorders.basketno=aqbasket.basketno |
| 2407 |
LEFT JOIN aqbooksellers ON aqbasket.booksellerid=aqbooksellers.id |
| 2408 |
LEFT JOIN biblioitems ON biblioitems.biblionumber=aqorders.biblionumber |
| 2409 |
LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber |
| 2410 |
LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid"; |
| 2411 |
|
| 2412 |
$query .= " LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber" |
| 2413 |
if ( C4::Context->preference("IndependentBranches") ); |
| 2414 |
|
| 2415 |
$query .= " WHERE (aqorders.datereceived IS NOT NULL) "; |
| 2416 |
|
| 2417 |
my @query_params = (); |
| 2418 |
|
| 2419 |
if ( $title ) { |
| 2420 |
$query .= " AND biblio.title LIKE ? "; |
| 2421 |
$title =~ s/\s+/%/g; |
| 2422 |
push @query_params, "%$title%"; |
| 2423 |
} |
| 2424 |
|
| 2425 |
if ( $author ) { |
| 2426 |
$query .= " AND biblio.author LIKE ? "; |
| 2427 |
push @query_params, "%$author%"; |
| 2428 |
} |
| 2429 |
|
| 2430 |
if ( $isbn ) { |
| 2431 |
$query .= " AND biblioitems.isbn LIKE ? "; |
| 2432 |
push @query_params, "%$isbn%"; |
| 2433 |
} |
| 2434 |
if ( defined $ean and $ean ) { |
| 2435 |
$query .= " AND biblioitems.ean = ? "; |
| 2436 |
push @query_params, "$ean"; |
| 2437 |
} |
| 2438 |
if ( $name ) { |
| 2439 |
$query .= " AND aqbooksellers.name LIKE ? "; |
| 2440 |
push @query_params, "%$name%"; |
| 2441 |
} |
| 2442 |
if ( $datereceivedfrom ) { |
| 2443 |
$query .= " AND aqorders.datereceived >= ? "; |
| 2444 |
push @query_params, $datereceivedfrom; |
| 2445 |
} |
| 2446 |
|
| 2447 |
if ( $datereceivedto ) { |
| 2448 |
$query .= " AND aqorders.datereceived <= ? "; |
| 2449 |
push @query_params, $datereceivedto; |
| 2450 |
} |
| 2451 |
|
| 2452 |
if ($basket) { |
| 2453 |
if ($basket =~ m/^\d+$/) { |
| 2454 |
$query .= " AND aqorders.basketno = ? "; |
| 2455 |
push @query_params, $basket; |
| 2456 |
} else { |
| 2457 |
$query .= " AND aqbasket.basketname LIKE ? "; |
| 2458 |
push @query_params, "%$basket%"; |
| 2459 |
} |
| 2460 |
} |
| 2461 |
|
| 2462 |
if ($order =~ m/^\d+$/) { |
| 2463 |
$query .= " AND aqorders.ordernumber = ? "; |
| 2464 |
push @query_params, $order; |
| 2465 |
} |
| 2466 |
|
| 2467 |
if ( C4::Context->preference("IndependentBranches") ) { |
| 2468 |
my $userenv = C4::Context->userenv; |
| 2469 |
if ( $userenv && ($userenv->{flags} || 0) != 1 ) { |
| 2470 |
$query .= " AND (borrowers.branchcode = ? OR borrowers.branchcode ='' ) "; |
| 2471 |
push @query_params, $userenv->{branch}; |
| 2472 |
} |
| 2473 |
} |
| 2474 |
$query .= " ORDER BY id"; |
| 2475 |
|
| 2476 |
my $dbh = C4::Context->dbh; |
| 2477 |
return $dbh->selectall_arrayref( $query, { Slice => {} }, @query_params ); |
| 2478 |
} |
| 2479 |
|
| 2341 |
=head2 GetRecentAcqui |
2480 |
=head2 GetRecentAcqui |
| 2342 |
|
2481 |
|
| 2343 |
$results = GetRecentAcqui($days); |
2482 |
$results = GetRecentAcqui($days); |