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