use MARC::Record;
use C4::Suggestions;
use C4::Debug;
+use C4::SQLHelper qw(InsertInTable);
use Time::localtime;
use HTML::Entities;
=item $hashref->{'uncertainprice'} may be 0 for "the price is known" or 1 for "the price is uncertain"
+=item defaults entrydate to Now
+
The following keys are used: "biblionumber", "title", "basketno", "quantity", "notes", "biblioitemnumber", "rrp", "ecost", "gst", "unitprice", "subscription", "sort1", "sort2", "booksellerinvoicenumber", "listprice", "budgetdate", "purchaseordernumber", "branchcode", "booksellerinvoicenumber", "bookfundid".
=back
} else {
$orderinfo->{'subscription'} = 0;
}
+ $orderinfo->{'entrydate'} ||= C4::Dates->new()->output("iso");
- my $query = "INSERT INTO aqorders (";
- foreach my $orderinfokey (keys %{$orderinfo}) {
- next if $orderinfokey =~ m/branchcode|entrydate/; # skip branchcode and entrydate, branchcode isnt a vaild col, entrydate we add manually with NOW()
- $query .= "$orderinfokey,";
- push(@params, $orderinfo->{$orderinfokey});
- }
-
- $query .= "entrydate) VALUES (";
- foreach (@params) {
- $query .= "?,";
- }
- $query .= " NOW() )"; #ADDING CURRENT DATE TO 'budgetdate, entrydate, purchaseordernumber'...
-
- my $sth = $dbh->prepare($query);
-
- $sth->execute(@params);
- $sth->finish;
-
- #get ordnum MYSQL dependant, but $dbh->last_insert_id returns null
- my $ordnum = $dbh->{'mysql_insertid'};
-
- $sth->finish;
+ my $ordnum=InsertInTable("aqorders",$orderinfo);
return ( $orderinfo->{'basketno'}, $ordnum );
}
);
# get CGI parameters
-my $ordnum = $input->param('ordnum');
-my $basketno = $input->param('basketno');
-my $booksellerid = $input->param('booksellerid');
-my $existing = $input->param('existing'); # existing biblio, (not basket or order)
-my $title = $input->param('title');
-my $author = $input->param('author');
-my $publicationyear= $input->param('publicationyear');
-my $isbn = $input->param('ISBN');
-my $itemtype = $input->param('format');
-my $quantity = $input->param('quantity'); # FIXME: else ERROR!
-my $listprice = $input->param('list_price') || 0;
-my $branch = $input->param('branch');
-my $series = $input->param('series');
-my $notes = $input->param('notes');
-my $budget_id = $input->param('budget_id');
-my $sort1 = $input->param('sort1');
-my $sort2 = $input->param('sort2');
-my $rrp = $input->param('rrp');
-my $ecost = $input->param('ecost');
-my $gst = $input->param('GST');
-my $budget = $input->param('budget');
-my $cost = $input->param('cost');
-my $sub = $input->param('sub');
-my $purchaseorder = $input->param('purchaseordernumber');
-my $invoice = $input->param('invoice');
-my $publishercode = $input->param('publishercode');
-my $suggestionid = $input->param('suggestionid');
-my $biblionumber = $input->param('biblionumber');
+my $orderinfo = $input->Vars;
+$orderinfo->{'list_price'} ||= 0;
+#my $ordnum = $input->param('ordnum');
+#my $basketno = $input->param('basketno');
+#my $booksellerid = $input->param('booksellerid');
+#my $existing = $input->param('existing'); # existing biblio, (not basket or order)
+#my $title = $input->param('title');
+#my $author = $input->param('author');
+#my $publicationyear= $input->param('publicationyear');
+#my $isbn = $input->param('ISBN');
+#my $itemtype = $input->param('format');
+#my $quantity = $input->param('quantity'); # FIXME: else ERROR!
+#my $branch = $input->param('branch');
+#my $series = $input->param('series');
+#my $notes = $input->param('notes');
+#my $budget_id = $input->param('budget_id');
+#my $sort1 = $input->param('sort1');
+#my $sort2 = $input->param('sort2');
+#my $rrp = $input->param('rrp');
+#my $ecost = $input->param('ecost');
+#my $gst = $input->param('GST');
+#my $budget = $input->param('budget');
+#my $cost = $input->param('cost');
+#my $sub = $input->param('sub');
+#my $purchaseorder = $input->param('purchaseordernumber');
+#my $invoice = $input->param('invoice');
+#my $publishercode = $input->param('publishercode');
+#my $suggestionid = $input->param('suggestionid');
+#my $biblionumber = $input->param('biblionumber');
+#my $uncertainprice = $input->param('uncertainprice');
+#my $import_batch_id= $input->param('import_batch_id');
+#
+#my $createbibitem = $input->param('createbibitem');
+#
my $user = $input->remote_user;
-my $uncertainprice = $input->param('uncertainprice');
-my $import_batch_id= $input->param('import_batch_id');
-
-my $createbibitem = $input->param('createbibitem');
-
# create, modify or delete biblio
# create if $quantity>=0 and $existing='no'
# modify if $quantity>=0 and $existing='yes'
if ($suggestionid) {
ModStatus( $suggestionid, 'ORDERED', '', $biblionumber );
}
+ $orderinfo->{biblioitemnumber}=$bibitemnum;
}
# if we already have $ordnum, then it's an ordermodif
if ($ordnum) {
- my %orderinfo = ("biblionumber", $biblionumber,
- "ordernumber", $ordnum,
- "basketno", $basketno,
- "quantity", $quantity,
- "listprice", $listprice,
- "notes", $notes,
- "biblioitemnumber", $bibitemnum,
- "rrp", $rrp,
- "ecost", $ecost,
- "gst", $gst,
- "unitprice", $cost,
- "subscription", $sub,
- "sort1", $sort1,
- "sort2", $sort2,
-# "budgetdate", $budget,
- "purchaseordernumber", $purchaseorder,
- "branchcode", $branch,
- "booksellerinvoicenumber", $invoice,
- "budget_id", $budget_id,
- "uncertainprice", $uncertainprice);
- ModOrder( \%orderinfo);
+ ModOrder( $orderinfo);
}
else { # else, it's a new line
- my %orderinfo = ("biblionumber", $biblionumber,
- "ordernumber", $ordnum,
- "basketno", $basketno,
- "quantity", $quantity,
- "listprice", $listprice,
- "notes", $notes,
- "biblioitemnumber", $bibitemnum,
- "rrp", $rrp,
- "ecost", $ecost,
- "gst", $gst,
- "unitprice", $cost,
- "subscription", $sub,
- "sort1", $sort1,
- "sort2", $sort2,
-# "budgetdate", $budget,
- "purchaseordernumber", $purchaseorder,
- "branchcode", $branch,
- "booksellerinvoicenumber", $invoice,
- "budget_id", $budget_id,
- "uncertainprice", $uncertainprice);
- ( $basketno, $ordnum ) = NewOrder(\%orderinfo);
+ ( $basketno, $ordnum ) = NewOrder($orderinfo);
}
# now, add items if applicable