X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FSerials.pm;h=da0f4bda7caaabab1aa8b4191c6fb74544b4e141;hb=2c470899b3f0191b9597d713e895b9240fe1d137;hp=a81c91193f8d2eb1216fdd6e78f5bdec9cdd0020;hpb=04dbd152f890f14ef4424dd334e9294a723f9f7b;p=koha_gimpoz diff --git a/C4/Serials.pm b/C4/Serials.pm index a81c91193f..da0f4bda7c 100644 --- a/C4/Serials.pm +++ b/C4/Serials.pm @@ -1,6 +1,7 @@ package C4::Serials; # Copyright 2000-2002 Katipo Communications +# Parts Copyright 2010 Biblibre # # This file is part of Koha. # @@ -91,12 +92,12 @@ the array is in name order sub GetSuppliersWithLateIssues { my $dbh = C4::Context->dbh; - my $query = q| - SELECT DISTINCT aqbooksellerid as id, aqbooksellers.name as name + my $query = qq| + SELECT DISTINCT id, name FROM subscription LEFT JOIN serial ON serial.subscriptionid=subscription.subscriptionid LEFT JOIN aqbooksellers ON subscription.aqbooksellerid = aqbooksellers.id - WHERE id > 0 AND (planneddate < now() OR serial.STATUS = 3 OR serial.STATUS = 4) ORDER BY name|; + WHERE id > 0 AND ((planneddate < now() AND serial.status=1) OR serial.STATUS = 3 OR serial.STATUS = 4) ORDER BY name|; return $dbh->selectall_arrayref($query, { Slice => {} }); } @@ -124,10 +125,11 @@ sub GetLateIssues { LEFT JOIN biblio ON biblio.biblionumber = subscription.biblionumber LEFT JOIN aqbooksellers ON subscription.aqbooksellerid = aqbooksellers.id WHERE ((planneddate < now() AND serial.STATUS =1) OR serial.STATUS = 3) - AND subscription.aqbooksellerid=$supplierid + AND subscription.aqbooksellerid=? ORDER BY title |; $sth = $dbh->prepare($query); + $sth->execute($supplierid); } else { my $query = qq| SELECT name,title,planneddate,serialseq,serial.subscriptionid @@ -139,8 +141,8 @@ sub GetLateIssues { ORDER BY title |; $sth = $dbh->prepare($query); + $sth->execute; } - $sth->execute; my @issuelist; my $last_title; my $odd = 0; @@ -607,15 +609,15 @@ sub GetSubscriptions { $sth = $dbh->prepare($sql); $sth->execute(@bind_params); my @results; - my $previoustitle = ""; + my $previousbiblio = ""; my $odd = 1; while ( my $line = $sth->fetchrow_hashref ) { - if ( $previoustitle eq $line->{title} ) { + if ( $previousbiblio eq $line->{biblionumber} ) { $line->{title} = ""; $line->{issn} = ""; } else { - $previoustitle = $line->{title}; + $previousbiblio = $line->{biblionumber}; $odd = -$odd; } $line->{toggle} = 1 if $odd == 1; @@ -723,9 +725,16 @@ sub GetSerials2 { my @serials; while ( my $line = $sth->fetchrow_hashref ) { - $line->{ "status" . $line->{status} } = 1; # fills a "statusX" value, used for template status select list - $line->{"planneddate"} = format_date( $line->{"planneddate"} ); - $line->{"publisheddate"} = format_date( $line->{"publisheddate"} ); + $line->{ "status" . $line->{status} } = 1; # fills a "statusX" value, used for template status select list + # Format dates for display + for my $datefield ( qw( planneddate publisheddate ) ) { + if ($line->{$datefield} =~m/^00/) { + $line->{$datefield} = q{}; + } + else { + $line->{$datefield} = format_date( $line->{$datefield} ); + } + } push @serials, $line; } return @serials; @@ -1760,7 +1769,8 @@ sub GetLateOrMissingIssues { "SELECT serialid, aqbooksellerid, name, biblio.title, planneddate, serialseq, - serial.status, serial.subscriptionid, claimdate + serial.status, serial.subscriptionid, claimdate, + subscription.branchcode FROM serial LEFT JOIN subscription ON serial.subscriptionid=subscription.subscriptionid LEFT JOIN biblio ON subscription.biblionumber=biblio.biblionumber @@ -1776,7 +1786,8 @@ sub GetLateOrMissingIssues { "SELECT serialid, aqbooksellerid, name, biblio.title, planneddate, serialseq, - serial.status, serial.subscriptionid, claimdate + serial.status, serial.subscriptionid, claimdate, + subscription.branchcode FROM serial LEFT JOIN subscription ON serial.subscriptionid=subscription.subscriptionid LEFT JOIN biblio ON subscription.biblionumber=biblio.biblionumber