use C4::Context;
use Date::Calc qw/Today/;
use vars qw($VERSION @ISA @EXPORT);
-use C4::Accounts2;
+use C4::Accounts;
use Date::Manip qw/UnixDate/;
use C4::Log; # logaction
=head1 SYNOPSIS
- use C4::Circulation::Fines;
+ use C4::Overdues;
=head1 DESCRIPTION
=cut
@ISA = qw(Exporter);
-@EXPORT = qw( &BorType
+# subs to rename (and maybe merge some...)
+push @EXPORT, qw(
&CalcFine
&Getoverdues
- &GetIssuingRules
&CheckAccountLineLevelInfo
&CheckAccountLineItemInfo
&CheckExistantNotifyid
- &CheckBorrowerDebarred
- &GetIssuesIteminfo
&GetNextIdNotify
- &GetOverdueDelays
- &GetOverduerules
- &GetFine
- &GetItems
&GetNotifyId
- &GetNextIdNotify
&NumberNotifyId
&AmountNotify
&UpdateAccountLines
&UpdateFine
- &UpdateBorrowerDebarred
+ &GetOverdueDelays
+ &GetOverduerules
+ &GetFine
&CreateItemAccountLine
+ &ReplacementCost2
+);
+# subs to remove
+push @EXPORT, qw(
+ &BorType
+);
+
+#
+# All subs to move : check that an equivalent don't exist already before moving
+#
+
+# subs to move to Circulation.pm
+push @EXPORT, qw(
+ &GetIssuingRules
+ &GetIssuesIteminfo
+);
+# subs to move to Members.pm
+push @EXPORT, qw(
+ &CheckBorrowerDebarred
+ &UpdateBorrowerDebarred
+);
+# subs to move to Biblio.pm
+push @EXPORT, qw(
+ &GetItems
&ReplacementCost
- &ReplacementCost2);
+);
=item Getoverdues
my $query = qq|SELECT *
FROM issues
WHERE itemnumber=?
-|;
+ AND returndate IS NULL|;
my $sth = $dbh->prepare($query);
$sth->execute($itemnumber);
my ($issuesinfo)=$sth->fetchrow_hashref;
# $sth3->finish;
# $accountno[0]++;
# begin transaction
- my $nextaccntno = getnextacctno(undef,$borrowernumber,$dbh);
+ my $nextaccntno = getnextacctno($borrowernumber);
my $sth2 = $dbh->prepare(
- "Insert into accountlines
+ "INSERT INTO accountlines
(borrowernumber,itemnumber,date,amount,
- description,accounttype,amountoutstanding,accountno) values
+ description,accounttype,amountoutstanding,accountno) VALUES
(?,?,now(),?,?,'FU',?,?)"
);
$sth2->execute( $borrowernumber, $itemnum, $amount,
sub NumberNotifyId{
my ($borrowernumber)=@_;
my $dbh = C4::Context->dbh;
- my $env;
my $query=qq| SELECT distinct(notify_id)
FROM accountlines
- WHERE borrowernumber=?|;
+ WHERE borrowernumber=?
+ AND notify_id != 0
+ AND notify_id != 1 |;
my @notify;
my $sth=$dbh->prepare($query);
$sth->execute($borrowernumber);
sub CreateItemAccountLine {
my ($borrowernumber,$itemnumber,$date,$amount,$description,$accounttype,$amountoutstanding,$timestamp,$notify_id,$level)=@_;
my $dbh = C4::Context->dbh;
- my $nextaccntno = getnextacctno(undef,$borrowernumber,$dbh);
- my $query= qq|INSERT into accountlines
+ my $nextaccntno = getnextacctno($borrowernumber);
+ my $query= "INSERT into accountlines
(borrowernumber,accountno,itemnumber,date,amount,description,accounttype,amountoutstanding,timestamp,notify_id,notify_level)
VALUES
- (?,?,?,?,?,?,?,?,?,?,?)|;
+ (?,?,?,?,?,?,?,?,?,?,?)";
my $sth=$dbh->prepare($query);
=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
=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