Split biblio functions in Acquisitions.pm out to new Biblio.pm
[koha.git] / acqui / finishreceive.pl
1 #!/usr/bin/perl
2
3 #script to add a new item and to mark orders as received
4 #written 1/3/00 by chris@katipo.co.nz
5
6 use C4::Output;
7 use C4::Acquisitions;
8 use C4::Biblio;
9 use CGI;
10 use C4::Search;
11
12 my $input=new CGI;
13 #print $input->header;
14
15 my $user=$input->remote_user;
16 #print $input->dump;
17 my $biblio=$input->param('biblio');
18 my $ordnum=$input->param('ordnum');
19 my $quantrec=$input->param('quantityrec');
20 my $quantity=$input->param('quantity');
21 my $notes=$input->param('notes');
22 my $cost=$input->param('cost');
23 my $invoiceno=$input->param('invoice');
24 my $id=$input->param('id');
25 my $bibitemno=$input->param('biblioitemnum');
26 my $data=bibitemdata($bibitemno);
27 my $publisher=$data->{'publishercode'};
28 my $pubdate=$data->{'publicationdate'};
29 my $class=$data->{'classification'};
30 my $dewey=$data->{'dewey'};
31 my $subclass=$data->{'subclass'};
32
33 my $size=$data->{'size'};
34 my $illus=$data->{'illus'};
35 my $pages=$data->{'pages'};
36 my $replacement=$input->param('rrp');
37 my $branch=$input->param('branch');
38 my $bookfund=$input->param('bookfund');
39 my $itemtype=$input->param('format');
40 my $isbn=$input->param('ISBN');
41 my $series=$input->param('Series');
42 my $bookseller=$input->param('bookseller');
43 $id=$bookseller;
44 my $title=$input->param('title');
45 my $author=$input->param('author');
46 my $copyright=$input->param('copyright');
47
48 if ($quantrec != 0){
49   $cost=$cost / $quantrec;
50 }
51
52 my $gst=$input->param('gst');
53 my $freight=$input->param('freight');
54 my $volinf=$input->param('volinf');
55 my $loan=0;
56 if ($itemtype =~ /REF/){
57   $loan=1;
58 }
59
60 if ($itemtype =~ /PER/){
61 #  print "$bibitemno";
62   $class="Periodical";
63   $bibitemno=newbiblioitem($biblio,$itemtype,$isbn,$volinf,$class);
64 #  print "here $bibitemno";
65 }
66 if ($quantity != 0){
67   receiveorder($biblio,$ordnum,$quantrec,$user,$cost,$invoiceno,$bibitemno,$freight,$bookfund);
68   modbiblio($biblio,$title,$author,$copyright,$series);
69   modbibitem($bibitemno,$itemtype,$isbn,$publisher,$pubdate,$class,$dewey,$subclass,$illus,$pages,$volinf,$notes,$size);
70   #print $notes;
71   my $barcode=$input->param('barcode');
72   my @barcodes;
73   if ($barcode =~ /\,/){
74     @barcodes=split(/\,/,$barcode);
75   }elsif ($barcode =~ /\|/){
76     @barcodes=split(/\|/,$barcode);
77   } else {
78     $barcodes[0]=$barcode;
79   #  print $input->header;
80   #  print @barcodes;
81   #  print $barcode;
82   }
83   my ($error)=makeitems($quantrec,$bibitemno,$biblio,$replacement,$cost,$bookseller,$branch,$loan,@barcodes);
84   if ($error eq ''){
85     if ($itemtype ne 'PER'){
86       print $input->redirect("/cgi-bin/koha/acqui/receive.pl?invoice=$invoiceno&id=$id&freight=$freight&gst=$gst");
87     } else {
88       print $input->redirect("/acquisitions/");
89     }
90   } else {
91     print $input->header;
92     print $error;
93   }
94 } else {
95   print $input->header;
96   delorder($biblio,$ordnum);
97        print $input->redirect("/acquisitions/");
98 }