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