|
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); |