112 |
112 |
$self->render('customer_vendor_turnover/count_open_items_by_year', { layout => 0 });
|
113 |
113 |
}
|
114 |
114 |
|
115 |
|
sub action_turnover_by_month {
|
|
115 |
sub action_turnover {
|
116 |
116 |
|
117 |
117 |
my ($self) = @_;
|
118 |
118 |
|
... | ... | |
128 |
128 |
$db = "ap";
|
129 |
129 |
$cv_type = "vendor_id";
|
130 |
130 |
}
|
131 |
|
my $query = <<SQL;
|
132 |
|
SELECT CONCAT(EXTRACT (MONTH FROM transdate),'/',EXTRACT (YEAR FROM transdate)) as date_part,
|
133 |
|
count(id) as count,
|
134 |
|
sum(amount) as amount,
|
135 |
|
sum(netamount) as netamount,
|
136 |
|
sum(paid) as paid
|
137 |
|
FROM $db WHERE $cv_type = ?
|
138 |
|
GROUP BY EXTRACT (YEAR FROM transdate), EXTRACT (MONTH FROM transdate)
|
139 |
|
ORDER BY EXTRACT (YEAR FROM transdate) DESC, EXTRACT (MONTH FROM transdate) DESC
|
140 |
|
SQL
|
141 |
|
$self->{turnover_statistic} = selectall_hashref_query($::form, $dbh, $query, $cv);
|
142 |
|
$self->render('customer_vendor_turnover/count_turnover', { layout => 0 });
|
143 |
|
}
|
144 |
131 |
|
145 |
|
sub action_turnover_by_year {
|
146 |
|
my ($self) = @_;
|
147 |
|
|
148 |
|
return $self->render('generic/error', { layout => 0 }, label_error => "list_transactions needs a trans_id") unless $::form->{id};
|
149 |
|
|
150 |
|
my $dbh = SL::DB->client->dbh;
|
151 |
|
my $cv = $::form->{id};
|
152 |
|
my ($db, $cv_type);
|
153 |
|
if ($::form->{db} eq 'customer') {
|
154 |
|
$db = "ar";
|
155 |
|
$cv_type = "customer_id";
|
|
132 |
my ($date_part_select, $group_by, $order_by);
|
|
133 |
if ('month' eq $::form->{mode}) {
|
|
134 |
$date_part_select = "CONCAT(EXTRACT (MONTH FROM transdate),'/',EXTRACT (YEAR FROM transdate))";
|
|
135 |
$group_by = "EXTRACT (YEAR FROM transdate), EXTRACT (MONTH FROM transdate)";
|
|
136 |
$order_by = "EXTRACT (YEAR FROM transdate) DESC, EXTRACT (MONTH FROM transdate) DESC";
|
156 |
137 |
} else {
|
157 |
|
$db = "ap";
|
158 |
|
$cv_type = "vendor_id";
|
|
138 |
$date_part_select = "EXTRACT (YEAR FROM transdate)";
|
|
139 |
$group_by = "EXTRACT (YEAR FROM transdate)";
|
|
140 |
$order_by = "EXTRACT (YEAR FROM transdate) DESC";
|
159 |
141 |
}
|
|
142 |
|
160 |
143 |
my $query = <<SQL;
|
161 |
|
SELECT EXTRACT (YEAR FROM transdate) as date_part,
|
162 |
|
count(id) as count,
|
163 |
|
sum(amount) as amount,
|
164 |
|
sum(netamount) as netamount,
|
165 |
|
sum(paid) as paid
|
|
144 |
SELECT $date_part_select as date_part,
|
|
145 |
count(id) as count,
|
|
146 |
sum(amount) as amount,
|
|
147 |
sum(netamount) as netamount,
|
|
148 |
sum(paid) as paid
|
166 |
149 |
FROM $db WHERE $cv_type = ?
|
167 |
|
GROUP BY date_part
|
168 |
|
ORDER BY date_part DESC
|
|
150 |
GROUP BY $group_by
|
|
151 |
ORDER BY $order_by
|
169 |
152 |
SQL
|
170 |
153 |
$self->{turnover_statistic} = selectall_hashref_query($::form, $dbh, $query, $cv);
|
171 |
154 |
$self->render('customer_vendor_turnover/count_turnover', { layout => 0 });
|
... | ... | |
477 |
460 |
|
478 |
461 |
gets and shows a dunning statistic of the customer by year
|
479 |
462 |
|
480 |
|
=item C<action_turnover_by_month>
|
|
463 |
=item C<action_turnover>
|
481 |
464 |
|
482 |
465 |
gets and shows an invoice statistic of customer/vendor by month
|
483 |
|
|
484 |
|
=item C<action_turnover_by_year>
|
485 |
|
|
486 |
|
gets and shows an invoice statistic of customer/vendor by year
|
|
466 |
or year depending on $::form->{mode}. If $::form->{mode} eq 'month'
|
|
467 |
get statistics by month, otherwise by year.
|
487 |
468 |
|
488 |
469 |
=item C<action_get_invoices>
|
489 |
470 |
|
Umstatzstatistik: actions zu einer zusammengefasst.
Der Code war da fast gleich.