X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=acqui%2Forderreceive.pl;h=17c2d5ea732d6a8a30c71431485b6cf3955abff0;hb=ea1aa7a0d906d583375618e37be60e9f0d62d939;hp=85168d56d9121caf14d488a23e3ac5768a5b8ab6;hpb=5432bd488f2cd842f4fece93c42423a3fc26143b;p=koha.git diff --git a/acqui/orderreceive.pl b/acqui/orderreceive.pl index 85168d56d9..17c2d5ea73 100755 --- a/acqui/orderreceive.pl +++ b/acqui/orderreceive.pl @@ -40,9 +40,9 @@ to know on what supplier this script has to display receive order. =item receive -=item invoice +=item invoiceid -the number of this invoice. +the id of this invoice. =item freight @@ -82,19 +82,17 @@ use C4::Suggestions; my $input = new CGI; my $dbh = C4::Context->dbh; -my $booksellerid = $input->param('booksellerid'); +my $invoiceid = $input->param('invoiceid'); +my $invoice = GetInvoice($invoiceid); +my $booksellerid = $invoice->{booksellerid}; +my $freight = $invoice->{shipmentcost}; +my $datereceived = $invoice->{shipmentdate}; my $ordernumber = $input->param('ordernumber'); my $search = $input->param('receive'); -my $invoice = $input->param('invoice'); -my $freight = $input->param('freight'); -my $datereceived = $input->param('datereceived'); - $datereceived = $datereceived ? C4::Dates->new($datereceived, 'iso') : C4::Dates->new(); my $bookseller = GetBookSellerFromId($booksellerid); -my $input_gst = ($input->param('gst') eq '' ? undef : $input->param('gst')); -my $gst= $input_gst // $bookseller->{gstrate} // C4::Context->preference("gist") // 0; my $results = SearchOrder($ordernumber,$search); my ( $template, $loggedinuser, $cookie ) = get_template_and_user( @@ -159,16 +157,40 @@ if ( $count == 1 ) { $template->param(items => \@items); } - if ( $order->{'unitprice'} == 0 ) { - $order->{'unitprice'} = ''; - } + $order->{quantityreceived} = '' if $order->{quantityreceived} == 0; + $order->{unitprice} = '' if $order->{unitprice} == 0; + + my $rrp; + my $ecost; + my $unitprice; + if ( $bookseller->{listincgst} ) { + if ( $bookseller->{invoiceincgst} ) { + $rrp = $order->{rrp}; + $ecost = $order->{ecost}; + $unitprice = $order->{unitprice}; + } else { + $rrp = $order->{rrp} / ( 1 + $order->{gstrate} ); + $ecost = $order->{ecost} / ( 1 + $order->{gstrate} ); + $unitprice = $order->{unitprice} / ( 1 + $order->{gstrate} ); + } + } else { + if ( $bookseller->{invoiceincgst} ) { + $rrp = $order->{rrp} * ( 1 + $order->{gstrate} ); + $ecost = $order->{ecost} * ( 1 + $order->{gstrate} ); + $unitprice = $order->{unitprice} * ( 1 + $order->{gstrate} ); + } else { + $rrp = $order->{rrp}; + $ecost = $order->{ecost}; + $unitprice = $order->{unitprice}; + } + } - my $suggestion = GetSuggestionInfoFromBiblionumber($order->{'biblionumber'}); + my $suggestion = GetSuggestionInfoFromBiblionumber($order->{biblionumber}); - my $authorisedby = $order->{'authorisedby'}; + my $authorisedby = $order->{authorisedby}; my $member = GetMember( borrowernumber => $authorisedby ); - my $budget = GetBudget( $order->{'budget_id'} ); + my $budget = GetBudget( $order->{budget_id} ); $template->param( AcqCreateItem => $AcqCreateItem, @@ -178,7 +200,7 @@ if ( $count == 1 ) { biblioitemnumber => $order->{'biblioitemnumber'}, booksellerid => $order->{'booksellerid'}, freight => $freight, - gst => $gst, + gstrate => $order->{gstrate} || $bookseller->{gstrate} || C4::Context->preference("gist") || 0, name => $bookseller->{'name'}, date => format_date($order->{entrydate}), title => $order->{'title'}, @@ -190,12 +212,13 @@ if ( $count == 1 ) { quantity => $order->{'quantity'}, quantityreceivedplus1 => $order->{'quantityreceived'} + 1, quantityreceived => $order->{'quantityreceived'}, - rrp => $order->{'rrp'}, - ecost => sprintf( "%.2f",$order->{'ecost'}), - unitprice => sprintf( "%.2f",$order->{'unitprice'}), + rrp => sprintf( "%.2f", $rrp ), + ecost => sprintf( "%.2f", $ecost ), + unitprice => sprintf( "%.2f", $unitprice), memberfirstname => $member->{firstname} || "", membersurname => $member->{surname} || "", - invoice => $invoice, + invoiceid => $invoice->{invoiceid}, + invoice => $invoice->{invoicenumber}, datereceived => $datereceived->output(), datereceived_iso => $datereceived->output('iso'), notes => $order->{notes}, @@ -209,19 +232,20 @@ else { for ( my $i = 0 ; $i < $count ; $i++ ) { my %line = %{ @$results[$i] }; - $line{invoice} = $invoice; + $line{invoice} = $invoice->{invoicenumber}; $line{datereceived} = $datereceived->output(); $line{freight} = $freight; - $line{gst} = $gst; + $line{gstrate} = @$results[$i]->{'gstrate'} || $bookseller->{gstrate} || C4::Context->preference("gist") || 0; $line{title} = @$results[$i]->{'title'}; $line{author} = @$results[$i]->{'author'}; - $line{booksellerid} = $booksellerid; + $line{booksellerid} = $booksellerid; push @loop, \%line; } $template->param( loop => \@loop, - booksellerid => $booksellerid, + booksellerid => $booksellerid, + invoiceid => $invoice->{invoiceid}, ); } my $op = $input->param('op');