Revision 7d91a3cf
Von Rolf Fluehmann vor mehr als 7 Jahren hinzugefügt
SL/RP.pm | ||
---|---|---|
my %categories = (I => "ERTRAG", E => "AUFWAND");
|
||
my $fromdate = conv_dateq($form->{fromdate});
|
||
my $todate = conv_dateq($form->{todate});
|
||
my $department_id = conv_i((split /--/, $form->{department})[1], 'NULL');
|
||
|
||
$form->{total} = 0;
|
||
|
||
... | ... | |
my %category = (
|
||
name => $categories{$category},
|
||
total => 0,
|
||
accounts => get_accounts_ch($category),
|
||
accounts => get_accounts_ch($category)
|
||
);
|
||
foreach my $account (@{$category{accounts}}) {
|
||
$account->{total} += get_total_ch($account->{id}, $fromdate, $todate);
|
||
$account->{total} = get_total_ch($department_id, $account->{id}, $fromdate, $todate);
|
||
$category{total} += $account->{total};
|
||
$account->{total} = $form->format_amount($myconfig, $form->round_amount($account->{total}, 2), 2);
|
||
}
|
||
... | ... | |
$main::lxdebug->enter_sub();
|
||
|
||
my ($category) = @_;
|
||
my ($inclusion);
|
||
my $inclusion = '' ;
|
||
|
||
if ($category eq 'I') {
|
||
$inclusion = "AND pos_er = NULL OR pos_er = '1'";
|
||
... | ... | |
sub get_total_ch {
|
||
$main::lxdebug->enter_sub();
|
||
|
||
my ($chart_id, $fromdate, $todate) = @_;
|
||
my ($department_id, $chart_id, $fromdate, $todate) = @_;
|
||
my $total = 0;
|
||
my $query = qq|
|
||
SELECT SUM(amount)
|
||
... | ... | |
AND transdate >= ?
|
||
AND transdate <= ?
|
||
|;
|
||
$total += _query($query, $chart_id, $fromdate, $todate)->[0]->{sum};
|
||
if ($department_id) {
|
||
$query .= qq| AND COALESCE(
|
||
(SELECT department_id FROM ar WHERE ar.id=trans_id),
|
||
(SELECT department_id FROM gl WHERE gl.id=trans_id),
|
||
(SELECT department_id FROM ap WHERE ap.id=trans_id)
|
||
) = ? |;
|
||
$total += _query($query, $chart_id, $fromdate, $todate, $department_id)->[0]->{sum};
|
||
} else {
|
||
$total += _query($query, $chart_id, $fromdate, $todate)->[0]->{sum};
|
||
}
|
||
|
||
$main::lxdebug->leave_sub();
|
||
return $total;
|
Auch abrufbar als: Unified diff
Erfolgsrechnung kann nach Abteilung gefiltert werden