bug fix : adding condition for create the right notify_id

This commit is contained in:
btoumi 2007-05-07 14:57:01 +00:00
parent 712e83b2ba
commit 998e68c351
2 changed files with 41 additions and 32 deletions

View File

@ -901,18 +901,22 @@ C<$notify_level> contains the accountline level
=cut
sub CheckAccountLineLevelInfo {
my($borrowernumber,$itemnumber,$level) = @_;
my $dbh = C4::Context->dbh;
my $query= qq|SELECT count(*)
FROM accountlines
WHERE borrowernumber =?
AND itemnumber = ?
AND notify_level=?|;
my $sth=$dbh->prepare($query);
$sth->execute($borrowernumber,$itemnumber,$level);
my ($exist)=$sth->fetchrow;
$sth->finish;
return($exist);
my($borrowernumber,$itemnumber,$level,$datedue) = @_;
my @formatdate;
@formatdate=split('-',$datedue);
$datedue=$formatdate[2]."/".$formatdate[1]."/".$formatdate[0];
my $dbh = C4::Context->dbh;
my $query= qq|SELECT count(*)
FROM accountlines
WHERE borrowernumber =?
AND itemnumber = ?
AND notify_level=?
AND description like ?|;
my $sth=$dbh->prepare($query);
$sth->execute($borrowernumber,$itemnumber,$level,"%$datedue%");
my ($exist)=$sth->fetchrow;
$sth->finish;
return($exist);
}
=item GetOverduerules
@ -1013,23 +1017,28 @@ C<$date_due> contains the date of item return
=cut
sub CheckExistantNotifyid {
my($borrowernumber,$date_due) = @_;
my $dbh = C4::Context->dbh;
my $query = qq|SELECT notify_id FROM issues,accountlines
WHERE accountlines.borrowernumber =?
AND issues.itemnumber= accountlines.itemnumber
AND date_due = ?|;
my $sth=$dbh->prepare($query);
$sth->execute($borrowernumber,$date_due);
my ($exist)=$sth->fetchrow;
$sth->finish;
if ($exist eq '')
{
return(0);
}else
{
return($exist);
}
my($borrowernumber,$date_due) = @_;
my $dbh = C4::Context->dbh;
my @formatdate;
@formatdate=split('-',$date_due);
$date_due=$formatdate[2]."/".$formatdate[1]."/".$formatdate[0];
my $query = qq|SELECT notify_id FROM accountlines
WHERE description like ?
AND borrowernumber =?
AND( accounttype='FU' OR accounttype='F' )
AND notify_id != 0
AND notify_id != 1|;
my $sth=$dbh->prepare($query);
$sth->execute("%$date_due%",$borrowernumber);
my ($exist)=$sth->fetchrow;
$sth->finish;
if ($exist eq '')
{
return(0);
}else
{
return($exist);
}
}
=item CheckAccountLineItemInfo

View File

@ -91,7 +91,7 @@ if($delays1 and $delays2 and $delays3) {
UpdateFine($data->[$i]->{'itemnumber'},$data->[$i]->{'borrowernumber'},$amount,$type,$due);
my $getnotifyid=CheckExistantNotifyid($borrower->{'borrowernumber'},$datedue);
my $update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},1);
my $update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},1,$datedue);
if ($update eq '0'){
if ($getnotifyid eq '0'){
$starter=GetNextIdNotify($reference,$borrower->{'borrowernumber'});
@ -118,7 +118,7 @@ if($delays1 and $delays2 and $delays3) {
if ($daycount >= $delays2 && $daycount < $delays3){
my $debarred2=GetOverduerules($borrower->{'categorycode'},2);
(UpdateBorrowerDebarred($borrower->{'borrowernumber'}))if(($debarred2 eq '1' ) and ($debarredstatus eq '0'));
my $update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},2);
my $update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},2,$datedue);
if ($update eq '0'){
UpdateAccountLines(undef,2,$borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'});
}
@ -129,7 +129,7 @@ if($delays1 and $delays2 and $delays3) {
if ($daycount >= $delays3 ){
my $debarred3=GetOverduerules($borrower->{'categorycode'},3);
(UpdateBorrowerDebarred($borrower->{'borrowernumber'}))if(($debarred3 eq '1' ) and ($debarredstatus eq '0'));
my $update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},3);
my $update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},3,$datedue);
if ($update eq '0'){
UpdateAccountLines(undef,3,$borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'});
}