@@ -, +, @@ - Switch OrderPdfFormat to pdfformat::layout3pages - Create one or more baskets with a few orders, make sure you are adding some records that contain a publication year and/or edition statement - Close the basket - Create a basket group - Print the PDF and check that edition and publication year show up and bibliographic information is printed correctly - Switch OrderPdfFormat to pdfformat::layout2pages - Repeat PDF print --- acqui/basketgroup.pl | 6 +++++- acqui/pdfformat/layout2pages.pm | 22 +++++++++++++++++++++- acqui/pdfformat/layout3pages.pm | 23 ++++++++++++++++++++++- 3 files changed, 48 insertions(+), 3 deletions(-) --- a/acqui/basketgroup.pl +++ a/acqui/basketgroup.pl @@ -200,12 +200,15 @@ sub printbasketgrouppdf{ # Editor Number my $en; + my $edition; my $marcrecord=eval{MARC::Record::new_from_xml( $ord->{marcxml},'UTF-8' )}; if ($marcrecord){ if ( C4::Context->preference("marcflavour") eq 'UNIMARC' ) { $en = $marcrecord->subfield( '345', "b" ); + $edition = $marcrecord->subfield( '205', 'a' ); } elsif ( C4::Context->preference("marcflavour") eq 'MARC21' ) { $en = $marcrecord->subfield( '037', "a" ); + $edition = $marcrecord->subfield( '250', 'a' ); } } @@ -213,8 +216,9 @@ sub printbasketgrouppdf{ isbn => ($ord->{isbn} ? $ord->{isbn} : undef), itemtype => ( $ord->{itemtype} and $bib->{itemtype} ? $itemtypes->{$bib->{itemtype}}->{description} : undef ), en => ( $en ? $en : undef ), + edition => ( $edition ? $edition : undef ), }; - for my $key ( qw/ gstrate author title itemtype publishercode discount quantity rrpgsti rrpgste gstgsti gstgste ecostgsti ecostgste gstvalue totalgste totalgsti / ) { + for my $key ( qw/ gstrate author title itemtype publishercode copyrightdate publicationyear discount quantity rrpgsti rrpgste gstgsti gstgste ecostgsti ecostgste gstvalue totalgste totalgsti / ) { $ba_order->{$key} = $ord->{$key}; } --- a/acqui/pdfformat/layout2pages.pm +++ a/acqui/pdfformat/layout2pages.pm @@ -88,12 +88,32 @@ sub printorders { } push(@$abaskets, $arrbasket); + my $titleinfo; for my $basket (@$baskets){ for my $line (@{$orders->{$basket->{basketno}}}) { $arrbasket = undef; + $titleinfo = ""; + if ( C4::Context->preference("marcflavour") eq 'UNIMARC' ) { + $titleinfo = $line->{title} . " / " . $line->{author} . + ( $line->{isbn} ? " ISBN: " . $line->{isbn} : '' ) . + ( $line->{en} ? " EN: " . $line->{en} : '' ) . + ( $line->{itemtype} ? ", " . $line->{itemtype} : '' ) . + ( $line->{edition} ? ", " . $line->{edition} : '' ) . + ( $line->{publishercode} ? ' published by '. $line->{publishercode} : '') . + ( $line->{publicationyear} ? ', '. $line->{publicationyear} : ''); + } + else { # MARC21, NORMARC + $titleinfo = $line->{title} . " " . $line->{author} . + ( $line->{isbn} ? " ISBN: " . $line->{isbn} : '' ) . + ( $line->{en} ? " EN: " . $line->{en} : '' ) . + ( $line->{itemtype} ? " " . $line->{itemtype} : '' ) . + ( $line->{edition} ? ", " . $line->{edition} : '' ) . + ( $line->{publishercode} ? ' published by '. $line->{publishercode} : '') . + ( $line->{copyrightdate} ? ' '. $line->{copyrightdate} : ''); + } push( @$arrbasket, $basket->{basketno}, - $line->{title} . " / " . $line->{author} . ( $line->{isbn} ? " ISBN : " . $line->{isbn} : '' ) . ( $line->{en} ? " EN : " . $line->{en} : '' ) . ", " . $line->{itemtype} . ( $line->{publishercode} ? ' published by '. $line->{publishercode} : ""), + $titleinfo, $line->{quantity}, $num->format_price($line->{rrpgsti}), $num->format_price($line->{discount}).'%', --- a/acqui/pdfformat/layout3pages.pm +++ a/acqui/pdfformat/layout3pages.pm @@ -108,10 +108,31 @@ sub printorders { push(@$arrbasket, $bkey); } push(@$abaskets, $arrbasket); + + my $titleinfo; foreach my $line (@{$orders->{$basket->{basketno}}}) { $arrbasket = undef; + $titleinfo = ""; + if ( C4::Context->preference("marcflavour") eq 'UNIMARC' ) { + $titleinfo = $line->{title} . " / " . $line->{author} . + ( $line->{isbn} ? " ISBN: " . $line->{isbn} : '' ) . + ( $line->{en} ? " EN: " . $line->{en} : '' ) . + ( $line->{itemtype} ? ", " . $line->{itemtype} : '' ) . + ( $line->{edition} ? ", " . $line->{edition} : '' ) . + ( $line->{publishercode} ? ' published by '. $line->{publishercode} : '') . + ( $line->{publicationyear} ? ', '. $line->{publicationyear} : ''); + } + else { # MARC21, NORMARC + $titleinfo = $line->{title} . " " . $line->{author} . + ( $line->{isbn} ? " ISBN: " . $line->{isbn} : '' ) . + ( $line->{en} ? " EN: " . $line->{en} : '' ) . + ( $line->{itemtype} ? " " . $line->{itemtype} : '' ) . + ( $line->{edition} ? ", " . $line->{edition} : '' ) . + ( $line->{publishercode} ? ' published by '. $line->{publishercode} : '') . + ( $line->{copyrightdate} ? ' '. $line->{copyrightdate} : ''); + } push( @$arrbasket, - $line->{title} . " / " . $line->{author} . ( $line->{isbn} ? " ISBN : " . $line->{isbn} : '' ) . ( $line->{en} ? " EN : " . $line->{en} : '' ) . ", " . $line->{itemtype} . ( $line->{publishercode} ? ' published by '. $line->{publishercode} : ""), + $titleinfo, $line->{quantity}, $num->format_price($line->{rrpgste}), $num->format_price($line->{rrpgsti}), --