|
Lines 72-77
BEGIN {
Link Here
|
| 72 |
&CloseInvoice |
72 |
&CloseInvoice |
| 73 |
&ReopenInvoice |
73 |
&ReopenInvoice |
| 74 |
&DelInvoice |
74 |
&DelInvoice |
|
|
75 |
&GetReceivedorder |
| 75 |
|
76 |
|
| 76 |
&GetItemnumbersFromOrder |
77 |
&GetItemnumbersFromOrder |
| 77 |
|
78 |
|
|
Lines 2061-2066
sub GetHistory {
Link Here
|
| 2061 |
return \@order_loop, $total_qty, $total_price, $total_qtyreceived; |
2062 |
return \@order_loop, $total_qty, $total_price, $total_qtyreceived; |
| 2062 |
} |
2063 |
} |
| 2063 |
|
2064 |
|
|
|
2065 |
=head3 GetReceivedorder |
| 2066 |
|
| 2067 |
$orderrec_loop = GetReceivedorder( %params ); |
| 2068 |
|
| 2069 |
Returns an arrayref of received orders |
| 2070 |
|
| 2071 |
params: |
| 2072 |
title |
| 2073 |
author |
| 2074 |
name |
| 2075 |
datereceivedfrom |
| 2076 |
datereceivedto |
| 2077 |
basket - search both basket name and number |
| 2078 |
ordernumber - search by ordernumber |
| 2079 |
|
| 2080 |
returns: |
| 2081 |
$order_loop is a reference to an array of hashrefs that each look like this: |
| 2082 |
{ |
| 2083 |
'author' => 'Twain, Mark', |
| 2084 |
'basketno' => '1', |
| 2085 |
'biblionumber' => '215', |
| 2086 |
'datereceived' => 'MM/DD/YYYY' |
| 2087 |
'name' => '', |
| 2088 |
'ordernumber' => '1', |
| 2089 |
'quantity' => 1, |
| 2090 |
'quantityreceived' => undef, |
| 2091 |
'title' => 'The Adventures of Huckleberry Finn' |
| 2092 |
} |
| 2093 |
|
| 2094 |
=cut |
| 2095 |
|
| 2096 |
sub GetReceivedorder { |
| 2097 |
croak "No search params" unless @_; |
| 2098 |
my %params = @_; |
| 2099 |
my $title = $params{title}; |
| 2100 |
my $author = $params{author}; |
| 2101 |
my $isbn = $params{isbn}; |
| 2102 |
my $ean = $params{ean}; |
| 2103 |
my $name = $params{name}; |
| 2104 |
my $datereceivedfrom = $params{datereceivedfrom}; |
| 2105 |
my $datereceivedto = $params{datereceivedto}; |
| 2106 |
my $basket = $params{basket}; |
| 2107 |
my $order = $params{ordernumber}; |
| 2108 |
|
| 2109 |
my $query =" |
| 2110 |
SELECT |
| 2111 |
biblio.title, |
| 2112 |
biblio.author, |
| 2113 |
biblioitems.isbn, |
| 2114 |
biblioitems.ean, |
| 2115 |
aqorders.basketno, |
| 2116 |
aqbasket.basketname, |
| 2117 |
aqbooksellers.name, |
| 2118 |
aqbasket.creationdate, |
| 2119 |
aqorders.datereceived, |
| 2120 |
aqorders.quantity, |
| 2121 |
aqorders.quantityreceived, |
| 2122 |
aqorders.ecost, |
| 2123 |
aqorders.ordernumber, |
| 2124 |
aqorders.invoiceid, |
| 2125 |
aqinvoices.invoicenumber, |
| 2126 |
aqbooksellers.id as id, |
| 2127 |
aqorders.biblionumber |
| 2128 |
FROM aqorders |
| 2129 |
LEFT JOIN aqbasket ON aqorders.basketno=aqbasket.basketno |
| 2130 |
LEFT JOIN aqbooksellers ON aqbasket.booksellerid=aqbooksellers.id |
| 2131 |
LEFT JOIN biblioitems ON biblioitems.biblionumber=aqorders.biblionumber |
| 2132 |
LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber |
| 2133 |
LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid"; |
| 2134 |
|
| 2135 |
$query .= " LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber" |
| 2136 |
if ( C4::Context->preference("IndependentBranches") ); |
| 2137 |
|
| 2138 |
$query .= " WHERE (aqorders.datereceived IS NOT NULL) "; |
| 2139 |
|
| 2140 |
my @query_params = (); |
| 2141 |
|
| 2142 |
if ( $title ) { |
| 2143 |
$query .= " AND biblio.title LIKE ? "; |
| 2144 |
$title =~ s/\s+/%/g; |
| 2145 |
push @query_params, "%$title%"; |
| 2146 |
} |
| 2147 |
|
| 2148 |
if ( $author ) { |
| 2149 |
$query .= " AND biblio.author LIKE ? "; |
| 2150 |
push @query_params, "%$author%"; |
| 2151 |
} |
| 2152 |
|
| 2153 |
if ( $isbn ) { |
| 2154 |
$query .= " AND biblioitems.isbn LIKE ? "; |
| 2155 |
push @query_params, "%$isbn%"; |
| 2156 |
} |
| 2157 |
if ( defined $ean and $ean ) { |
| 2158 |
$query .= " AND biblioitems.ean = ? "; |
| 2159 |
push @query_params, "$ean"; |
| 2160 |
} |
| 2161 |
if ( $name ) { |
| 2162 |
$query .= " AND aqbooksellers.name LIKE ? "; |
| 2163 |
push @query_params, "%$name%"; |
| 2164 |
} |
| 2165 |
if ( $datereceivedfrom ) { |
| 2166 |
$query .= " AND aqorders.datereceived >= ? "; |
| 2167 |
push @query_params, $datereceivedfrom; |
| 2168 |
} |
| 2169 |
|
| 2170 |
if ( $datereceivedto ) { |
| 2171 |
$query .= " AND aqorders.datereceived <= ? "; |
| 2172 |
push @query_params, $datereceivedto; |
| 2173 |
} |
| 2174 |
|
| 2175 |
if ($basket) { |
| 2176 |
if ($basket =~ m/^\d+$/) { |
| 2177 |
$query .= " AND aqorders.basketno = ? "; |
| 2178 |
push @query_params, $basket; |
| 2179 |
} else { |
| 2180 |
$query .= " AND aqbasket.basketname LIKE ? "; |
| 2181 |
push @query_params, "%$basket%"; |
| 2182 |
} |
| 2183 |
} |
| 2184 |
|
| 2185 |
if ($order =~ m/^\d+$/) { |
| 2186 |
$query .= " AND aqorders.ordernumber = ? "; |
| 2187 |
push @query_params, $order; |
| 2188 |
} |
| 2189 |
|
| 2190 |
if ( C4::Context->preference("IndependentBranches") ) { |
| 2191 |
my $userenv = C4::Context->userenv; |
| 2192 |
if ( $userenv && ($userenv->{flags} || 0) != 1 ) { |
| 2193 |
$query .= " AND (borrowers.branchcode = ? OR borrowers.branchcode ='' ) "; |
| 2194 |
push @query_params, $userenv->{branch}; |
| 2195 |
} |
| 2196 |
} |
| 2197 |
$query .= " ORDER BY id"; |
| 2198 |
|
| 2199 |
my $dbh = C4::Context->dbh; |
| 2200 |
return $dbh->selectall_arrayref( $query, { Slice => {} }, @query_params ); |
| 2201 |
} |
| 2202 |
|
| 2064 |
=head2 GetRecentAcqui |
2203 |
=head2 GetRecentAcqui |
| 2065 |
|
2204 |
|
| 2066 |
$results = GetRecentAcqui($days); |
2205 |
$results = GetRecentAcqui($days); |