}
my $dbh = C4::Context->dbh;
- my $query = qq{
+ my $query = q{
SELECT aqinvoices.*, aqbooksellers.name AS suppliername
FROM aqinvoices
LEFT JOIN aqbooksellers ON aqinvoices.booksellerid = aqbooksellers.id
my $invoice = $sth->fetchrow_hashref;
- $query = qq{
- SELECT aqorders.*, biblio.*, aqorders_items.itemnumber,
- aqbasket.basketname
+ $query = q{
+ SELECT aqorders.*, biblio.*, aqbasket.basketname
FROM aqorders
LEFT JOIN aqbasket ON aqorders.basketno = aqbasket.basketno
LEFT JOIN biblio ON aqorders.biblionumber = biblio.biblionumber
- LEFT JOIN aqorders_items ON aqorders.ordernumber = aqorders_items.ordernumber
WHERE invoiceid = ?
};
$sth = $dbh->prepare($query);
my $datereceived = C4::Dates->new();
my $cfstr = "%.2f"; # currency format string -- could get this from currency table.
-my @parcelitems = @{ $invoice->{orders} };
-my $countlines = scalar @parcelitems;
+my @orders = @{ $invoice->{orders} };
+my $countlines = scalar @orders;
my $totalprice = 0;
my $totalquantity = 0;
my $total;
my $total_gste = 0;
my $total_gsti = 0;
-for my $item ( @parcelitems ) {
- $item->{unitprice} = get_value_with_gst_params( $item->{unitprice}, $item->{gstrate}, $bookseller );
- $total = ( $item->{'unitprice'} ) * $item->{'quantityreceived'};
- $item->{'unitprice'} += 0;
- my %line = %{ $item };
+for my $order ( @orders ) {
+ $order->{unitprice} = get_value_with_gst_params( $order->{unitprice}, $order->{gstrate}, $bookseller );
+ $total = ( $order->{unitprice} ) * $order->{quantityreceived};
+ $order->{'unitprice'} += 0;
+ my %line = %{ $order };
my $ecost = get_value_with_gst_params( $line{ecost}, $line{gstrate}, $bookseller );
$line{ecost} = sprintf( "%.2f", $ecost );
$line{invoice} = $invoice->{invoicenumber};
$line{total} = sprintf($cfstr, $total);
$line{booksellerid} = $invoice->{booksellerid};
- my ($count) = &GetReservesFromBiblionumber($line{biblionumber},undef,$item->{itemnumber});
- $line{holds} = $count;
+ $line{holds} = 0;
+ my @itemnumbers = GetItemnumbersFromOrder( $order->{ordernumber} );
+ for my $itemnumber ( @itemnumbers ) {
+ my ( $count ) = &GetReservesFromBiblionumber($line{biblionumber}, undef, $itemnumber);
+ $line{holds} += $count;
+ }
$line{budget} = GetBudgetByOrderNumber( $line{ordernumber} );
- $totalprice += $item->{'unitprice'};
- $line{unitprice} = sprintf( $cfstr, $item->{'unitprice'} );
+ $totalprice += $order->{unitprice};
+ $line{unitprice} = sprintf( $cfstr, $order->{unitprice} );
my $gste = get_gste( $line{total}, $line{gstrate}, $bookseller );
my $gst = get_gst( $line{total}, $line{gstrate}, $bookseller );
$foot{$line{gstrate}}{gstrate} = $line{gstrate};
if ( $line{parent_ordernumber} != $line{ordernumber} ) {
if ( grep { $_->{ordernumber} == $line{parent_ordernumber} }
- @parcelitems
+ @orders
)
{
$line{cannot_cancel} = 1;
$line{budget_name} = $budget->{'budget_name'};
push @loop_received, \%line;
- $totalquantity += $item->{'quantityreceived'};
+ $totalquantity += $order->{quantityreceived};
}
push @book_foot_loop, map { $_ } values %foot;
<tr>
<td>[% loop_receive.basketname %] (<a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_receive.basketno %]">[% loop_receive.basketno %]</a>)</td>
<td><a href="neworderempty.pl?ordernumber=[% loop_receive.ordernumber %]&booksellerid=[% booksellerid %]">[% loop_receive.ordernumber %]</a></td>
- <td>[% IF loop_receive.holds %]<span class="error"><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.holds %]</a></span>[% END %]</td>
+ <td>
+ [% IF loop_receive.holds > 0 %]
+ <span class="error"><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.holds %]</a></span>
+ [% ELSE %]
+ 0
+ [% END %]
+ </td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.title |html %]</a>
[% IF ( loop_receive.author ) %] / [% loop_receive.author %][% END %]
[% IF ( loop_receive.isbn ) %] - [% loop_receive.isbn %][% END %]