X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/12727b136690f21b83182f05db72d7aeaa93ea5d..335fc788611b85c4879e701fba2892ec1ed2c8dd:/SL/RP.pm diff --git a/SL/RP.pm b/SL/RP.pm index a18452e67..48a3d2809 100644 --- a/SL/RP.pm +++ b/SL/RP.pm @@ -1866,88 +1866,4 @@ sub income_statement { } $main::lxdebug->leave_sub(); } - -sub erfolgsrechnung { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - $form->{company} = $::instance_conf->get_company; - $form->{address} = $::instance_conf->get_address; - - # wrong user inputs should be handled during users input - # e.g. spaces, tabs, wrong format or wrong dates - $form->{fromdate} = "01.01.2000" if !$form->{fromdate}; - $form->{todate} = $form->current_date(%{$myconfig}) if !$form->{todate}; - - my %categories = (I => "ERTRAG", E => "AUFWAND"); - my $fromdate = conv_dateq($form->{fromdate}); - my $todate = conv_dateq($form->{todate}); - - $form->{total} = 0; - foreach my $category (keys %categories) { - my %category = ( - name => $categories{$category}, - total => 0, - accounts => get_accounts_ch($category), - ); - foreach my $account (@{$category{accounts}}) { - $account->{total} += ($account->{category} eq $category ? 1 : -1) * get_total_ch($account->{id}, $fromdate, $todate); - $category{total} += $account->{total}; - $account->{total} = $form->format_amount($myconfig, $form->parse_amount($myconfig, $account->{total}), 2); - } - $form->{total} += $category{total}; - $category{total} = $form->format_amount($myconfig, $form->parse_amount($myconfig, $category{total}), 2); - push(@{$form->{categories}}, \%category); - } - $form->{total} = $form->format_amount($myconfig, $form->parse_amount($myconfig, $form->{total}), 2); - - $main::lxdebug->leave_sub(); - return {}; -} - -sub get_accounts_ch { - $main::lxdebug->enter_sub(); - - my ($category) = @_; - my ($inclusion); - - if ($category eq 'I') { - $inclusion = "AND pos_er = NULL OR pos_er > '0' AND pos_er <= '5'"; - } elsif ($category eq 'E') { - $inclusion = "AND pos_er = NULL OR pos_er >= '6' AND pos_er < '100'"; - } else { - $inclusion = ""; - } - - my $query = qq| - SELECT id, accno, description, category - FROM chart - WHERE category = ? $inclusion - ORDER BY accno - |; - my $accounts = selectall_hashref_query($::form, $::form->get_standard_dbh, $query, $category); - - $main::lxdebug->leave_sub(); - return $accounts; -} - -sub get_total_ch { - $main::lxdebug->enter_sub(); - - my ($chart_id, $fromdate, $todate) = @_; - my $total = 0; - my $query = qq| - SELECT SUM(amount) - FROM acc_trans - WHERE chart_id = ? - AND transdate >= ? - AND transdate <= ? - |; - my $data = selectfirst_hashref_query($::form, $::form->get_standard_dbh, $query, $chart_id, $fromdate, $todate); - $total += $data->{sum}; - - $main::lxdebug->leave_sub(); - return $total; -} - 1;