| Lines 38-45
          It permit to write a new order as 'received'.
      
      
        Link Here | 
        
          | 38 |  | 38 |  | 
        
          | 39 | to know on what supplier this script has to display receive order. | 39 | to know on what supplier this script has to display receive order. | 
        
          | 40 |  | 40 |  | 
            
              | 41 | =item receive |  |  | 
            
              | 42 |  | 
        
          | 43 | =item invoiceid | 41 | =item invoiceid | 
        
          | 44 |  | 42 |  | 
        
          | 45 | the id of this invoice. | 43 | the id of this invoice. | 
  
    | Lines 88-99
          my $booksellerid   = $invoice->{booksellerid};
      
      
        Link Here | 
        
          | 88 | my $freight      = $invoice->{shipmentcost}; | 86 | my $freight      = $invoice->{shipmentcost}; | 
        
          | 89 | my $datereceived = $invoice->{shipmentdate}; | 87 | my $datereceived = $invoice->{shipmentdate}; | 
        
          | 90 | my $ordernumber  = $input->param('ordernumber'); | 88 | my $ordernumber  = $input->param('ordernumber'); | 
            
              | 91 | my $search       = $input->param('receive'); |  |  | 
        
          | 92 |  | 89 |  | 
        
          | 93 | $datereceived = $datereceived ? C4::Dates->new($datereceived, 'iso') : C4::Dates->new(); | 90 | $datereceived = $datereceived ? C4::Dates->new($datereceived, 'iso') : C4::Dates->new(); | 
        
          | 94 |  | 91 |  | 
        
          | 95 | my $bookseller = GetBookSellerFromId($booksellerid); | 92 | my $bookseller = GetBookSellerFromId($booksellerid); | 
          
            
              | 96 | my $results = SearchOrder($ordernumber,$search); | 93 | my $results; | 
            
              |  |  | 94 | $results = SearchOrder($ordernumber) if $ordernumber; | 
        
          | 97 |  | 95 |  | 
        
          | 98 | my ( $template, $loggedinuser, $cookie ) = get_template_and_user( | 96 | my ( $template, $loggedinuser, $cookie ) = get_template_and_user( | 
        
          | 99 |     { | 97 |     { | 
  
    | Lines 106-253
          my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
      
      
        Link Here | 
        
          | 106 |     } | 104 |     } | 
        
          | 107 | ); | 105 | ); | 
        
          | 108 |  | 106 |  | 
          
            
              | 109 | my $count = scalar @$results; | 107 | unless ( $results and @$results) { | 
            
              |  |  | 108 |     output_html_with_http_headers $input, $cookie, $template->output; | 
            
              | 109 |     exit; | 
            
              | 110 | } | 
            
              | 111 |  | 
        
          | 110 | # prepare the form for receiving | 112 | # prepare the form for receiving | 
          
            
              | 111 | if ( $count == 1 ) { | 113 | my $order = $results->[0]; | 
            
              | 112 |     my $order = $results->[0]; |  |  | 
        
          | 113 |  | 114 |  | 
          
            
              | 114 |     # Check if ACQ framework exists | 115 | # Check if ACQ framework exists | 
            
              | 115 |     my $acq_fw = GetMarcStructure(1, 'ACQ'); | 116 | my $acq_fw = GetMarcStructure(1, 'ACQ'); | 
            
              | 116 |     unless($acq_fw) { | 117 | unless($acq_fw) { | 
            
              | 117 |         $template->param('NoACQframework' => 1); | 118 |     $template->param('NoACQframework' => 1); | 
            
              | 118 |     } | 119 | } | 
        
          | 119 |  | 120 |  | 
          
            
              | 120 |     my $AcqCreateItem = C4::Context->preference('AcqCreateItem'); | 121 | my $AcqCreateItem = C4::Context->preference('AcqCreateItem'); | 
            
              | 121 |     if ($AcqCreateItem eq 'receiving') { | 122 | if ($AcqCreateItem eq 'receiving') { | 
            
              | 122 |         $template->param( | 123 |     $template->param( | 
            
              | 123 |             AcqCreateItemReceiving => 1, | 124 |         AcqCreateItemReceiving => 1, | 
            
              | 124 |             UniqueItemFields => C4::Context->preference('UniqueItemFields'), | 125 |         UniqueItemFields => C4::Context->preference('UniqueItemFields'), | 
            
              | 125 |         ); | 126 |     ); | 
            
              | 126 |     } elsif ($AcqCreateItem eq 'ordering') { | 127 | } elsif ($AcqCreateItem eq 'ordering') { | 
            
              | 127 |         my $fw = ($acq_fw) ? 'ACQ' : ''; | 128 |     my $fw = ($acq_fw) ? 'ACQ' : ''; | 
            
              | 128 |         my @itemnumbers = GetItemnumbersFromOrder($order->{ordernumber}); | 129 |     my @itemnumbers = GetItemnumbersFromOrder($order->{ordernumber}); | 
            
              | 129 |         my @items; | 130 |     my @items; | 
            
              | 130 |         foreach (@itemnumbers) { | 131 |     foreach (@itemnumbers) { | 
            
              | 131 |             my $item = GetItem($_); | 132 |         my $item = GetItem($_); | 
            
              | 132 |             if($item->{homebranch}) { | 133 |         if($item->{homebranch}) { | 
            
              | 133 |                 $item->{homebranchname} = GetBranchName($item->{homebranch}); | 134 |             $item->{homebranchname} = GetBranchName($item->{homebranch}); | 
            
              | 134 |             } |  |  | 
            
              | 135 |             if($item->{holdingbranch}) { | 
            
              | 136 |                 $item->{holdingbranchname} = GetBranchName($item->{holdingbranch}); | 
            
              | 137 |             } | 
            
              | 138 |             if(my $code = GetAuthValCode("items.notforloan", $fw)) { | 
            
              | 139 |                 $item->{notforloan} = GetKohaAuthorisedValueLib($code, $item->{notforloan}); | 
            
              | 140 |             } | 
            
              | 141 |             if(my $code = GetAuthValCode("items.restricted", $fw)) { | 
            
              | 142 |                 $item->{restricted} = GetKohaAuthorisedValueLib($code, $item->{restricted}); | 
            
              | 143 |             } | 
            
              | 144 |             if(my $code = GetAuthValCode("items.location", $fw)) { | 
            
              | 145 |                 $item->{location} = GetKohaAuthorisedValueLib($code, $item->{location}); | 
            
              | 146 |             } | 
            
              | 147 |             if(my $code = GetAuthValCode("items.ccode", $fw)) { | 
            
              | 148 |                 $item->{collection} = GetKohaAuthorisedValueLib($code, $item->{ccode}); | 
            
              | 149 |             } | 
            
              | 150 |             if(my $code = GetAuthValCode("items.materials", $fw)) { | 
            
              | 151 |                 $item->{materials} = GetKohaAuthorisedValueLib($code, $item->{materials}); | 
            
              | 152 |             } | 
            
              | 153 |             my $itemtype = getitemtypeinfo($item->{itype}); | 
            
              | 154 |             $item->{itemtype} = $itemtype->{description}; | 
            
              | 155 |             push @items, $item; | 
        
          | 156 |         } | 135 |         } | 
          
            
              | 157 |         $template->param(items => \@items); | 136 |         if($item->{holdingbranch}) { | 
            
              | 158 |     } | 137 |             $item->{holdingbranchname} = GetBranchName($item->{holdingbranch}); | 
            
              | 159 |  |  |  | 
            
              | 160 |     $order->{quantityreceived} = '' if $order->{quantityreceived} == 0; | 
            
              | 161 |     $order->{unitprice} = '' if $order->{unitprice} == 0; | 
            
              | 162 |  | 
            
              | 163 |     my $rrp; | 
            
              | 164 |     my $ecost; | 
            
              | 165 |     my $unitprice; | 
            
              | 166 |     if ( $bookseller->{listincgst} ) { | 
            
              | 167 |         if ( $bookseller->{invoiceincgst} ) { | 
            
              | 168 |             $rrp = $order->{rrp}; | 
            
              | 169 |             $ecost = $order->{ecost}; | 
            
              | 170 |             $unitprice = $order->{unitprice}; | 
            
              | 171 |         } else { | 
            
              | 172 |             $rrp = $order->{rrp} / ( 1 + $order->{gstrate} ); | 
            
              | 173 |             $ecost = $order->{ecost} / ( 1 + $order->{gstrate} ); | 
            
              | 174 |             $unitprice = $order->{unitprice} / ( 1 + $order->{gstrate} ); | 
        
          | 175 |         } | 138 |         } | 
          
            
              | 176 |     } else { | 139 |         if(my $code = GetAuthValCode("items.notforloan", $fw)) { | 
            
              | 177 |         if ( $bookseller->{invoiceincgst} ) { | 140 |             $item->{notforloan} = GetKohaAuthorisedValueLib($code, $item->{notforloan}); | 
            
              | 178 |             $rrp = $order->{rrp} * ( 1 + $order->{gstrate} ); |  |  | 
            
              | 179 |             $ecost = $order->{ecost} * ( 1 + $order->{gstrate} ); | 
            
              | 180 |             $unitprice = $order->{unitprice} * ( 1 + $order->{gstrate} ); | 
            
              | 181 |         } else { | 
            
              | 182 |             $rrp = $order->{rrp}; | 
            
              | 183 |             $ecost = $order->{ecost}; | 
            
              | 184 |             $unitprice = $order->{unitprice}; | 
        
          | 185 |         } | 141 |         } | 
          
            
              | 186 |      } | 142 |         if(my $code = GetAuthValCode("items.restricted", $fw)) { | 
            
              | 187 |  | 143 |             $item->{restricted} = GetKohaAuthorisedValueLib($code, $item->{restricted}); | 
            
              | 188 |     my $suggestion = GetSuggestionInfoFromBiblionumber($order->{biblionumber}); | 144 |         } | 
            
              | 189 |  | 145 |         if(my $code = GetAuthValCode("items.location", $fw)) { | 
            
              | 190 |     my $authorisedby = $order->{authorisedby}; | 146 |             $item->{location} = GetKohaAuthorisedValueLib($code, $item->{location}); | 
            
              | 191 |     my $member = GetMember( borrowernumber => $authorisedby ); | 147 |         } | 
            
              | 192 |  | 148 |         if(my $code = GetAuthValCode("items.ccode", $fw)) { | 
            
              | 193 |     my $budget = GetBudget( $order->{budget_id} ); | 149 |             $item->{collection} = GetKohaAuthorisedValueLib($code, $item->{ccode}); | 
            
              | 194 |  | 150 |         } | 
            
              | 195 |     $template->param( | 151 |         if(my $code = GetAuthValCode("items.materials", $fw)) { | 
            
              | 196 |         AcqCreateItem         => $AcqCreateItem, | 152 |             $item->{materials} = GetKohaAuthorisedValueLib($code, $item->{materials}); | 
            
              | 197 |         count                 => 1, | 153 |         } | 
            
              | 198 |         biblionumber          => $order->{'biblionumber'}, | 154 |         my $itemtype = getitemtypeinfo($item->{itype}); | 
            
              | 199 |         ordernumber           => $order->{'ordernumber'}, | 155 |         $item->{itemtype} = $itemtype->{description}; | 
            
              | 200 |         biblioitemnumber      => $order->{'biblioitemnumber'}, | 156 |         push @items, $item; | 
            
              | 201 |         booksellerid          => $order->{'booksellerid'}, | 157 |     } | 
            
              | 202 |         freight               => $freight, | 158 |     $template->param(items => \@items); | 
            
              | 203 |         gstrate               => $order->{gstrate} || $bookseller->{gstrate} || C4::Context->preference("gist") || 0, |  |  | 
            
              | 204 |         name                  => $bookseller->{'name'}, | 
            
              | 205 |         date                  => format_date($order->{entrydate}), | 
            
              | 206 |         title                 => $order->{'title'}, | 
            
              | 207 |         author                => $order->{'author'}, | 
            
              | 208 |         copyrightdate         => $order->{'copyrightdate'}, | 
            
              | 209 |         isbn                  => $order->{'isbn'}, | 
            
              | 210 |         seriestitle           => $order->{'seriestitle'}, | 
            
              | 211 |         bookfund              => $budget->{budget_name}, | 
            
              | 212 |         quantity              => $order->{'quantity'}, | 
            
              | 213 |         quantityreceivedplus1 => $order->{'quantityreceived'} + 1, | 
            
              | 214 |         quantityreceived      => $order->{'quantityreceived'}, | 
            
              | 215 |         rrp                   => sprintf( "%.2f", $rrp ), | 
            
              | 216 |         ecost                 => sprintf( "%.2f", $ecost ), | 
            
              | 217 |         unitprice             => sprintf( "%.2f", $unitprice), | 
            
              | 218 |         memberfirstname       => $member->{firstname} || "", | 
            
              | 219 |         membersurname         => $member->{surname} || "", | 
            
              | 220 |         invoiceid             => $invoice->{invoiceid}, | 
            
              | 221 |         invoice               => $invoice->{invoicenumber}, | 
            
              | 222 |         datereceived          => $datereceived->output(), | 
            
              | 223 |         datereceived_iso      => $datereceived->output('iso'), | 
            
              | 224 |         notes                 => $order->{notes}, | 
            
              | 225 |         suggestionid          => $suggestion->{suggestionid}, | 
            
              | 226 |         surnamesuggestedby    => $suggestion->{surnamesuggestedby}, | 
            
              | 227 |         firstnamesuggestedby  => $suggestion->{firstnamesuggestedby}, | 
            
              | 228 |     ); | 
        
          | 229 | } | 159 | } | 
          
            
              | 230 | else { | 160 |  | 
            
              | 231 |     my @loop; | 161 | $order->{quantityreceived} = '' if $order->{quantityreceived} == 0; | 
            
              | 232 |     for ( my $i = 0 ; $i < $count ; $i++ ) { | 162 | $order->{unitprice} = '' if $order->{unitprice} == 0; | 
            
              | 233 |         my %line = %{ @$results[$i] }; | 163 |  | 
            
              | 234 |  | 164 | my $rrp; | 
            
              | 235 |         $line{invoice}      = $invoice->{invoicenumber}; | 165 | my $ecost; | 
            
              | 236 |         $line{datereceived} = $datereceived->output(); | 166 | my $unitprice; | 
            
              | 237 |         $line{freight}      = $freight; | 167 | if ( $bookseller->{listincgst} ) { | 
            
              | 238 |         $line{gstrate}      = @$results[$i]->{'gstrate'} || $bookseller->{gstrate} || C4::Context->preference("gist") || 0; | 168 |     if ( $bookseller->{invoiceincgst} ) { | 
            
              | 239 |         $line{title}        = @$results[$i]->{'title'}; | 169 |         $rrp = $order->{rrp}; | 
            
              | 240 |         $line{author}       = @$results[$i]->{'author'}; | 170 |         $ecost = $order->{ecost}; | 
            
              | 241 |         $line{booksellerid} = $booksellerid; | 171 |         $unitprice = $order->{unitprice}; | 
            
              | 242 |         push @loop, \%line; | 172 |     } else { | 
            
              |  |  | 173 |         $rrp = $order->{rrp} / ( 1 + $order->{gstrate} ); | 
            
              | 174 |         $ecost = $order->{ecost} / ( 1 + $order->{gstrate} ); | 
            
              | 175 |         $unitprice = $order->{unitprice} / ( 1 + $order->{gstrate} ); | 
            
              | 176 |     } | 
            
              | 177 | } else { | 
            
              | 178 |     if ( $bookseller->{invoiceincgst} ) { | 
            
              | 179 |         $rrp = $order->{rrp} * ( 1 + $order->{gstrate} ); | 
            
              | 180 |         $ecost = $order->{ecost} * ( 1 + $order->{gstrate} ); | 
            
              | 181 |         $unitprice = $order->{unitprice} * ( 1 + $order->{gstrate} ); | 
            
              | 182 |     } else { | 
            
              | 183 |         $rrp = $order->{rrp}; | 
            
              | 184 |         $ecost = $order->{ecost}; | 
            
              | 185 |         $unitprice = $order->{unitprice}; | 
        
          | 243 |     } | 186 |     } | 
            
              |  |  | 187 |  } | 
            
              | 188 |  | 
            
              | 189 | my $suggestion = GetSuggestionInfoFromBiblionumber($order->{biblionumber}); | 
            
              | 190 |  | 
            
              | 191 | my $authorisedby = $order->{authorisedby}; | 
            
              | 192 | my $member = GetMember( borrowernumber => $authorisedby ); | 
            
              | 193 |  | 
            
              | 194 | my $budget = GetBudget( $order->{budget_id} ); | 
            
              | 195 |  | 
            
              | 196 | $template->param( | 
            
              | 197 |     AcqCreateItem         => $AcqCreateItem, | 
            
              | 198 |     count                 => 1, | 
            
              | 199 |     biblionumber          => $order->{'biblionumber'}, | 
            
              | 200 |     ordernumber           => $order->{'ordernumber'}, | 
            
              | 201 |     biblioitemnumber      => $order->{'biblioitemnumber'}, | 
            
              | 202 |     booksellerid          => $order->{'booksellerid'}, | 
            
              | 203 |     freight               => $freight, | 
            
              | 204 |     name                  => $bookseller->{'name'}, | 
            
              | 205 |     date                  => format_date($order->{entrydate}), | 
            
              | 206 |     title                 => $order->{'title'}, | 
            
              | 207 |     author                => $order->{'author'}, | 
            
              | 208 |     copyrightdate         => $order->{'copyrightdate'}, | 
            
              | 209 |     isbn                  => $order->{'isbn'}, | 
            
              | 210 |     seriestitle           => $order->{'seriestitle'}, | 
            
              | 211 |     bookfund              => $budget->{budget_name}, | 
            
              | 212 |     quantity              => $order->{'quantity'}, | 
            
              | 213 |     quantityreceivedplus1 => $order->{'quantityreceived'} + 1, | 
            
              | 214 |     quantityreceived      => $order->{'quantityreceived'}, | 
            
              | 215 |     rrp                   => sprintf( "%.2f", $rrp ), | 
            
              | 216 |     ecost                 => sprintf( "%.2f", $ecost ), | 
            
              | 217 |     unitprice             => sprintf( "%.2f", $unitprice), | 
            
              | 218 |     memberfirstname       => $member->{firstname} || "", | 
            
              | 219 |     membersurname         => $member->{surname} || "", | 
            
              | 220 |     invoiceid             => $invoice->{invoiceid}, | 
            
              | 221 |     invoice               => $invoice->{invoicenumber}, | 
            
              | 222 |     datereceived          => $datereceived->output(), | 
            
              | 223 |     datereceived_iso      => $datereceived->output('iso'), | 
            
              | 224 |     notes                 => $order->{notes}, | 
            
              | 225 |     suggestionid          => $suggestion->{suggestionid}, | 
            
              | 226 |     surnamesuggestedby    => $suggestion->{surnamesuggestedby}, | 
            
              | 227 |     firstnamesuggestedby  => $suggestion->{firstnamesuggestedby}, | 
            
              | 228 | ); | 
        
          | 244 |  | 229 |  | 
            
              | 245 |     $template->param( |  |  | 
            
              | 246 |         loop         => \@loop, | 
            
              | 247 |         booksellerid => $booksellerid, | 
            
              | 248 |         invoiceid    => $invoice->{invoiceid}, | 
            
              | 249 |     ); | 
            
              | 250 | } | 
        
          | 251 | my $op = $input->param('op'); | 230 | my $op = $input->param('op'); | 
        
          | 252 | if ($op and $op eq 'edit'){ | 231 | if ($op and $op eq 'edit'){ | 
        
          | 253 |     $template->param(edit   =>   1); | 232 |     $template->param(edit   =>   1); |