[Patches] [PATCH] bug_5473: Update items when receiving shipments

koha-patchbot at kohaaloha.com koha-patchbot at kohaaloha.com
Wed Dec 21 03:12:35 NZDT 2011


From: Srdjan Jankovic <srdjan at catalyst.net.nz>
Date: Mon, 19 Dec 2011 17:57:55 +1300
Subject: [PATCH] bug_5473: Update items when receiving shipments

---
 C4/Items.pm            |    3 +--
 acqui/finishreceive.pl |   26 +++++++++++++++++++++-----
 2 files changed, 22 insertions(+), 7 deletions(-)

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..641932f 100755
--- a/acqui/finishreceive.pl
+++ b/acqui/finishreceive.pl
@@ -76,6 +76,7 @@ if ( any { $order->{$_} ne $tplorder{$_} } qw(quantity quantityreceived notes rr
 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 +106,28 @@ 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);
         }
     }
     
     # 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 ) = @_;
+
+    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