X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FGL.pm;h=4c892e764713f886230f733968c1be7a88222ebf;hb=824735fcfa7c7bb9a5e76ceb2214c6a7cb42e60a;hp=245e5b8008776b4d48fbcdcaf674397bd23697a9;hpb=f60e94b5ac8c2a20711101a551534bb7a0276d6c;p=kivitendo-erp.git diff --git a/SL/GL.pm b/SL/GL.pm index 245e5b800..4c892e764 100644 --- a/SL/GL.pm +++ b/SL/GL.pm @@ -123,12 +123,12 @@ sub _post_transaction { $query = qq|UPDATE gl SET reference = ?, description = ?, notes = ?, - transdate = ?, deliverydate = ?, department_id = ?, taxincluded = ?, + transdate = ?, deliverydate = ?, tax_point = ?, department_id = ?, taxincluded = ?, storno = ?, storno_id = ?, ob_transaction = ?, cb_transaction = ? WHERE id = ?|; @values = ($form->{reference}, $form->{description}, $form->{notes}, - conv_date($form->{transdate}), conv_date($form->{deliverydate}), conv_i($form->{department_id}), $form->{taxincluded} ? 't' : 'f', + conv_date($form->{transdate}), conv_date($form->{deliverydate}), conv_date($form->{tax_point}), conv_i($form->{department_id}), $form->{taxincluded} ? 't' : 'f', $form->{storno} ? 't' : 'f', conv_i($form->{storno_id}), $form->{ob_transaction} ? 't' : 'f', $form->{cb_transaction} ? 't' : 'f', conv_i($form->{id})); do_query($form, $dbh, $query, @values); @@ -328,10 +328,15 @@ sub all_transactions { push(@apvalues, $project_id, $project_id); } - my ($project_columns, $project_join); + my ($project_columns, $project_join); + my ($arap_globalproject_columns, $arap_globalproject_join); + my ($gl_globalproject_columns); if ($form->{"l_projectnumbers"}) { - $project_columns = qq|, ac.project_id, pr.projectnumber|; - $project_join = qq|LEFT JOIN project pr ON (ac.project_id = pr.id)|; + $project_columns = qq|, ac.project_id, pr.projectnumber|; + $project_join = qq|LEFT JOIN project pr ON (ac.project_id = pr.id)|; + $arap_globalproject_columns = qq|, a.globalproject_id, globalpr.projectnumber AS globalprojectnumber|; + $arap_globalproject_join = qq|LEFT JOIN project globalpr ON (a.globalproject_id = globalpr.id)|; + $gl_globalproject_columns = qq|, NULL AS globalproject_id, '' AS globalprojectnumber|; } if ($form->{accno}) { @@ -356,6 +361,7 @@ sub all_transactions { 'reference' => [ qw(lower_reference id) ], 'description' => [ qw(lower_description id) ], 'accno' => [ qw(accno transdate id) ], + 'department' => [ qw(department transdate id) ], ); my %lowered_columns = ( 'reference' => { 'gl' => 'g.reference', 'arap' => 'a.invnumber', }, @@ -381,11 +387,13 @@ sub all_transactions { ac.acc_trans_id, g.id, 'gl' AS type, FALSE AS invoice, g.reference, ac.taxkey, c.link, g.description, ac.transdate, ac.gldate, ac.source, ac.trans_id, ac.amount, c.accno, g.notes, t.chart_id, + d.description AS department, CASE WHEN (COALESCE(e.name, '') = '') THEN e.login ELSE e.name END AS employee - $project_columns + $project_columns $gl_globalproject_columns $columns_for_sorting{gl} FROM gl g - LEFT JOIN employee e ON (g.employee_id = e.id), + LEFT JOIN employee e ON (g.employee_id = e.id) + LEFT JOIN department d ON (g.department_id = d.id), acc_trans ac $project_join, chart c LEFT JOIN tax t ON (t.chart_id = c.id) WHERE $glwhere @@ -397,11 +405,14 @@ sub all_transactions { SELECT ac.acc_trans_id, a.id, 'ar' AS type, a.invoice, a.invnumber, ac.taxkey, c.link, ct.name, ac.transdate, ac.gldate, ac.source, ac.trans_id, ac.amount, c.accno, a.notes, t.chart_id, + d.description AS department, CASE WHEN (COALESCE(e.name, '') = '') THEN e.login ELSE e.name END AS employee - $project_columns + $project_columns $arap_globalproject_columns $columns_for_sorting{arap} FROM ar a - LEFT JOIN employee e ON (a.employee_id = e.id), + LEFT JOIN employee e ON (a.employee_id = e.id) + LEFT JOIN department d ON (a.department_id = d.id) + $arap_globalproject_join, acc_trans ac $project_join, customer ct, chart c LEFT JOIN tax t ON (t.chart_id=c.id) WHERE $arwhere @@ -414,11 +425,14 @@ sub all_transactions { SELECT ac.acc_trans_id, a.id, 'ap' AS type, a.invoice, a.invnumber, ac.taxkey, c.link, ct.name, ac.transdate, ac.gldate, ac.source, ac.trans_id, ac.amount, c.accno, a.notes, t.chart_id, + d.description AS department, CASE WHEN (COALESCE(e.name, '') = '') THEN e.login ELSE e.name END AS employee - $project_columns + $project_columns $arap_globalproject_columns $columns_for_sorting{arap} FROM ap a - LEFT JOIN employee e ON (a.employee_id = e.id), + LEFT JOIN employee e ON (a.employee_id = e.id) + LEFT JOIN department d ON (a.department_id = d.id) + $arap_globalproject_join, acc_trans ac $project_join, vendor ct, chart c LEFT JOIN tax t ON (t.chart_id=c.id) WHERE $apwhere @@ -484,7 +498,8 @@ sub all_transactions { } $ref->{"projectnumbers"} = {}; - $ref->{"projectnumbers"}->{$ref->{"projectnumber"}} = 1 if ($ref->{"projectnumber"}); + $ref->{"projectnumbers"}->{$ref->{"projectnumber"}} = 1 if ($ref->{"projectnumber"}); + $ref->{"projectnumbers"}->{$ref->{"globalprojectnumber"}} = 1 if ($ref->{"globalprojectnumber"}); $balance = $ref->{amount}; @@ -540,7 +555,8 @@ sub all_transactions { $balance = (int($balance * 100000) + int(100000 * $ref2->{amount})) / 100000; - $ref->{"projectnumbers"}->{$ref2->{"projectnumber"}} = 1 if ($ref2->{"projectnumber"}); + $ref->{"projectnumbers"}->{$ref2->{"projectnumber"}} = 1 if ($ref2->{"projectnumber"}); + $ref->{"projectnumbers"}->{$ref2->{"globalprojectnumber"}} = 1 if ($ref2->{"globalprojectnumber"}); if ($ref2->{chart_id} > 0) { # all tax accounts, following lines if ($ref2->{amount} < 0) { @@ -637,7 +653,7 @@ sub transaction { if ($form->{id}) { $query = - qq|SELECT g.reference, g.description, g.notes, g.transdate, g.deliverydate, + qq|SELECT g.reference, g.description, g.notes, g.transdate, g.deliverydate, g.tax_point, g.storno, g.storno_id, g.department_id, d.description AS department, e.name AS employee, g.taxincluded, g.gldate, @@ -835,12 +851,14 @@ The functions returns an array which may be used for building dropdowns in ar/ap =head1 TODO +Nothing here yet. + =head1 BUGS Nothing here yet. =head1 AUTHOR -G. Richardson Egrichardson@kivitec.de +G. Richardson Egrichardson@kivitec.deE =cut