X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/0ec7b690a6a7793a5e1aa69288cf6a19c76d23d4..26b288f1ba8fc44c0ef9f2a30a24a854e106d6f2:/SL/AP.pm diff --git a/SL/AP.pm b/SL/AP.pm index 4c705410a..f6478d39d 100644 --- a/SL/AP.pm +++ b/SL/AP.pm @@ -222,14 +222,8 @@ sub post_transaction { for $i (1 .. $form->{rowcount}) { if ($form->{"amount_$i"} != 0) { my $project_id; - if ("amount_$i" =~ /amount_/) { - if ($form->{"project_id_$i"} && $form->{"projectnumber_$i"}) { - $project_id = $form->{"project_id_$i"}; - } - } - if ("amount_$i" =~ /amount/) { - $taxkey = $form->{AP_amounts}{"amount_$i"}{taxkey}; - } + $project_id = conv_i($form->{"project_id_$i"}); + $taxkey = $form->{AP_amounts}{"amount_$i"}{taxkey}; # insert detail records in acc_trans $query = @@ -239,7 +233,7 @@ sub post_transaction { qq| ?, ?, ?, ?)|; @values = ($form->{id}, $form->{AP_amounts}{"amount_$i"}, $form->{"amount_$i"}, conv_date($form->{transdate}), - conv_i($project_id), $taxkey); + $project_id, $taxkey); do_query($form, $dbh, $query, @values); if ($form->{"tax_$i"} != 0) { @@ -251,7 +245,7 @@ sub post_transaction { qq| ?, ?, ?, ?)|; @values = ($form->{id}, $form->{AP_amounts}{"tax_$i"}, $form->{"tax_$i"}, conv_date($form->{transdate}), - conv_date($project_id), $taxkey); + $project_id, $taxkey); do_query($form, $dbh, $query, @values); } @@ -260,11 +254,10 @@ sub post_transaction { # add payables $query = - qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id) | . - qq|VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), | . - qq| ?, ?, ?)|; + qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate) | . + qq|VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?)|; @values = ($form->{id}, $form->{AP_amounts}{payables}, $form->{payables}, - conv_date($form->{transdate}), conv_i($project_id)); + conv_date($form->{transdate})); do_query($form, $dbh, $query, @values); # if there is no amount but a payment record a payable @@ -404,10 +397,13 @@ sub ap_transactions { my $query = qq|SELECT a.id, a.invnumber, a.transdate, a.duedate, a.amount, a.paid, | . qq| a.ordnumber, v.name, a.invoice, a.netamount, a.datepaid, a.notes, | . + qq| a.globalproject_id, | . + qq| pr.projectnumber AS globalprojectnumber, | . qq| e.name AS employee | . qq|FROM ap a | . qq|JOIN vendor v ON (a.vendor_id = v.id) | . - qq|LEFT JOIN employee e ON (a.employee_id = e.id)|; + qq|LEFT JOIN employee e ON (a.employee_id = e.id) | . + qq|LEFT JOIN project pr ON (a.globalproject_id = pr.id) |; my $where; my @values; @@ -436,6 +432,13 @@ sub ap_transactions { $where .= " AND lower(a.notes) LIKE ?"; push(@values, $form->like($form->{notes})); } + if ($form->{project_id}) { + $where .= + qq|AND ((a.globalproject_id = ?) OR EXISTS | . + qq| (SELECT * FROM invoice i | . + qq| WHERE i.project_id = ? AND i.trans_id = a.id))|; + push(@values, $form->{project_id}, $form->{project_id}); + } if ($form->{transdatefrom}) { $where .= " AND a.transdate >= ?"; @@ -567,10 +570,11 @@ sub post_payment { do_query($form, $dbh, $query, @values); $query = - qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate) | . - qq|VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?)|; + qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, project_id) | . + qq|VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?, ?)|; @values = ($form->{id}, $form->{AP}, $amount, - conv_date($form->{"datepaid_$i"})); + conv_date($form->{"datepaid_$i"}), + conv_i($form->{"paid_project_id_$i"})); do_query($form, $dbh, $query, @values); $query = @@ -584,11 +588,12 @@ sub post_payment { do_query($form, $dbh, $query, @values); $query = - qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, source, memo) | . - qq|VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?, ?, ?)|; + qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, source, memo, project_id) | . + qq|VALUES (?, (SELECT c.id FROM chart c WHERE c.accno = ?), ?, ?, ?, ?, ?)|; @values = ($form->{id}, $accno, $form->{"paid_$i"}, $form->{"datepaid_$i"}, - $form->{"source_$i"}, $form->{"memo_$i"}); + $form->{"source_$i"}, $form->{"memo_$i"}, + conv_i($form->{"paid_project_id_$i"})); do_query($form, $dbh, $query, @values); # gain/loss