@@ -, +, @@ --- C4/Budgets.pm | 25 +++++++++++ C4/Reserves.pm | 6 ++- acqui/parcel.pl | 4 ++ .../intranet-tmpl/prog/en/modules/acqui/parcel.tt | 46 +++++++++++++++----- 4 files changed, 69 insertions(+), 12 deletions(-) --- a/C4/Budgets.pm +++ a/C4/Budgets.pm @@ -34,6 +34,7 @@ BEGIN { @EXPORT = qw( &GetBudget + &GetBudgetByOrderNumber &GetBudgets &GetBudgetHierarchy &AddBudget @@ -636,6 +637,30 @@ sub GetBudget { return $result; } +=head2 GetBudgetByOrderNumber + + &GetBudgetByOrderNumber($ordernumber); + +get a specific budget by order number + +=cut + +# ------------------------------------------------------------------- +sub GetBudgetByOrderNumber { + my ( $ordernumber ) = @_; + my $dbh = C4::Context->dbh; + my $query = " + SELECT aqbudgets.* + FROM aqbudgets, aqorders + WHERE ordernumber=? + AND aqorders.budget_id = aqbudgets.budget_id + "; + my $sth = $dbh->prepare($query); + $sth->execute( $ordernumber ); + my $result = $sth->fetchrow_hashref; + return $result; +} + =head2 GetChildBudgetsSpent &GetChildBudgetsSpent($budget-id); --- a/C4/Reserves.pm +++ a/C4/Reserves.pm @@ -256,6 +256,7 @@ of the reserves and an arrayref pointing to the reserves for C<$biblionumber>. sub GetReservesFromBiblionumber { my ($biblionumber) = shift or return (0, []); my ($all_dates) = shift; + my ($bib_level_only) = shift; my $dbh = C4::Context->dbh; # Find the desired items in the reserves @@ -277,7 +278,10 @@ sub GetReservesFromBiblionumber { FROM reserves WHERE biblionumber = ? "; unless ( $all_dates ) { - $query .= "AND reservedate <= CURRENT_DATE()"; + $query .= " AND reservedate <= CURRENT_DATE() "; + } + if ( $bib_level_only ) { + $query .= " AND itemnumber IS NULL "; } $query .= "ORDER BY priority"; my $sth = $dbh->prepare($query); --- a/acqui/parcel.pl +++ a/acqui/parcel.pl @@ -67,6 +67,7 @@ use CGI; use C4::Output; use C4::Dates qw/format_date format_date_in_iso/; use C4::Suggestions; +use C4::Reserves qw/GetReservesFromBiblionumber/; use JSON; my $input=new CGI; @@ -180,6 +181,9 @@ for my $item ( @parcelitems ) { $line{invoice} = $invoice->{invoicenumber}; $line{total} = sprintf($cfstr, $total); $line{booksellerid} = $invoice->{booksellerid}; + my ($count) = &GetReservesFromBiblionumber($line{biblionumber},undef,1); + $line{holds} = $count; + $line{budget} = GetBudgetByOrderNumber( $line{ordernumber} ); $totalprice += $item->{'unitprice'}; $line{unitprice} = sprintf( $cfstr, $item->{'unitprice'} ); my $gste = get_gste( $line{total}, $line{gstrate}, $bookseller ); --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt @@ -1,3 +1,4 @@ +[% USE currency = format('%.2f') -%] [% INCLUDE 'doc-head-open.inc' %]