X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FOverdues.pm;h=28b135c5a4ce324391eaec0edf25080167903a51;hb=238a050b3139c22295899789c04b930ea74656c5;hp=7ea969c860bef83d042ca9443a666d22e5840559;hpb=6241d54c52b9ad1e8f1117b260cbbc86c4d37faa;p=koha.git diff --git a/C4/Overdues.pm b/C4/Overdues.pm index 7ea969c860..28b135c5a4 100644 --- a/C4/Overdues.pm +++ b/C4/Overdues.pm @@ -2,6 +2,7 @@ package C4::Overdues; # Copyright 2000-2002 Katipo Communications +# copyright 2010 BibLibre # # This file is part of Koha. # @@ -156,7 +157,7 @@ LEFT JOIN biblioitems USING (biblioitemnumber) =head2 checkoverdues -($count, $overdueitems) = checkoverdues($borrowernumber); + ($count, $overdueitems) = checkoverdues($borrowernumber); Returns a count and a list of overdueitems for a given borrowernumber @@ -180,8 +181,9 @@ sub checkoverdues { =head2 CalcFine - ($amount, $chargename, $daycount, $daycounttotal) = - &CalcFine($item, $categorycode, $branch, $days_overdue, $description, $start_date, $end_date ); + ($amount, $chargename, $daycount, $daycounttotal) = &CalcFine($item, + $categorycode, $branch, $days_overdue, + $description, $start_date, $end_date ); Calculates the fine for a book. @@ -277,7 +279,7 @@ sub CalcFine { =head2 GetSpecialHolidays -&GetSpecialHolidays($date_dues,$itemnumber); + &GetSpecialHolidays($date_dues,$itemnumber); return number of special days between date of the day and date due @@ -335,7 +337,7 @@ AND branchcode=? =head2 GetRepeatableHolidays -&GetRepeatableHolidays($date_dues, $itemnumber, $difference,); + &GetRepeatableHolidays($date_dues, $itemnumber, $difference,); return number of day closed between date of the day and date due @@ -373,7 +375,7 @@ sub GetRepeatableHolidays { =head2 GetWayFromItemnumber -&Getwdayfromitemnumber($itemnumber); + &Getwdayfromitemnumber($itemnumber); return the different week day from repeatable_holidays table @@ -401,7 +403,7 @@ sub GetWdayFromItemnumber { =head2 GetIssuesIteminfo -&GetIssuesIteminfo($itemnumber); + &GetIssuesIteminfo($itemnumber); return all data from issues about item @@ -425,7 +427,7 @@ sub GetIssuesIteminfo { =head2 UpdateFine - &UpdateFine($itemnumber, $borrowernumber, $amount, $type, $description); + &UpdateFine($itemnumber, $borrowernumber, $amount, $type, $description); (Note: the following is mostly conjecture and guesswork.) @@ -487,12 +489,12 @@ sub UpdateFine { if ( my $data = $sth->fetchrow_hashref ) { - # we're updating an existing fine. Only modify if we're adding to the charge. + # we're updating an existing fine. Only modify if amount changed # Note that in the current implementation, you cannot pay against an accruing fine # (i.e. , of accounttype 'FU'). Doing so will break accrual. if ( $data->{'amount'} != $amount ) { my $diff = $amount - $data->{'amount'}; - $diff = 0 if ( $data->{amount} > $amount); + #3341: diff could be positive or negative! my $out = $data->{'amountoutstanding'} + $diff; my $query = " UPDATE accountlines @@ -552,7 +554,7 @@ sub UpdateFine { =head2 BorType - $borrower = &BorType($borrowernumber); + $borrower = &BorType($borrowernumber); Looks up a patron by borrower number. @@ -578,7 +580,7 @@ sub BorType { =head2 ReplacementCost - $cost = &ReplacementCost($itemnumber); + $cost = &ReplacementCost($itemnumber); Returns the replacement cost of the item with the given item number. @@ -599,7 +601,7 @@ sub ReplacementCost { =head2 GetFine -$data->{'sum(amountoutstanding)'} = &GetFine($itemnum,$borrowernumber); + $data->{'sum(amountoutstanding)'} = &GetFine($itemnum,$borrowernumber); return the total of fine @@ -628,7 +630,7 @@ sub GetFine { FIXME - This sub should be deprecated and removed. It ignores branch and defaults. -$data = &GetIssuingRules($itemtype,$categorycode); + $data = &GetIssuingRules($itemtype,$categorycode); Looks up for all issuingrules an item info @@ -675,7 +677,7 @@ sub ReplacementCost2 { =head2 GetNextIdNotify -($result) = &GetNextIdNotify($reference); + ($result) = &GetNextIdNotify($reference); Returns the new file number @@ -714,7 +716,7 @@ sub GetNextIdNotify { =head2 NumberNotifyId -(@notify) = &NumberNotifyId($borrowernumber); + (@notify) = &NumberNotifyId($borrowernumber); Returns amount for all file per borrowers C<@notify> array contains all file per borrowers @@ -740,7 +742,7 @@ sub NumberNotifyId{ =head2 AmountNotify -($totalnotify) = &AmountNotify($notifyid); + ($totalnotify) = &AmountNotify($notifyid); Returns amount for all file per borrowers C<$notifyid> is the file number @@ -767,7 +769,7 @@ sub AmountNotify{ =head2 GetNotifyId -($notify_id) = &GetNotifyId($borrowernumber,$itemnumber); + ($notify_id) = &GetNotifyId($borrowernumber,$itemnumber); Returns the file number per borrower and itemnumber @@ -797,7 +799,9 @@ sub GetNotifyId { =head2 CreateItemAccountLine -() = &CreateItemAccountLine($borrowernumber,$itemnumber,$date,$amount,$description,$accounttype,$amountoutstanding,$timestamp,$notify_id,$level); + () = &CreateItemAccountLine($borrowernumber, $itemnumber, $date, $amount, + $description, $accounttype, $amountoutstanding, + $timestamp, $notify_id, $level); update the account lines with file number or with file level @@ -850,7 +854,7 @@ sub CreateItemAccountLine { =head2 UpdateAccountLines -() = &UpdateAccountLines($notify_id,$notify_level,$borrowernumber,$itemnumber); + () = &UpdateAccountLines($notify_id,$notify_level,$borrowernumber,$itemnumber); update the account lines with file number or with file level @@ -893,7 +897,7 @@ sub UpdateAccountLines { =head2 GetItems -($items) = &GetItems($itemnumber); + ($items) = &GetItems($itemnumber); Returns the list of all delays from overduerules. @@ -922,7 +926,7 @@ sub GetItems { =head2 GetOverdueDelays -(@delays) = &GetOverdueDelays($categorycode); + (@delays) = &GetOverdueDelays($categorycode); Returns the list of all delays from overduerules. @@ -945,27 +949,27 @@ sub GetOverdueDelays { =head2 GetBranchcodesWithOverdueRules -=over 4 - -my @branchcodes = C4::Overdues::GetBranchcodesWithOverdueRules() + my @branchcodes = C4::Overdues::GetBranchcodesWithOverdueRules() returns a list of branch codes for branches with overdue rules defined. -=back - =cut sub GetBranchcodesWithOverdueRules { my $dbh = C4::Context->dbh; - my $rqoverduebranches = $dbh->prepare("SELECT DISTINCT branchcode FROM overduerules WHERE delay1 IS NOT NULL AND branchcode <> ''"); + my $rqoverduebranches = $dbh->prepare("SELECT DISTINCT branchcode FROM overduerules WHERE delay1 IS NOT NULL AND branchcode <> '' ORDER BY branchcode"); $rqoverduebranches->execute; my @branches = map { shift @$_ } @{ $rqoverduebranches->fetchall_arrayref }; + if (!$branches[0]) { + my $availbranches = C4::Branch::GetBranches(); + @branches = keys %$availbranches; + } return @branches; } =head2 CheckAccountLineLevelInfo -($exist) = &CheckAccountLineLevelInfo($borrowernumber,$itemnumber,$accounttype,notify_level); + ($exist) = &CheckAccountLineLevelInfo($borrowernumber,$itemnumber,$accounttype,notify_level); Check and Returns the list of all overdue books. @@ -999,7 +1003,7 @@ sub CheckAccountLineLevelInfo { =head2 GetOverduerules -($overduerules) = &GetOverduerules($categorycode); + ($overduerules) = &GetOverduerules($categorycode); Returns the value of borrowers (debarred or not) with notify level @@ -1026,7 +1030,7 @@ sub GetOverduerules { =head2 CheckBorrowerDebarred -($debarredstatus) = &CheckBorrowerDebarred($borrowernumber); + ($debarredstatus) = &CheckBorrowerDebarred($borrowernumber); Check if the borrowers is already debarred @@ -1053,7 +1057,7 @@ sub CheckBorrowerDebarred { =head2 UpdateBorrowerDebarred -($borrowerstatut) = &UpdateBorrowerDebarred($borrowernumber); + ($borrowerstatut) = &UpdateBorrowerDebarred($borrowernumber); update status of borrowers in borrowers table (field debarred) @@ -1076,7 +1080,7 @@ sub UpdateBorrowerDebarred{ =head2 CheckExistantNotifyid - ($exist) = &CheckExistantNotifyid($borrowernumber,$itemnumber,$accounttype,$notify_id); + ($exist) = &CheckExistantNotifyid($borrowernumber,$itemnumber,$accounttype,$notify_id); Check and Returns the notify id if exist else return 0. @@ -1103,7 +1107,7 @@ sub CheckExistantNotifyid { =head2 CheckAccountLineItemInfo - ($exist) = &CheckAccountLineItemInfo($borrowernumber,$itemnumber,$accounttype,$notify_id); + ($exist) = &CheckAccountLineItemInfo($borrowernumber,$itemnumber,$accounttype,$notify_id); Check and Returns the list of all overdue items from the same file number(notify_id). @@ -1177,12 +1181,14 @@ sub GetOverduesForBranch { borrowers.phone, borrowers.email, biblio.title, + biblio.author, biblio.biblionumber, issues.date_due, issues.returndate, issues.branchcode, branches.branchname, items.barcode, + items.homebranch, items.itemcallnumber, items.location, items.itemnumber, @@ -1228,9 +1234,9 @@ sub GetOverduesForBranch { =head2 AddNotifyLine -&AddNotifyLine($borrowernumber, $itemnumber, $overduelevel, $method, $notifyId) + &AddNotifyLine($borrowernumber, $itemnumber, $overduelevel, $method, $notifyId) -Creat a line into notify, if the method is phone, the notification_send_date is implemented to +Create a line into notify, if the method is phone, the notification_send_date is implemented to =cut @@ -1258,7 +1264,7 @@ sub AddNotifyLine { =head2 RemoveNotifyLine -&RemoveNotifyLine( $borrowernumber, $itemnumber, $notify_date ); + &RemoveNotifyLine( $borrowernumber, $itemnumber, $notify_date ); Cancel a notification @@ -1283,6 +1289,6 @@ __END__ =head1 AUTHOR -Koha Development Team +Koha Development Team =cut