X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FAcquisition.pm;h=4fd5cc27221983e64184394c507b6f9aa581fa99;hb=28bb1a3ed01e89588b8f95d9ad4a53c700df862a;hp=0a96a02c4f78d52e645a13eeee5dfca948b154bf;hpb=81cf767b17994c39dc83930305d4d9d65423db35;p=koha_gimpoz diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index 0a96a02c4f..4fd5cc2722 100644 --- a/C4/Acquisition.pm +++ b/C4/Acquisition.pm @@ -44,6 +44,7 @@ BEGIN { &GetBasket &NewBasket &CloseBasket &DelBasket &ModBasket &GetBasketAsCSV &GetBasketsByBookseller &GetBasketsByBasketgroup + &GetBasketsInfosByBookseller &ModBasketHeader @@ -464,6 +465,39 @@ sub GetBasketsByBookseller { return $results } +=head3 GetBasketsInfosByBookseller + + my $baskets = GetBasketsInfosByBookseller($supplierid); + +Returns in a arrayref of hashref all about booksellers baskets, plus: + total_biblios: Number of distinct biblios in basket + total_items: Number of items in basket + expected_items: Number of non-received items in basket + +=cut + +sub GetBasketsInfosByBookseller { + my ($supplierid) = @_; + + return unless $supplierid; + + my $dbh = C4::Context->dbh; + my $query = qq{ + SELECT aqbasket.*, + SUM(aqorders.quantity) AS total_items, + COUNT(DISTINCT aqorders.biblionumber) AS total_biblios, + SUM(IF(aqorders.datereceived IS NULL, aqorders.quantity, 0)) AS expected_items + FROM aqbasket + LEFT JOIN aqorders ON aqorders.basketno = aqbasket.basketno + WHERE booksellerid = ? + GROUP BY aqbasket.basketno + }; + my $sth = $dbh->prepare($query); + $sth->execute($supplierid); + return $sth->fetchall_arrayref({}); +} + + #------------------------------------------------------------# =head3 GetBasketsByBasketgroup @@ -714,8 +748,9 @@ sub GetPendingOrders { my $dbh = C4::Context->dbh; my $strsth = " SELECT ".($grouped?"count(*),":"")."aqbasket.basketno, - surname,firstname,aqorders.*,biblio.*,biblioitems.isbn, - aqbasket.closedate, aqbasket.creationdate, aqbasket.basketname + surname,firstname,biblio.*,biblioitems.isbn, + aqbasket.closedate, aqbasket.creationdate, aqbasket.basketname, + aqorders.* FROM aqorders LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber