=head1 FUNCTIONS
-=over 2
-
=head2 FUNCTIONS ABOUT BASKETS
-=over 2
-
=head3 GetBasket
=over 4
=back
-=back
-
=cut
sub GetBasket {
#------------------------------------------------------------#
-=back
-
=head2 FUNCTIONS ABOUT ORDERS
-=over 2
-
=cut
#------------------------------------------------------------#
=cut
sub GetPendingOrders {
- my ($supplierid,$grouped) = @_;
+ my ($supplierid,$grouped, $closed) = @_;
my $dbh = C4::Context->dbh;
my $strsth = "
SELECT ".($grouped?"count(*),":"")."aqbasket.basketno,
LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno
LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
WHERE booksellerid=?
- AND (quantity > quantityreceived OR quantityreceived is NULL)
AND datecancellationprinted IS NULL
- AND (to_days(now())-to_days(closedate) < 180 OR closedate IS NULL)
";
+ if($closed){
+ $strsth .= "
+ AND (quantity > quantityreceived OR quantityreceived is NULL)
+ AND closedate IS NOT NULL ";
+ }else{
+ $strsth .= "AND (to_days(now())-to_days(closedate) < 180 OR closedate IS NULL)";
+ }
## FIXME Why 180 days ???
my @query_params = ( $supplierid );
if ( C4::Context->preference("IndependantBranches") ) {
$ordernumber = &GetOrderNumber($biblioitemnumber, $biblionumber);
+=back
+
Looks up the ordernumber with the given biblionumber and biblioitemnumber.
Returns the number of this order.
+=over 4
+
=item C<$ordernumber> is the order number.
=back
=cut
sub SearchOrder {
- my ( $search, $id, $biblionumber, $catview ) = @_;
+ my ( $search, $id, $biblionumber ) = @_;
my $dbh = C4::Context->dbh;
my @data = split( ' ', $search );
my @searchterms;
push( @searchterms, $search, $search, $biblionumber );
my $query;
### FIXME THIS CAN raise a problem if more THAN ONE biblioitem is linked to one biblio
- if ($id) {
+ if(not $id and $biblionumber and $search){
+ $query = "SELECT *,biblio.title
+ FROM aqorders
+ LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
+ LEFT JOIN biblioitems ON biblioitems.biblionumber=biblio.biblionumber
+ LEFT JOIN aqbasket ON aqorders.basketno = aqbasket.basketno
+ WHERE ((datecancellationprinted is NULL)
+ OR (datecancellationprinted = '0000-00-00'))
+ AND aqorders.biblionumber = ?
+ AND aqorders.ordernumber = ?
+ ";
+ @searchterms = ($biblionumber, $search);
+ }
+ elsif($id) {
$query =
"SELECT *,biblio.title
FROM aqorders
map { "(biblio.title like ? or biblio.title like ?)" } @data )
)
. ") OR biblioitems.isbn=? OR (aqorders.ordernumber=? AND aqorders.biblionumber=?)) ";
-
}
else {
$query =
)
. ") or biblioitems.isbn=? OR (aqorders.ordernumber=? AND aqorders.biblionumber=?)) ";
}
+
$query .= " GROUP BY aqorders.ordernumber";
### $query
my $sth = $dbh->prepare($query);
$sth->finish;
}
-
-=back
-
=head2 FUNCTIONS ABOUT PARCELS
-=over 2
-
=cut
#------------------------------------------------------------#
$results = &GetParcels($bookseller, $order, $code, $datefrom, $dateto);
get a lists of parcels.
+=back
+
* Input arg :
+=over 4
+
=item $bookseller
is the bookseller this function has to get parcels.
1;
__END__
-=back
-
=head1 AUTHOR
Koha Developement team <info@koha.org>