Update to catalogue to allow change of biblio abstracts.
[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 CGI;
9 use C4::Search;
10
11 my $input=new CGI;
12 #print $input->header;
13
14 my $user=$input->remote_user;
15 #print $input->dump;
16 my $biblionumber = $input->param('biblio');
17 my $ordnum=$input->param('ordnum');
18 my $quantrec=$input->param('quantityrec');
19 my $quantity=$input->param('quantity');
20 my $notes=$input->param('notes');
21 my $cost=$input->param('cost');
22 my $invoiceno=$input->param('invoice');
23 my $bibitemno=$input->param('biblioitemnum');
24 my $data=bibitemdata($bibitemno);
25 my $publisher=$data->{'publishercode'};
26 my $pubdate=$data->{'publicationdate'};
27 my $class=$data->{'classification'};
28 my $dewey=$data->{'dewey'};
29 my $subclass=$data->{'subclass'};
30
31 my $size=$data->{'size'};
32 my $illus=$data->{'illus'};
33 my $pages=$data->{'pages'};
34 my $replacement=$input->param('rrp');
35 my $branch=$input->param('branch');
36 my $bookfund=$input->param('bookfund');
37 my $itemtype=$input->param('format');
38 my $isbn=$input->param('ISBN');
39 my $bookseller = $input->param('bookseller');
40 my $id         = $bookseller;
41 my $biblio = {
42     biblionumber  => $biblionumber,
43     title         => $input->param('title')?$input->param('title'):"",
44     author        => $input->param('author')?$input->param('author'):"",
45     copyrightdate => $input->param('copyright')?$input->param('copyright'):"",
46     series        => $input->param('Series')?$input->param('Series'):""
47 }; # my $biblio
48
49 if ($quantrec != 0){
50   $cost=$cost / $quantrec;
51 }
52
53 my $gst=$input->param('gst');
54 my $freight=$input->param('freight');
55 my $volinf=$input->param('volinf');
56 my $loan=0;
57 if ($itemtype =~ /REF/){
58   $loan=1;
59 }
60
61 if ($itemtype =~ /PER/){
62 #  print "$bibitemno";
63   $class="Periodical";
64   $bibitemno=newbiblioitem($biblionumber,$itemtype,$isbn,$volinf,$class);
65 #  print "here $bibitemno";
66 }
67 if ($quantity != 0){
68   receiveorder($biblionumber,$ordnum,$quantrec,$user,$cost,$invoiceno,$bibitemno,$freight,$bookfund);
69   modbiblio($biblio);
70   modbibitem($bibitemno,$itemtype,$isbn,$publisher,$pubdate,$class,$dewey,$subclass,$illus,$pages,$volinf,$notes,$size);
71   #print $notes;
72   my $barcode=$input->param('barcode');
73   my @barcodes;
74   if ($barcode =~ /\,/){
75     @barcodes=split(/\,/,$barcode);
76   }elsif ($barcode =~ /\|/){
77     @barcodes=split(/\|/,$barcode);
78   } else {
79     $barcodes[0]=$barcode;
80   #  print $input->header;
81   #  print @barcodes;
82   #  print $barcode;
83   }
84   my ($error) = newitems({ biblioitemnumber => $bibitemno,
85                            biblionumber     => $biblionumber,
86                            replacementprice => $replacement,
87                            price            => $cost,
88                            booksellerid     => $bookseller,
89                            homebranch       => $branch,
90                            loan             => $loan },
91                          @barcodes);
92   if ($error eq ''){
93     if ($itemtype ne 'PER'){
94       print $input->redirect("/cgi-bin/koha/acqui/receive.pl?invoice=$invoiceno&id=$id&freight=$freight&gst=$gst");
95     } else {
96       print $input->redirect("/acquisitions/");
97     }
98   } else {
99     print $input->header;
100     print $error;
101   }
102 } else {
103   print $input->header;
104   delorder($biblionumber,$ordnum);
105        print $input->redirect("/acquisitions/");
106 }