3 #written 11/1/2000 by chris@katipo.co.nz
4 #script to write off accounts
12 #print $input->header;
17 my @name=$input->param;
18 for (my $i=0;$i<@name;$i++){
19 my $test=$input->param($name[$i]);
23 $inp{$name[$i]}=$temp;
27 while ( my ($key, $value) = each %inp){
29 my $accounttype=$input->param("accounttype$value");
30 $bornum=$input->param("bornum$value");
31 my $itemno=$input->param("itemnumber$value");
32 my $amount=$input->param("amount$value");
33 if ($accounttype eq 'Res'){
34 my $accountno=$input->param("accountno$value");
35 writeoff($bornum,$accountno,$itemno,$accounttype,$amount);
37 writeoff($bornum,'',$itemno,$accounttype,$amount);
40 #print $input->header;
41 $bornum=$input->param('bornum');
42 print $input->redirect("/cgi-bin/koha/pay.pl?bornum=$bornum");
44 #needs to be shifted to a module when time permits
46 my ($bornum,$accountnum,$itemnum,$accounttype,$amount)=@_;
47 my $user=$input->remote_user;
53 my $query="Update accountlines set amountoutstanding=0 where ";
54 if ($accounttype eq 'Res'){
55 $query.="accounttype='Res' and accountno='$accountnum' and borrowernumber='$bornum'";
57 $query.="accounttype='$accounttype' and itemnumber='$itemnum' and borrowernumber='$bornum'";
59 my $sth=$dbh->prepare($query);
63 $query="select max(accountno) from accountlines";
64 $sth=$dbh->prepare($query);
66 my $account=$sth->fetchrow_hashref;
68 $account->{'max(accountno)'}++;
69 $query="insert into accountlines (borrowernumber,accountno,itemnumber,date,amount,description,accounttype)
70 values ('$bornum','$account->{'max(accountno)'}','$itemnum',now(),'$amount','Writeoff','W')";
71 $sth=$dbh->prepare($query);
76 UpdateStats($env,$user,'writeoff',$amount,'','','',$bornum);