koha-cvs
[Top][All Lists]
Advanced

[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) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]