Lines 71-76
BEGIN {
Link Here
|
71 |
&ModInvoice |
71 |
&ModInvoice |
72 |
&CloseInvoice |
72 |
&CloseInvoice |
73 |
&ReopenInvoice |
73 |
&ReopenInvoice |
|
|
74 |
&GetReceivedorder |
74 |
|
75 |
|
75 |
&GetItemnumbersFromOrder |
76 |
&GetItemnumbersFromOrder |
76 |
|
77 |
|
Lines 2148-2153
sub GetHistory {
Link Here
|
2148 |
return \@order_loop, $total_qty, $total_price, $total_qtyreceived; |
2149 |
return \@order_loop, $total_qty, $total_price, $total_qtyreceived; |
2149 |
} |
2150 |
} |
2150 |
|
2151 |
|
|
|
2152 |
=head3 GetReceivedorder |
2153 |
|
2154 |
$orderrec_loop = GetReceivedorder( %params ); |
2155 |
|
2156 |
Returns an arrayref of received orders |
2157 |
|
2158 |
params: |
2159 |
title |
2160 |
author |
2161 |
name |
2162 |
datereceivedfrom |
2163 |
datereceivedto |
2164 |
basket - search both basket name and number |
2165 |
ordernumber - search by ordernumber |
2166 |
|
2167 |
returns: |
2168 |
$order_loop is a reference to an array of hashrefs that each look like this: |
2169 |
{ |
2170 |
'author' => 'Twain, Mark', |
2171 |
'basketno' => '1', |
2172 |
'biblionumber' => '215', |
2173 |
'datereceived' => 'MM/DD/YYYY' |
2174 |
'name' => '', |
2175 |
'ordernumber' => '1', |
2176 |
'quantity' => 1, |
2177 |
'quantityreceived' => undef, |
2178 |
'title' => 'The Adventures of Huckleberry Finn' |
2179 |
} |
2180 |
|
2181 |
=cut |
2182 |
|
2183 |
sub GetReceivedorder { |
2184 |
croak "No search params" unless @_; |
2185 |
my %params = @_; |
2186 |
my $title = $params{title}; |
2187 |
my $author = $params{author}; |
2188 |
my $isbn = $params{isbn}; |
2189 |
my $ean = $params{ean}; |
2190 |
my $name = $params{name}; |
2191 |
my $datereceivedfrom = $params{datereceivedfrom}; |
2192 |
my $datereceivedto = $params{datereceivedto}; |
2193 |
my $basket = $params{basket}; |
2194 |
my $order = $params{ordernumber}; |
2195 |
|
2196 |
my $query =" |
2197 |
SELECT |
2198 |
biblio.title, |
2199 |
biblio.author, |
2200 |
biblioitems.isbn, |
2201 |
biblioitems.ean, |
2202 |
aqorders.basketno, |
2203 |
aqbasket.basketname, |
2204 |
aqbooksellers.name, |
2205 |
aqbasket.creationdate, |
2206 |
aqorders.datereceived, |
2207 |
aqorders.quantity, |
2208 |
aqorders.quantityreceived, |
2209 |
aqorders.ecost, |
2210 |
aqorders.ordernumber, |
2211 |
aqorders.invoiceid, |
2212 |
aqinvoices.invoicenumber, |
2213 |
aqbooksellers.id as id, |
2214 |
aqorders.biblionumber |
2215 |
FROM aqorders |
2216 |
LEFT JOIN aqbasket ON aqorders.basketno=aqbasket.basketno |
2217 |
LEFT JOIN aqbooksellers ON aqbasket.booksellerid=aqbooksellers.id |
2218 |
LEFT JOIN biblioitems ON biblioitems.biblionumber=aqorders.biblionumber |
2219 |
LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber |
2220 |
LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid"; |
2221 |
|
2222 |
$query .= " LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber" |
2223 |
if ( C4::Context->preference("IndependentBranches") ); |
2224 |
|
2225 |
$query .= " WHERE (aqorders.datereceived IS NOT NULL) "; |
2226 |
|
2227 |
my @query_params = (); |
2228 |
|
2229 |
if ( $title ) { |
2230 |
$query .= " AND biblio.title LIKE ? "; |
2231 |
$title =~ s/\s+/%/g; |
2232 |
push @query_params, "%$title%"; |
2233 |
} |
2234 |
|
2235 |
if ( $author ) { |
2236 |
$query .= " AND biblio.author LIKE ? "; |
2237 |
push @query_params, "%$author%"; |
2238 |
} |
2239 |
|
2240 |
if ( $isbn ) { |
2241 |
$query .= " AND biblioitems.isbn LIKE ? "; |
2242 |
push @query_params, "%$isbn%"; |
2243 |
} |
2244 |
if ( defined $ean and $ean ) { |
2245 |
$query .= " AND biblioitems.ean = ? "; |
2246 |
push @query_params, "$ean"; |
2247 |
} |
2248 |
if ( $name ) { |
2249 |
$query .= " AND aqbooksellers.name LIKE ? "; |
2250 |
push @query_params, "%$name%"; |
2251 |
} |
2252 |
if ( $datereceivedfrom ) { |
2253 |
$query .= " AND aqorders.datereceived >= ? "; |
2254 |
push @query_params, $datereceivedfrom; |
2255 |
} |
2256 |
|
2257 |
if ( $datereceivedto ) { |
2258 |
$query .= " AND aqorders.datereceived <= ? "; |
2259 |
push @query_params, $datereceivedto; |
2260 |
} |
2261 |
|
2262 |
if ($basket) { |
2263 |
if ($basket =~ m/^\d+$/) { |
2264 |
$query .= " AND aqorders.basketno = ? "; |
2265 |
push @query_params, $basket; |
2266 |
} else { |
2267 |
$query .= " AND aqbasket.basketname LIKE ? "; |
2268 |
push @query_params, "%$basket%"; |
2269 |
} |
2270 |
} |
2271 |
|
2272 |
if ($order =~ m/^\d+$/) { |
2273 |
$query .= " AND aqorders.ordernumber = ? "; |
2274 |
push @query_params, $order; |
2275 |
} |
2276 |
|
2277 |
if ( C4::Context->preference("IndependentBranches") ) { |
2278 |
my $userenv = C4::Context->userenv; |
2279 |
if ( $userenv && ($userenv->{flags} || 0) != 1 ) { |
2280 |
$query .= " AND (borrowers.branchcode = ? OR borrowers.branchcode ='' ) "; |
2281 |
push @query_params, $userenv->{branch}; |
2282 |
} |
2283 |
} |
2284 |
$query .= " ORDER BY id"; |
2285 |
|
2286 |
my $dbh = C4::Context->dbh; |
2287 |
return $dbh->selectall_arrayref( $query, { Slice => {} }, @query_params ); |
2288 |
} |
2289 |
|
2151 |
=head2 GetRecentAcqui |
2290 |
=head2 GetRecentAcqui |
2152 |
|
2291 |
|
2153 |
$results = GetRecentAcqui($days); |
2292 |
$results = GetRecentAcqui($days); |