X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FAcquisition.pm;h=4fd5cc27221983e64184394c507b6f9aa581fa99;hb=28bb1a3ed01e89588b8f95d9ad4a53c700df862a;hp=2814977575320fbb52525dce12777ab1b2ea73ff;hpb=34a27e01b138170f38324568a9d4fad596176ff8;p=koha_gimpoz diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index 2814977575..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 @@ -62,6 +63,8 @@ BEGIN { &GetContracts &GetContract &GetItemnumbersFromOrder + + &AddClaim ); } @@ -462,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 @@ -712,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 @@ -924,7 +961,6 @@ sub NewOrder { =cut sub NewOrderItem { - #my ($biblioitemnumber,$ordernumber, $biblionumber) = @_; my ($itemnumber, $ordernumber) = @_; my $dbh = C4::Context->dbh; my $query = qq| @@ -1106,16 +1142,13 @@ sub ModReceiveOrder { ) = @_; my $dbh = C4::Context->dbh; -# warn "DATE BEFORE : $daterecieved"; -# $daterecieved=POSIX::strftime("%Y-%m-%d",CORE::localtime) unless $daterecieved; -# warn "DATE REC : $daterecieved"; $datereceived = C4::Dates->output('iso') unless $datereceived; my $suggestionid = GetSuggestionFromBiblionumber( $dbh, $biblionumber ); if ($suggestionid) { ModSuggestion( {suggestionid=>$suggestionid, - STATUS=>'AVAILABLE', - biblionumber=> $biblionumber} - ); + STATUS=>'AVAILABLE', + biblionumber=> $biblionumber} + ); } my $sth=$dbh->prepare(" @@ -1453,9 +1486,12 @@ sub GetLateOrders { DATE(aqbasket.closedate) AS orderdate, aqorders.rrp AS unitpricesupplier, aqorders.ecost AS unitpricelib, + aqorders.claims_count AS claims_count, + aqorders.claimed_date AS claimed_date, aqbudgets.budget_name AS budget, borrowers.branchcode AS branch, aqbooksellers.name AS supplier, + aqbooksellers.id AS supplierid, biblio.author, biblio.title, biblioitems.publishercode AS publisher, biblioitems.publicationyear, @@ -1517,6 +1553,7 @@ sub GetLateOrders { my @results; while (my $data = $sth->fetchrow_hashref) { $data->{orderdate} = format_date($data->{orderdate}); + $data->{claimed_date} = format_date($data->{claimed_date}); push @results, $data; } return @results; @@ -1676,8 +1713,6 @@ sub GetHistory { $line->{count} = $cnt++; $line->{toggle} = 1 if $cnt % 2; push @order_loop, $line; - $line->{creationdate} = format_date( $line->{creationdate} ); - $line->{datereceived} = format_date( $line->{datereceived} ); $total_qty += $line->{'quantity'}; $total_qtyreceived += $line->{'quantityreceived'}; $total_price += $line->{'quantity'} * $line->{'ecost'}; @@ -1779,6 +1814,31 @@ sub GetContract { return $result; } +=head3 AddClaim + +=over 4 + +&AddClaim($ordernumber); + +Add a claim for an order + +=back + +=cut +sub AddClaim { + my ($ordernumber) = @_; + my $dbh = C4::Context->dbh; + my $query = " + UPDATE aqorders SET + claims_count = claims_count + 1, + claimed_date = CURDATE() + WHERE ordernumber = ? + "; + my $sth = $dbh->prepare($query); + $sth->execute($ordernumber); + +} + 1; __END__