Long is the road to MARC..
[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::Catalogue;
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 $biblionumber = $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 $bibitemno=$input->param('biblioitemnum');
25 my $data=bibitemdata($bibitemno);
26 my $publisher=$data->{'publishercode'};
27 my $pubdate=$data->{'publicationdate'};
28 my $class=$data->{'classification'};
29 my $dewey=$data->{'dewey'};
30 my $subclass=$data->{'subclass'};
31
32 my $size=$data->{'size'};
33 my $illus=$data->{'illus'};
34 my $pages=$data->{'pages'};
35 my $replacement=$input->param('rrp');
36 my $branch=$input->param('branch');
37 my $bookfund=$input->param('bookfund');
38 my $itemtype=$input->param('format');
39 my $isbn=$input->param('ISBN');
40 my $bookseller = $input->param('bookseller');
41 my $id         = $bookseller;
42 my $biblio = {
43     biblionumber  => $biblionumber,
44     title         => $input->param('title')?$input->param('title'):"",
45     author        => $input->param('author')?$input->param('author'):"",
46     copyrightdate => $input->param('copyright')?$input->param('copyright'):"",
47     series        => $input->param('Series')?$input->param('Series'):""
48 }; # my $biblio
49
50 if ($quantrec != 0){
51   $cost=$cost / $quantrec;
52 }
53
54 my $gst=$input->param('gst');
55 my $freight=$input->param('freight');
56 my $volinf=$input->param('volinf');
57 my $loan=0;
58 if ($itemtype =~ /REF/){
59   $loan=1;
60 }
61
62 if ($itemtype =~ /PER/){
63 #  print "$bibitemno";
64   $class="Periodical";
65   $bibitemno = &newbiblioitem({
66       biblionumber   => $biblionumber,
67       itemtype       => $itemtype?$itemtype:"",
68       isbn           => $isbn?$isbn:"",
69       volumeddesc    => $volinf?$volinf:"",
70       classification => $class?$class:"" });
71 #  print "here $bibitemno";
72 }
73 if ($quantity != 0){
74   receiveorder($biblionumber,$ordnum,$quantrec,$user,$cost,$invoiceno,$bibitemno,$freight,$bookfund);
75   modbiblio($biblio);
76   &modbibitem({
77       biblioitemnumber => $bibitemno,
78       itemtype         => $itemtype?$itemtype:"",
79       isbn             => $isbn?$isbn:"",
80       publisher        => $publisher?$publisher:"",
81       publicationyear  => $pubdate?$pubdate:"",
82       class            => $class?$class:"",
83       dewey            => $dewey?$dewey:"",
84       subclass         => $subclass?$subclass:"",
85       illus            => $illus?$illus:"",
86       pages            => $pages?$pages:"",
87       volumeddesc      => $volinf?$volinf:"",
88       notes            => $notes?$notes:"",
89       size             => $size?$size:"" });
90
91   my $barcode=$input->param('barcode');
92   my @barcodes;
93   if ($barcode =~ /\,/){
94     @barcodes=split(/\,/,$barcode);
95   }elsif ($barcode =~ /\|/){
96     @barcodes=split(/\|/,$barcode);
97   } else {
98     $barcodes[0]=$barcode;
99   #  print $input->header;
100   #  print @barcodes;
101   #  print $barcode;
102   }
103   my ($error) = newitems({ biblioitemnumber => $bibitemno,
104                            biblionumber     => $biblionumber,
105                            replacementprice => $replacement,
106                            price            => $cost,
107                            booksellerid     => $bookseller,
108                            homebranch       => $branch,
109                            loan             => $loan },
110                          @barcodes);
111   if ($error eq ''){
112     if ($itemtype ne 'PER'){
113       print $input->redirect("/cgi-bin/koha/acqui/receive.pl?invoice=$invoiceno&id=$id&freight=$freight&gst=$gst");
114     } else {
115       print $input->redirect("/acquisitions/");
116     }
117   } else {
118     print $input->header;
119     print $error;
120   }
121 } else {
122   print $input->header;
123   delorder($biblionumber,$ordnum);
124        print $input->redirect("/acquisitions/");
125 }