summaryrefslogtreecommitdiff
path: root/sql-ledger/SL/OP.pm
diff options
context:
space:
mode:
Diffstat (limited to 'sql-ledger/SL/OP.pm')
-rw-r--r--sql-ledger/SL/OP.pm118
1 files changed, 0 insertions, 118 deletions
diff --git a/sql-ledger/SL/OP.pm b/sql-ledger/SL/OP.pm
deleted file mode 100644
index 184566c..0000000
--- a/sql-ledger/SL/OP.pm
+++ /dev/null
@@ -1,118 +0,0 @@
-#=====================================================================
-# SQL-Ledger Accounting
-# Copyright (C) 2003
-#
-# Author: Dieter Simader
-# Email: dsimader@sql-ledger.org
-# Web: http://www.sql-ledger.org
-#
-# Contributors:
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#======================================================================
-#
-# Overpayment function
-# used in AR, AP, IS, IR, OE, CP
-#
-#======================================================================
-
-package OP;
-
-sub overpayment {
- my ($self, $myconfig, $form, $dbh, $amount, $ml) = @_;
-
- my $fxamount = $form->round_amount($amount * $form->{exchangerate}, 2);
- my ($paymentaccno) = split /--/, $form->{account};
-
- my $vc_id = "$form->{vc}_id";
-
- my $uid = time;
- $uid .= $form->{login};
-
- # add AR/AP header transaction with a payment
- $query = qq|INSERT INTO $form->{arap} (invnumber, employee_id)
- VALUES ('$uid', (SELECT id FROM employee
- WHERE login = '$form->{login}'))|;
- $dbh->do($query) || $form->dberror($query);
-
- $query = qq|SELECT id FROM $form->{arap}
- WHERE invnumber = '$uid'|;
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
-
- ($uid) = $sth->fetchrow_array;
- $sth->finish;
-
- my $invnumber = $form->{invnumber};
- if (! $invnumber) {
- $invnumber = $form->update_defaults($myconfig, ($form->{arap} eq 'ar') ? "sinumber" : "vinumber", $dbh);
- }
-
- $query = qq|UPDATE $form->{arap} set
- invnumber = |.$dbh->quote($invnumber).qq|,
- $vc_id = $form->{"$form->{vc}_id"},
- transdate = '$form->{datepaid}',
- datepaid = '$form->{datepaid}',
- duedate = '$form->{datepaid}',
- netamount = 0,
- amount = 0,
- paid = $fxamount,
- curr = '$form->{currency}',
- department_id = $form->{department_id}
- WHERE id = $uid|;
- $dbh->do($query) || $form->dberror($query);
-
- # add AR/AP
- ($accno) = split /--/, $form->{$form->{ARAP}};
-
- $query = qq|INSERT INTO acc_trans (trans_id, chart_id, transdate, amount)
- VALUES ($uid, (SELECT id FROM chart
- WHERE accno = '$accno'),
- '$form->{datepaid}', $fxamount * $ml)|;
- $dbh->do($query) || $form->dberror($query);
-
- # add payment
- $query = qq|INSERT INTO acc_trans (trans_id, chart_id, transdate,
- amount, source, memo)
- VALUES ($uid, (SELECT id FROM chart
- WHERE accno = '$paymentaccno'),
- '$form->{datepaid}', $amount * $ml * -1, |
- .$dbh->quote($form->{source}).qq|, |
- .$dbh->quote($form->{memo}).qq|)|;
- $dbh->do($query) || $form->dberror($query);
-
- # add exchangerate difference
- if ($fxamount != $amount) {
- $query = qq|INSERT INTO acc_trans (trans_id, chart_id, transdate,
- amount, cleared, fx_transaction)
- VALUES ($uid, (SELECT id FROM chart
- WHERE accno = '$paymentaccno'),
- '$form->{datepaid}', ($fxamount - $amount) * $ml * -1,
- '1', '1')|;
- $dbh->do($query) || $form->dberror($query);
- }
-
- my %audittrail = ( tablename => $form->{arap},
- reference => $invnumber,
- formname => ($form->{arap} eq 'ar') ? 'deposit' : 'pre-payment',
- action => 'posted',
- id => $uid );
-
- $form->audittrail($dbh, "", \%audittrail);
-
-}
-
-
-1;
-