Browse Source

Added biblioitems table update when newBiblioItem() routine is called.

3.0.x
tonnesen 23 years ago
parent
commit
aab6b66555
  1. 51
      C4/Catalogue.pm

51
C4/Catalogue.pm

@ -144,6 +144,10 @@ sub updateBiblio {
logchange('kohadb', 'biblio', 'title', $origbiblio->{'title'}, $biblio->{'title'});
my $sti=$dbh->prepare("update biblio set title=$q_title where biblionumber=$biblio->{'biblionumber'}");
$sti->execute;
logchange('marc', '245', 'a', $origbiblio->{'title'}, $biblio->{'title'});
foreach (@marcrecords) {
changeSubfield($_, '245', 'a', $origbiblio->{'title'}, $biblio->{'title'});
}
}
if ($biblio->{'unititle'} ne $origbiblio->{'unititle'}) {
my $q_unititle=$dbh->quote($biblio->{'unititle'});
@ -156,6 +160,10 @@ sub updateBiblio {
logchange('kohadb', 'biblio', 'notes', $origbiblio->{'notes'}, $biblio->{'notes'});
my $sti=$dbh->prepare("update biblio set notes=$q_notes where biblionumber=$biblio->{'biblionumber'}");
$sti->execute;
logchange('marc', '500', 'a', $origbiblio->{'notes'}, $biblio->{'notes'});
foreach (@marcrecords) {
changeSubfield($_, '500', 'a', $origbiblio->{'notes'}, $biblio->{'notes'});
}
}
if ($biblio->{'serial'} ne $origbiblio->{'serial'}) {
my $q_serial=$dbh->quote($biblio->{'serial'});
@ -168,12 +176,20 @@ sub updateBiblio {
logchange('kohadb', 'biblio', 'seriestitle', $origbiblio->{'seriestitle'}, $biblio->{'seriestitle'});
my $sti=$dbh->prepare("update biblio set seriestitle=$q_seriestitle where biblionumber=$biblio->{'biblionumber'}");
$sti->execute;
logchange('marc', '440', 'a', $origbiblio->{'seriestitle'}, $biblio->{'seriestitle'});
foreach (@marcrecords) {
changeSubfield($_, '440', 'a', $origbiblio->{'seriestitle'}, $biblio->{'seriestitle'});
}
}
if ($biblio->{'copyrightdate'} ne $origbiblio->{'copyrightdate'}) {
my $q_copyrightdate=$dbh->quote($biblio->{'copyrightdate'});
logchange('kohadb', 'biblio', 'copyrightdate', $origbiblio->{'copyrightdate'}, $biblio->{'copyrightdate'});
my $sti=$dbh->prepare("update biblio set copyrightdate=$q_copyrightdate where biblionumber=$biblio->{'biblionumber'}");
$sti->execute;
logchange('marc', '260', 'c', "c$origbiblio->{'notes'}", "c$biblio->{'notes'}");
foreach (@marcrecords) {
changeSubfield($_, '260', 'c', "c$origbiblio->{'notes'}", "c$biblio->{'notes'}");
}
}
}
@ -241,29 +257,62 @@ sub newBiblioItem {
my $biblionumber=$biblioitem->{'biblionumber'};
my $biblioitemnumber=$biblioitem->{'biblioitemnumber'};
my $volume=$biblioitem->{'volume'};
my $q_volume=$dbh->quote($volume);
my $number=$biblioitem->{'number'};
my $q_number=$dbh->quote($number);
my $classification=$biblioitem->{'classification'};
my $q_classification=$dbh->quote($classification);
my $itemtype=$biblioitem->{'itemtype'};
my $q_itemtype=$dbh->quote($itemtype);
my $isbn=$biblioitem->{'isbn'};
my $q_isbn=$dbh->quote($isbn);
my $issn=$biblioitem->{'issn'};
my $q_issn=$dbh->quote($issn);
my $dewey=$biblioitem->{'dewey'};
$dewey=~s/\.*0*$//;
($dewey == 0) && ($dewey='');
my $subclass=$biblioitem->{'subclass'};
my $q_subclass=$dbh->quote($subclass);
my $publicationyear=$biblioitem->{'publicationyear'};
my $publishercode=$biblioitem->{'publishercode'};
my $q_publishercode=$dbh->quote($publishercode);
my $volumedate=$biblioitem->{'volumedate'};
my $q_volumedate=$dbh->quote($volumedate);
my $illus=$biblioitem->{'illus'};
my $q_illus=$dbh->quote($illus);
my $pages=$biblioitem->{'pages'};
my $q_pages=$dbh->quote($pages);
my $notes=$biblioitem->{'notes'};
my $q_notes=$dbh->quote($notes);
my $size=$biblioitem->{'size'};
my $q_size=$dbh->quote($size);
my $place=$biblioitem->{'place'};
my $q_place=$dbh->quote($place);
my $lccn=$biblioitem->{'lccn'};
my $q_lccn=$dbh->quote($lccn);
# Unless the $env->{'marconly'} flag is set, update the biblioitems table with
# the new data
unless ($env->{'marconly'}) {
#my $sth=$dbh->prepare("lock tables biblioitems write");
#$sth->execute;
my $sth=$dbh->prepare("select max(biblioitemnumber) from biblioitems");
$sth->execute;
my ($biblioitemnumber) =$sth->fetchrow;
$biblioitemnumber++;
$sth=$dbh->prepare("insert into biblioitems (biblionumber,biblioitemnumber,volume,number,classification,itemtype,isbn,issn,dewey,subclass,publicationyear,publishercode,volumedate,illus,pages,notes,size,place,lccn) values ($biblionumber, $biblioitemnumber, $q_volume, $q_number, $q_classification, $q_itemtype, $q_isbn, $q_issn, $dewey, $q_subclass, $q_publicationyear, $q_publishercode, $q_volumedate, $q_illus, $q_pages,$q_notes, $q_size, $q_place, $q_lccn)");
$sth->execute;
#my $sth=$dbh->prepare("unlock tables");
#$sth->execute;
}
# Should we check if there is already a biblioitem/marc with the
# same isbn/lccn/issn?
my $sth=$dbh->prepare("select title,unititle,seriestitle,copyrightdate,notes,author from biblio where biblionumber=$biblionumber");
$sth=$dbh->prepare("select title,unititle,seriestitle,copyrightdate,notes,author from biblio where biblionumber=$biblionumber");
$sth->execute;
my ($title, $unititle,$seriestitle,$copyrightdate,$biblionotes,$author) = $sth->fetchrow;
$sth=$dbh->prepare("select subtitle from bibliosubtitle where biblionumber=$biblionumber");

Loading…
Cancel
Save