[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-devel] CVS: koha/C4 Accounts2.pm,1.5,1.6
From: |
Chris Cormack |
Subject: |
[Koha-devel] CVS: koha/C4 Accounts2.pm,1.5,1.6 |
Date: |
Wed, 02 May 2001 14:13:17 -0700 |
Update of /cvsroot/koha/koha/C4
In directory usw-pr-cvs1:/tmp/cvs-serv8720/C4
Modified Files:
Accounts2.pm
Log Message:
Added functions to add credits and invoices to borrowers account
Index: Accounts2.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Accounts2.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** Accounts2.pm 2001/05/01 23:24:50 1.5
--- Accounts2.pm 2001/05/02 21:13:15 1.6
***************
*** 16,20 ****
@ISA = qw(Exporter);
! @EXPORT = qw(&recordpayment &fixaccounts &makepayment);
%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
--- 16,20 ----
@ISA = qw(Exporter);
! @EXPORT = qw(&recordpayment &fixaccounts &makepayment &manualinvoice);
%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
***************
*** 197,201 ****
$sth->execute;
$sth->finish;
! my @datearr = localtime($time);
my $date = (1900+$datearr[5])."-".($datearr[4]+1)."-".$datearr[3];
my $bor="$borrower->{'firstname'} $borrower->{'surname'}
$borrower->{'cardnumber'}";
--- 197,201 ----
$sth->execute;
$sth->finish;
! my @datearr = localtime(time);
my $date = (1900+$datearr[5])."-".($datearr[4]+1)."-".$datearr[3];
my $bor="$borrower->{'firstname'} $borrower->{'surname'}
$borrower->{'cardnumber'}";
***************
*** 207,209 ****
--- 207,290 ----
}
+ sub manualinvoice{
+ my ($bornum,$itemnum,$desc,$type,$amount)address@hidden;
+ my $dbh=C4Connect;
+ my $insert;
+ $itemnum=~ s/ //g;
+ my $accountno=getnextacctno('',$bornum,$dbh);
+ my $amountleft=$amount;
+
+ if ($type eq 'C' || $type eq 'BAY'){
+ my $amount2=$amount*-1;
+ $amountleft=fixcredit('',$bornum,$amount2);
+ }
+ if ($type eq 'N'){
+ $desc.="New Card";
+ }
+ if ($type eq 'L' && $desc eq ''){
+ $desc="Lost Item";
+ }
+ if ($itemnum ne ''){
+ my $sth=$dbh->prepare("Select * from items where barcode='$itemnum'");
+ $sth->execute;
+ my $data=$sth->fetchrow_hashref;
+ $sth->finish;
+ $desc.=" ".$itemnum;
+ $insert="insert into accountlines
(borrowernumber,accountno,date,amount,description,accounttype,amountoutstanding,itemnumber)
+ values
($bornum,$accountno,now(),'$amount','$desc','$type','$amountleft','$data->{'itemnumber'}')";
+ } else {
+ $insert="insert into accountlines
(borrowernumber,accountno,date,amount,description,accounttype,amountoutstanding)
+ values
($bornum,$accountno,now(),'$amount','$desc','$type','$amountleft')";
+ }
+
+ my $sth=$dbh->prepare($insert);
+ $sth->execute;
+ $sth->finish;
+
+ $dbh->disconnect;
+ }
+
+ sub fixcredit{
+ #here we update both the accountoffsets and the account lines
+ my ($env,$bornumber,$data)address@hidden;
+ my $dbh=C4Connect;
+ my $updquery = "";
+ my $newamtos = 0;
+ my $accdata = "";
+ # my $branch=$env->{'branchcode'};
+ my $amountleft = $data;
+ # begin transaction
+ my $nextaccntno = getnextacctno($env,$bornumber,$dbh);
+ # get lines with outstanding amounts to offset
+ my $query = "select * from accountlines
+ where (borrowernumber = '$bornumber') and (amountoutstanding<>0)
+ order by date";
+ my $sth = $dbh->prepare($query);
+ $sth->execute;
+ # offset transactions
+ while (($accdata=$sth->fetchrow_hashref) and ($amountleft>0)){
+ if ($accdata->{'amountoutstanding'} < $amountleft) {
+ $newamtos = 0;
+ $amountleft = $amountleft - $accdata->{'amountoutstanding'};
+ } else {
+ $newamtos = $accdata->{'amountoutstanding'} - $amountleft;
+ $amountleft = 0;
+ }
+ my $thisacct = $accdata->{accountno};
+ $updquery = "update accountlines set amountoutstanding= '$newamtos'
+ where (borrowernumber = '$bornumber') and (accountno='$thisacct')";
+ my $usth = $dbh->prepare($updquery);
+ $usth->execute;
+ $usth->finish;
+ $updquery = "insert into accountoffsets
+ (borrowernumber, accountno, offsetaccount, offsetamount)
+ values ($bornumber,$accdata->{'accountno'},$nextaccntno,$newamtos)";
+ my $usth = $dbh->prepare($updquery);
+ $usth->execute;
+ $usth->finish;
+ }
+ $sth->finish;
+ $dbh->disconnect;
+ return($amountleft);
+ }
END { } # module clean-up code here (global destructor)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-devel] CVS: koha/C4 Accounts2.pm,1.5,1.6,
Chris Cormack <=
- Prev by Date:
[Koha-devel] CVS: koha boraccount.pl,1.1.1.1,1.2 moremember.pl,1.5,1.6
- Next by Date:
[Koha-devel] CVS: koha/C4/Circulation Circ2.pm,1.15,1.16
- Previous by thread:
[Koha-devel] CVS: koha boraccount.pl,1.1.1.1,1.2 moremember.pl,1.5,1.6
- Next by thread:
[Koha-devel] CVS: koha/C4/Circulation Circ2.pm,1.15,1.16
- Index(es):