[Patches] [PATCH] bug_5473: Update items when receiving shipments
koha-patchbot at kohaaloha.com
koha-patchbot at kohaaloha.com
Wed Dec 21 03:13:01 NZDT 2011
From: Srdjan Jankovic <srdjan at catalyst.net.nz>
Date: Tue, 20 Dec 2011 14:56:51 +1300
Subject: [PATCH] bug_5473: Update items when receiving shipments
---
C4/Acquisition.pm | 1 -
C4/Items.pm | 3 +--
acqui/finishreceive.pl | 46 +++++++++++++++++++++++-----------------------
3 files changed, 24 insertions(+), 26 deletions(-)
diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm
index 7127f24..ef95ead 100644
--- a/C4/Acquisition.pm
+++ b/C4/Acquisition.pm
@@ -923,7 +923,6 @@ sub NewOrder {
=cut
sub NewOrderItem {
- #my ($biblioitemnumber,$ordernumber, $biblionumber) = @_;
my ($itemnumber, $ordernumber) = @_;
my $dbh = C4::Context->dbh;
my $query = qq|
diff --git a/C4/Items.pm b/C4/Items.pm
index 8802a4c..a3616eb 100644
--- a/C4/Items.pm
+++ b/C4/Items.pm
@@ -458,8 +458,7 @@ sub ModItemFromMarc {
=head2 ModItem
- ModItem({ column => $newvalue }, $biblionumber,
- $itemnumber[, $original_item_marc]);
+ ModItem({ column => $newvalue }, $biblionumber, $itemnumber);
Change one or more columns in an item record and update
the MARC representation of the item.
diff --git a/acqui/finishreceive.pl b/acqui/finishreceive.pl
index 71b13d6..55a9977 100755
--- a/acqui/finishreceive.pl
+++ b/acqui/finishreceive.pl
@@ -54,28 +54,11 @@ my $error_url_str;
my $ecost = $input->param('ecost');
my $note = $input->param("note");
-my %tplorder = ( 'quantity' => $input->param('quantity') || '',
- 'quantityreceived' => $input->param('quantityrec') || '',
- 'notes' => $input->param("note") || '',
- 'rrp' => $input->param('rrp') || '',
- 'ecost' => $input->param('ecost') || '',
- 'unitprice' => $input->param('cost') || '',
- );
-my $order = GetOrder($ordernumber);
-if ( any { $order->{$_} ne $tplorder{$_} } qw(quantity quantityreceived notes rrp ecost unitprice) ) {
- $order->{quantity} = $tplorder{quantity} if $tplorder{quantity};
- $order->{quantityreceived} = $tplorder{quantityreceived} if $tplorder{quantityreceived};
- $order->{notes} = $tplorder{notes} if $tplorder{notes};
- $order->{rrp} = $tplorder{rrp} if $tplorder{rrp};
- $order->{ecost} = $tplorder{ecost} if $tplorder{ecost};
- $order->{unitprice} = $tplorder{unitprice} if $tplorder{unitprice};
- ModOrder($order);
-}
-
#need old recievedate if we update the order, parcel.pl only shows the right parcel this way FIXME
if ($quantityrec > $origquantityrec ) {
# now, add items if applicable
if (C4::Context->preference('AcqCreateItem') eq 'receiving') {
+
my @tags = $input->param('tag');
my @subfields = $input->param('subfield');
my @field_values = $input->param('field_value');
@@ -105,13 +88,30 @@ if ($quantityrec > $origquantityrec ) {
$itemhash{$item}->{'ind_tag'},
$itemhash{$item}->{'indicator'},'ITEM');
my $record=MARC::Record::new_from_xml($xml, 'UTF-8');
- my ($biblionumber,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$biblionumber);
+ my (undef,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$biblionumber);
+ NewOrderItem($itemnumber, $ordernumber);
}
}
# save the quantity received.
- if( $quantityrec > 0 ) {
- $datereceived = ModReceiveOrder($biblionumber,$ordernumber, $quantityrec ,$user,$unitprice,$invoiceno,$freight,$replacement,undef,$datereceived);
- }
+ $datereceived = ModReceiveOrder($biblionumber,$ordernumber, $quantityrec ,$user,$unitprice,$invoiceno,$freight,$replacement,undef,$datereceived);
+}
+
+update_item( $_ ) foreach GetItemnumbersFromOrder( $ordernumber );
+
+print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoice=$invoiceno&supplierid=$supplierid&freight=$freight&gst=$gst&datereceived=$datereceived$error_url_str");
+
+################################ End of script ################################
+
+sub update_item {
+ my ( $itemnumber ) = @_;
+ warn "AAA $itemnumber";
+
+ ModItem( {
+ booksellerid => $supplierid,
+ dateaccessioned => $datereceived,
+ price => $unitprice,
+ replacementprice => $replacement,
+ replacementpricedate => $datereceived,
+ }, $biblionumber, $itemnumber );
}
- print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoice=$invoiceno&supplierid=$supplierid&freight=$freight&gst=$gst&datereceived=$datereceived$error_url_str");
--
1.6.5
More information about the Patches
mailing list