X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FRP.pm;h=1ee39843c34fccd69b24e96940e47b2ce5c4d51f;hb=6f2893dcf199d5e5147cc2020c2ab6984f4274dc;hp=e4fb848cffecd6739b2fbfbe518ca0c653d0deda;hpb=acd5752aff6f10f3d19b33da176a07895efcb964;p=kivitendo-erp.git diff --git a/SL/RP.pm b/SL/RP.pm index e4fb848cf..1ee39843c 100644 --- a/SL/RP.pm +++ b/SL/RP.pm @@ -37,9 +37,9 @@ package RP; use SL::DBUtils; use Data::Dumper; use List::Util qw(sum); -# use strict; -# use warnings; +# use warnings; +use strict; # new implementation of balance sheet # readme! @@ -215,6 +215,8 @@ sub get_accounts { } if ($form->{project_id}) { + # Diese Bedingung wird derzeit niemals wahr sein, da man in Bericht->Bilanz keine + # Projekte auswählen kann $project = qq| AND (ac.project_id = | . conv_i($form->{project_id}, 'NULL') . qq|) |; } @@ -231,8 +233,8 @@ sub get_accounts { AND ac.trans_id IN ( SELECT trans_id - FROM acc_trans - JOIN chart ON (chart_id = id) + FROM acc_trans a + JOIN chart c ON (a.chart_id = c.id) WHERE (link LIKE '%AR_paid%') $subwhere ) @@ -252,8 +254,8 @@ sub get_accounts { AND ac.trans_id IN ( SELECT trans_id - FROM acc_trans - JOIN chart ON (chart_id = id) + FROM acc_trans a + JOIN chart c ON (a.chart_id = c.id) WHERE (link LIKE '%AP_paid%') $subwhere ) @@ -276,6 +278,7 @@ sub get_accounts { GROUP BY c.accno, c.description, c.category |; if ($form->{project_id}) { + # s.o. keine Projektauswahl in Bilanz $query .= qq| UNION ALL @@ -293,8 +296,8 @@ sub get_accounts { AND ac.trans_id IN ( SELECT trans_id - FROM acc_trans - JOIN chart ON (chart_id = id) + FROM acc_trans a + JOIN chart c ON (a.chart_id = c.id) WHERE (link LIKE '%AR_paid%') $subwhere ) @@ -315,8 +318,8 @@ sub get_accounts { AND ac.trans_id IN ( SELECT trans_id - FROM acc_trans - JOIN chart ON (chart_id = id) + FROM acc_trans a + JOIN chart c ON (a.chart_id = c.id) WHERE link LIKE '%AP_paid%' $subwhere ) @@ -325,10 +328,12 @@ sub get_accounts { } } else { # if ($form->{method} eq 'cash') - if ($department_id) { - $dpt_join = qq| JOIN dpt_trans t ON (t.trans_id = ac.trans_id) |; - $dpt_where = qq| AND t.department_id = $department_id |; - } + # ich sehe keinen sinn das nochmal explizit ohne conv_i aufzurufen + # bitte prüfen und löschen jan 15.11.2009 + # if ($department_id) { + # $dpt_join = qq| JOIN dpt_trans t ON (t.trans_id = ac.trans_id) |; + # $dpt_where = qq| AND t.department_id = $department_id |; + # } $query = qq| SELECT c.accno, sum(ac.amount) AS amount, c.description, c.category @@ -342,6 +347,7 @@ sub get_accounts { GROUP BY c.accno, c.description, c.category |; if ($form->{project_id}) { + # s.o. keine Projektauswahl in Bilanz $query .= qq| UNION ALL @@ -439,6 +445,7 @@ sub get_accounts_g { my $glwhere = ""; my $prwhere = ""; my $subwhere = ""; + my $inwhere = ""; my $item; if ($fromdate) { @@ -512,7 +519,7 @@ sub get_accounts_g { JOIN ar a ON (a.id = ac.trans_id) $dpt_join WHERE $where $dpt_where - AND ac.trans_id IN ( SELECT trans_id FROM acc_trans JOIN chart ON (chart_id = id) WHERE (link LIKE '%AR_paid%') $subwhere) + AND ac.trans_id IN ( SELECT trans_id FROM acc_trans a JOIN chart c ON (a.chart_id = c.id) WHERE (link LIKE '%AR_paid%') $subwhere) $project GROUP BY c.$category */ @@ -524,7 +531,7 @@ sub get_accounts_g { JOIN ap a ON (a.id = ac.trans_id) $dpt_join WHERE $where $dpt_where - AND ac.trans_id IN ( SELECT trans_id FROM acc_trans JOIN chart ON (chart_id = id) WHERE (link LIKE '%AP_paid%') $subwhere) + AND ac.trans_id IN ( SELECT trans_id FROM acc_trans a JOIN chart c ON (a.chart_id = c.id) WHERE (link LIKE '%AP_paid%') $subwhere) $project GROUP BY c.$category @@ -552,7 +559,7 @@ sub get_accounts_g { JOIN chart c on (p.income_accno_id = c.id) $dpt_join WHERE (c.category = 'I') $prwhere $dpt_where - AND ac.trans_id IN ( SELECT trans_id FROM acc_trans JOIN chart ON (chart_id = id) WHERE (link LIKE '%AR_paid%') $subwhere) + AND ac.trans_id IN ( SELECT trans_id FROM acc_trans a JOIN chart c ON (a.chart_id = c.id) WHERE (link LIKE '%AR_paid%') $subwhere) $project GROUP BY c.$category @@ -565,17 +572,17 @@ sub get_accounts_g { JOIN chart c on (p.expense_accno_id = c.id) $dpt_join WHERE (c.category = 'E') $prwhere $dpt_where - AND ac.trans_id IN ( SELECT trans_id FROM acc_trans JOIN chart ON (chart_id = id) WHERE (link LIKE '%AP_paid%') $subwhere) + AND ac.trans_id IN ( SELECT trans_id FROM acc_trans a JOIN chart c ON (a.chart_id = c.id) WHERE (link LIKE '%AP_paid%') $subwhere) $project GROUP BY c.$category |; } } else { # if ($form->{method} eq 'cash') - if ($department_id) { - $dpt_join = qq| JOIN dpt_trans t ON (t.trans_id = ac.trans_id) |; - $dpt_where = qq| AND (t.department_id = | . conv_i($department_id, 'NULL') . qq|) |; - } + # s.o. jan 15.11.2009 +# if ($department_id) { +# ($dpt_join, $dpt_where) = sql_department($department_id); +# } $query = qq| SELECT sum(ac.amount * chart_category_to_sgn(c.category)) AS amount, c.$category @@ -776,6 +783,7 @@ sub trial_balance { my $glwhere = ''; my $glsumwhere = ''; my $tofrom; + my ($fromdate, $todate); if ($form->{fromdate} || $form->{todate}) { if ($form->{fromdate}) { @@ -1190,7 +1198,7 @@ sub aging { AND (exchangerate.transdate = ${arap}.transdate)) AS exchangerate FROM ${arap}, ${ct} WHERE ((paid != amount) OR (datepaid > (date $todate) AND datepaid is not null)) - AND (${arap}.storno IS FALSE) + AND NOT COALESCE (${arap}.storno, 'f') AND (${arap}.${ct}_id = ${ct}.id) AND (${ct}.id = ?) AND (transdate <= (date $todate) $fromwhere ) @@ -1326,8 +1334,8 @@ sub tax_report { AND ac.trans_id IN ( SELECT trans_id - FROM acc_trans - JOIN chart ON (chart_id = id) + FROM acc_trans a + JOIN chart c ON (a.chart_id = c.id) WHERE (link LIKE '%${ARAP}_paid%') AND (transdate <= $todate) ) @@ -1804,26 +1812,26 @@ sub ustva { &get_accounts_g($dbh, $last_period, $form->{fromdate}, $form->{todate}, $form, "pos_ustva"); # foreach $item (@categories_cent) { - # if ($form->{$item}{"jetzt"} > 0) { - # $form->{$item} = $form->{$item}{"jetzt"}; - # delete $form->{$item}{"jetzt"}; - # } + # if ($form->{$item}{"jetzt"} > 0) { + # $form->{$item} = $form->{$item}{"jetzt"}; + # delete $form->{$item}{"jetzt"}; + # } # } # foreach $item (@categories_euro) { - # if ($form->{$item}{"jetzt"} > 0) { - # $form->{$item} = $form->{$item}{"jetzt"}; - # delete $form->{$item}{"jetzt"}; - # } foreach $item (@categories_cent) { - # if ($form->{$item}{"jetzt"} > 0) { - # $form->{$item} = $form->{$item}{"jetzt"}; - # delete $form->{$item}{"jetzt"}; - # } + # if ($form->{$item}{"jetzt"} > 0) { + # $form->{$item} = $form->{$item}{"jetzt"}; + # delete $form->{$item}{"jetzt"}; + # } foreach $item (@categories_cent) { + # if ($form->{$item}{"jetzt"} > 0) { + # $form->{$item} = $form->{$item}{"jetzt"}; + # delete $form->{$item}{"jetzt"}; + # } # } # foreach $item (@categories_euro) { - # if ($form->{$item}{"jetzt"} > 0) { - # $form->{$item} = $form->{$item}{"jetzt"}; - # delete $form->{$item}{"jetzt"}; - # } + # if ($form->{$item}{"jetzt"} > 0) { + # $form->{$item} = $form->{$item}{"jetzt"}; + # delete $form->{$item}{"jetzt"}; + # } # } # # }