[Koha-cvs] CVS: koha/C4 Bull.pm,1.9,1.10
Henri-Damien LAURENT
hdl at users.sourceforge.net
Thu Jun 16 21:10:15 CEST 2005
Update of /cvsroot/koha/koha/C4
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11586/C4
Modified Files:
Bull.pm
Log Message:
Adding 2 status to serial issues :
- delete : to delete the current issue
- not issued : to distinguish missing from not issued serial number.
Index: Bull.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Bull.pm,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** Bull.pm 4 May 2005 15:40:01 -0000 1.9
--- Bull.pm 16 Jun 2005 19:10:10 -0000 1.10
***************
*** 51,55 ****
&Find_Next_Date, &Get_Next_Seq
&hassubscriptionexpired &subscriptionexpirationdate &subscriptionrenew
! &getSupplierListWithLateIssues &GetLateIssues);
sub getSupplierListWithLateIssues {
--- 51,55 ----
&Find_Next_Date, &Get_Next_Seq
&hassubscriptionexpired &subscriptionexpirationdate &subscriptionrenew
! &getSupplierListWithLateIssues &GetLateIssues &serialdelete);
sub getSupplierListWithLateIssues {
***************
*** 275,279 ****
my $dbh = C4::Context->dbh;
# status = 2 is "arrived"
! my $sth=$dbh->prepare("select serialid,serialseq, status, planneddate from serial where subscriptionid = ? and status <>2 and status <>4");
$sth->execute($subscriptionid);
my @serials;
--- 275,279 ----
my $dbh = C4::Context->dbh;
# status = 2 is "arrived"
! my $sth=$dbh->prepare("select serialid,serialseq, status, planneddate from serial where subscriptionid = ? and status <>2 and status <>4 and status <>5");
$sth->execute($subscriptionid);
my @serials;
***************
*** 289,296 ****
}
! sub serialchangestatus {
! my ($serialid,$serialseq,$planneddate,$status)=@_;
! # warn "($serialid,$serialseq,$planneddate,$status)";
! # 1st, get previous status : if we change from "waited" to something else, then we will have to create a new "waited" entry
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare("select subscriptionid,status from serial where serialid=?");
--- 289,294 ----
}
! sub serialdelete {
! my ($serialid,$serialseq)=@_;
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare("select subscriptionid,status from serial where serialid=?");
***************
*** 298,314 ****
my ($subscriptionid,$oldstatus) = $sth->fetchrow;
# change status & update subscriptionhistory
! $sth = $dbh->prepare("update serial set serialseq=?,planneddate=?,status=? where serialid = ?");
! $sth->execute($serialseq,$planneddate,$status,$serialid);
$sth = $dbh->prepare("select missinglist,recievedlist from subscriptionhistory where subscriptionid=?");
$sth->execute($subscriptionid);
my ($missinglist,$recievedlist) = $sth->fetchrow;
! if ($status eq 2) {
! $recievedlist .= ",$serialseq";
! }
! if ($status eq 4) {
! $missinglist .= ",$serialseq";
! }
$sth=$dbh->prepare("update subscriptionhistory set recievedlist=?, missinglist=? where subscriptionid=?");
$sth->execute($recievedlist,$missinglist,$subscriptionid);
# create new waited entry if needed (ie : was a "waited" and has changed)
if ($oldstatus eq 1 && $status ne 1) {
--- 296,336 ----
my ($subscriptionid,$oldstatus) = $sth->fetchrow;
# change status & update subscriptionhistory
! my $sth = $dbh->prepare("delete * from serial where serialid = ?");
! $sth->execute($serialid);
$sth = $dbh->prepare("select missinglist,recievedlist from subscriptionhistory where subscriptionid=?");
$sth->execute($subscriptionid);
my ($missinglist,$recievedlist) = $sth->fetchrow;
! $recievedlist =~ s/",$serialseq"//;
! $missinglist =~ s/",$serialseq"//;
$sth=$dbh->prepare("update subscriptionhistory set recievedlist=?, missinglist=? where subscriptionid=?");
$sth->execute($recievedlist,$missinglist,$subscriptionid);
+ }
+
+ sub serialchangestatus {
+ my ($serialid,$serialseq,$planneddate,$status)=@_;
+ # warn "($serialid,$serialseq,$planneddate,$status)";
+ # 1st, get previous status : if we change from "waited" to something else, then we will have to create a new "waited" entry
+ my $dbh = C4::Context->dbh;
+ my $sth = $dbh->prepare("select subscriptionid,status from serial where serialid=?");
+ $sth->execute($serialid);
+ my ($subscriptionid,$oldstatus) = $sth->fetchrow;
+ # change status & update subscriptionhistory
+ if ($status eq 6){
+ delissue($serialseq, $subscriptionid)
+ }else{
+ $sth = $dbh->prepare("update serial set serialseq=?,planneddate=?,status=? where serialid = ?");
+ $sth->execute($serialseq,$planneddate,$status,$serialid);
+ $sth = $dbh->prepare("select missinglist,recievedlist from subscriptionhistory where subscriptionid=?");
+ $sth->execute($subscriptionid);
+ my ($missinglist,$recievedlist) = $sth->fetchrow;
+ if ($status eq 2) {
+ $recievedlist .= ",$serialseq";
+ }
+ $missinglist .= ",$serialseq" if ($status eq 4) ;
+ $missinglist .= ",not issued $serialseq" if ($status eq 5);
+ $sth=$dbh->prepare("update subscriptionhistory set recievedlist=?, missinglist=? where subscriptionid=?");
+ $sth->execute($recievedlist,$missinglist,$subscriptionid);
+ }
+
# create new waited entry if needed (ie : was a "waited" and has changed)
if ($oldstatus eq 1 && $status ne 1) {
***************
*** 335,338 ****
--- 357,367 ----
}
+ sub delissue {
+ my ($serialseq,$subscriptionid) = @_;
+ my $dbh = C4::Context->dbh;
+ my $sth = $dbh->prepare("delete from serial where serialseq= ? and subscriptionid= ? ");
+ $sth->execute($serialseq,$subscriptionid);
+ }
+
sub Get_Next_Date(@) {
my ($planneddate,$subscription) = @_;
More information about the Koha-cvs
mailing list