[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] CVS: koha/C4 Bull.pm,1.5,1.6
From: |
Paul POULAIN |
Subject: |
[Koha-cvs] CVS: koha/C4 Bull.pm,1.5,1.6 |
Date: |
Fri, 03 Dec 2004 06:34:57 -0800 |
Update of /cvsroot/koha/koha/C4
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27206/C4
Modified Files:
Bull.pm
Log Message:
adding "show me late issues" screen
Index: Bull.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Bull.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** Bull.pm 20 Sep 2004 10:16:06 -0000 1.5
--- Bull.pm 3 Dec 2004 14:34:54 -0000 1.6
***************
*** 49,54 ****
&getserials &serialchangestatus
&Find_Next_Date, &Get_Next_Seq
! &hassubscriptionexpired &subscriptionexpirationdate
&subscriptionrenew);
sub newsubscription {
my ($auser,$aqbooksellerid,$cost,$aqbudgetid,$biblionumber,
--- 49,103 ----
&getserials &serialchangestatus
&Find_Next_Date, &Get_Next_Seq
! &hassubscriptionexpired &subscriptionexpirationdate
&subscriptionrenew
! &getSupplierListWithLateIssues &GetLateIssues);
+ sub getSupplierListWithLateIssues {
+ my $dbh = C4::Context->dbh;
+ my $sth = $dbh->prepare("SELECT DISTINCT id, name
+ FROM subscription,
serial
+ LEFT JOIN aqbooksellers
ON subscription.aqbooksellerid = aqbooksellers.id
+ WHERE
subscription.subscriptionid = serial.subscriptionid AND
+ (planneddate < now( )
OR serial.STATUS = 3)
+ ");
+ $sth->execute;
+ my %supplierlist;
+ while (my ($id,$name) = $sth->fetchrow) {
+ $supplierlist{$id} = $name;
+ }
+ return %supplierlist;
+ }
+ sub GetLateIssues {
+ my ($supplierid) = @_;
+ my $dbh = C4::Context->dbh;
+ my $sth;
+ if ($supplierid) {
+ $sth = $dbh->prepare("SELECT
name,title,planneddate,serialseq,serial.subscriptionid
+ FROM subscription,
serial, biblio
+ LEFT JOIN aqbooksellers
ON subscription.aqbooksellerid = aqbooksellers.id
+ WHERE
subscription.subscriptionid = serial.subscriptionid AND
+ ((planneddate < now()
and serial.STATUS =1) OR serial.STATUS = 3) and
+
subscription.aqbooksellerid=$supplierid and
+ biblio.biblionumber =
subscription.biblionumber
+ ");
+ } else {
+ $sth = $dbh->prepare("SELECT
name,title,planneddate,serialseq,serial.subscriptionid
+ FROM subscription,
serial, biblio
+ LEFT JOIN aqbooksellers
ON subscription.aqbooksellerid = aqbooksellers.id
+ WHERE
subscription.subscriptionid = serial.subscriptionid AND
+ ((planneddate < now()
and serial.STATUS <=3) OR serial.STATUS = 3) and
+ biblio.biblionumber =
subscription.biblionumber
+ ");
+ }
+ $sth->execute;
+ my @issuelist;
+ my $last_title;
+ while (my $line = $sth->fetchrow_hashref) {
+ $line->{title} = "" if $line->{title} eq $last_title;
+ $last_title = $line->{title} if ($line->{title});
+ $line->{planneddate} = format_date($line->{planneddate});
+ push @issuelist,$line;
+ }
+ return @issuelist;
+ }
sub newsubscription {
my ($auser,$aqbooksellerid,$cost,$aqbudgetid,$biblionumber,
***************
*** 78,82 ****
my $subscriptionid = $dbh->{'mysql_insertid'};
$sth = $dbh->prepare("insert into subscriptionhistory (biblionumber,
subscriptionid, histstartdate, enddate, missinglist, recievedlist, opacnote,
librariannote) values (?,?,?,?,?,?,?,?)");
! $sth->execute($biblionumber, $subscriptionid,
format_date_in_iso($startdate), 0, "", "", 0, $notes);
# reread subscription to get a hash (for calculation of the 1st issue
number)
$sth = $dbh->prepare("select * from subscription where subscriptionid =
? ");
--- 127,131 ----
my $subscriptionid = $dbh->{'mysql_insertid'};
$sth = $dbh->prepare("insert into subscriptionhistory (biblionumber,
subscriptionid, histstartdate, enddate, missinglist, recievedlist, opacnote,
librariannote) values (?,?,?,?,?,?,?,?)");
! $sth->execute($biblionumber, $subscriptionid,
format_date_in_iso($startdate), 0, "", "", "", $notes);
# reread subscription to get a hash (for calculation of the 1st issue
number)
$sth = $dbh->prepare("select * from subscription where subscriptionid =
? ");
***************
*** 150,153 ****
--- 199,203 ----
sub getsubscriptions {
my ($title,$ISSN) = @_;
+ return unless $title or $ISSN;
my $dbh = C4::Context->dbh;
my $sth;
***************
*** 248,252 ****
}
if ($subscription->{periodicity} == 8) {
! $resultdate=DateCalc($planneddate,"1 quarter");
}
if ($subscription->{periodicity} == 9) {
--- 298,302 ----
}
if ($subscription->{periodicity} == 8) {
! $resultdate=DateCalc($planneddate,"3 months");
}
if ($subscription->{periodicity} == 9) {
***************
*** 313,317 ****
if ($subscription->{numberlength}) {
my $sth = $dbh->prepare("select count(*) from serial where
subscriptionid=? and planneddate>=?");
! $sth->execute($subscriptionid,$subscription->{planneddate});
my $res = $sth->fetchrow;
if ($subscription->{numberlength}>=$res) {
--- 363,367 ----
if ($subscription->{numberlength}) {
my $sth = $dbh->prepare("select count(*) from serial where
subscriptionid=? and planneddate>=?");
! $sth->execute($subscriptionid,$subscription->{startdate});
my $res = $sth->fetchrow;
if ($subscription->{numberlength}>=$res) {
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-cvs] CVS: koha/C4 Bull.pm,1.5,1.6,
Paul POULAIN <=