X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=acqui%2Ffinishreceive.pl;h=1d5b169985d0eb1593b2fb4a3cf722cc0bb378cb;hb=8fb4f21fae844db68f332ca113d0787dece6588f;hp=4e05ebd77c64a63bbf0145617b711fd08c4c3104;hpb=eff606ba56974255deb5a6f97605005d2c2ff9c6;p=koha.git diff --git a/acqui/finishreceive.pl b/acqui/finishreceive.pl index 4e05ebd77c..1d5b169985 100755 --- a/acqui/finishreceive.pl +++ b/acqui/finishreceive.pl @@ -21,125 +21,67 @@ # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, # Suite 330, Boston, MA 02111-1307 USA +use strict; +use CGI; +use C4::Auth; use C4::Output; -use C4::Catalogue; +use C4::Context; +use C4::Acquisition; use C4::Biblio; -use CGI; +use C4::Items; use C4::Search; my $input=new CGI; -#print $input->header; - +my $flagsrequired = { acquisitions => 1}; +my ($loggedinuser, $cookie, $sessionID) = checkauth($input, 0, $flagsrequired); my $user=$input->remote_user; -#print $input->dump; -my $biblionumber = $input->param('biblio'); +my $biblionumber = $input->param('biblionumber'); +my $biblioitemnumber=$input->param('biblioitemnumber'); my $ordnum=$input->param('ordnum'); -my $quantrec=$input->param('quantityrec'); +my $origquantityrec=$input->param('origquantityrec'); +my $quantityrec=$input->param('quantityrec'); my $quantity=$input->param('quantity'); -my $notes=$input->param('notes'); my $cost=$input->param('cost'); my $invoiceno=$input->param('invoice'); -my $bibitemno=$input->param('biblioitemnum'); -my $data=bibitemdata($bibitemno); -my $publisher=$data->{'publishercode'}; -my $pubdate=$data->{'publicationdate'}; -my $class=$data->{'classification'}; -my $dewey=$data->{'dewey'}; -my $subclass=$data->{'subclass'}; - -my $size=$data->{'size'}; -my $illus=$data->{'illus'}; -my $pages=$data->{'pages'}; +my $datereceived=$input->param('datereceived'); my $replacement=$input->param('rrp'); -my $branch=$input->param('branch'); -my $bookfund=$input->param('bookfund'); -my $itemtype=$input->param('format'); -my $isbn=$input->param('ISBN'); -my $bookseller = $input->param('bookseller'); -my $id = $bookseller; -my $biblio = { - biblionumber => $biblionumber, - title => $input->param('title')?$input->param('title'):"", - author => $input->param('author')?$input->param('author'):"", - copyrightdate => $input->param('copyright')?$input->param('copyright'):"", - series => $input->param('Series')?$input->param('Series'):"" -}; # my $biblio - -if ($quantrec != 0){ - $cost /= $quantrec; -} - my $gst=$input->param('gst'); my $freight=$input->param('freight'); -my $volinf=$input->param('volinf'); -my $loan=0; -if ($itemtype =~ /REF/){ - $loan=1; -} - -if ($itemtype =~ /PER/){ -# print "$bibitemno"; - $class="Periodical"; - $bibitemno = &newbiblioitem({ - biblionumber => $biblionumber, - itemtype => $itemtype?$itemtype:"", - isbn => $isbn?$isbn:"", - volumeddesc => $volinf?$volinf:"", - classification => $class?$class:"" }); -# print "here $bibitemno"; -} -if ($quantity != 0){ - receiveorder($biblionumber,$ordnum,$quantrec,$user,$cost,$invoiceno,$bibitemno,$freight,$bookfund); - modbiblio($biblio); - &modbibitem({ - biblioitemnumber => $bibitemno, - biblionumber => $biblionumber, - itemtype => $itemtype?$itemtype:"", - isbn => $isbn?$isbn:"", - publisher => $publisher?$publisher:"", - publicationyear => $pubdate?$pubdate:"", - class => $class?$class:"", - dewey => $dewey?$dewey:"", - subclass => $subclass?$subclass:"", - illus => $illus?$illus:"", - pages => $pages?$pages:"", - volumeddesc => $volinf?$volinf:"", - notes => $notes?$notes:"", - size => $size?$size:"" }); +my $supplierid = $input->param('supplierid'); +my @branch=$input->param('homebranch'); +my @barcode=$input->param('barcode'); +my @ccode=$input->param('ccode'); +my @itemtype=$input->param('itemtype'); +my @location=$input->param('location'); +my $cnt = 0; +# if ($quantityrec != 0){ +# $cost /= $quantityrec; +# } - my $barcode=$input->param('barcode'); - my @barcodes; - if ($barcode =~ /\,/){ - @barcodes=split(/\,/,$barcode); - }elsif ($barcode =~ /\|/){ - @barcodes=split(/\|/,$barcode); - } else { - $barcodes[0]=$barcode; - # print $input->header; - # print @barcodes; - # print $barcode; - } -# print STDERR "************ biblionumber => $biblionumber\n"; - my ($error) = newitems({ biblioitemnumber => $bibitemno, - biblionumber => $biblionumber, - replacementprice => $replacement, - price => $cost, - booksellerid => $bookseller, - homebranch => $branch, - loan => $loan }, - @barcodes); - if ($error eq ''){ - if ($itemtype ne 'PER'){ - print $input->redirect("/cgi-bin/koha/acqui/receive.pl?invoice=$invoiceno&id=$id&freight=$freight&gst=$gst"); - } else { - print $input->redirect("/acquisitions/"); +if ($quantityrec > $origquantityrec ) { + # save the quantity recieved. + $datereceived = ModReceiveOrder($biblionumber,$ordnum,$quantityrec,$user,$cost,$invoiceno,$freight,$replacement,undef,$datereceived); + # create items if the user has entered barcodes + # my @barcodes=split(/\,| |\|/,$barcode); + # foreach barcode provided, build the item MARC::Record and create the item + foreach my $bc (@barcode) { + my $itemRecord = TransformKohaToMarc({ + "items.replacementprice" => $replacement, + "items.price" => $cost, + "items.booksellerid" => $supplierid, + "items.homebranch" => $branch[$cnt], + "items.holdingbranch" => $branch[$cnt], + "items.barcode" => $barcode[$cnt], + "items.ccode" => $ccode[$cnt], + "items.itype" => $itemtype[$cnt], + "items.location" => $location[$cnt], + "items.loan" => 0, }); + AddItemFromMarc($itemRecord,$biblionumber); } - } else { - print $input->header; - print $error; - } -} else { - print $input->header; - delorder($biblionumber,$ordnum); - print $input->redirect("/acquisitions/"); } + print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoice=$invoiceno&supplierid=$supplierid&freight=$freight&gst=$gst&datereceived=$datereceived"); +#} else { +# print $input->header; +# #delorder($biblionumber,$ordnum); +# print $input->redirect("/acquisitions/"); +#}