Revision 2e6fe034
Von Bernd Bleßmann vor mehr als 2 Jahren hinzugefügt
| SL/Controller/CustomerVendorTurnover.pm | ||
|---|---|---|
|
$self->{turnover_statistic} = \@new_stats;
|
||
|
}
|
||
|
|
||
|
if (@{$self->{turnover_statistic}} > 1) {
|
||
|
my $query = <<SQL;
|
||
|
SELECT $date_part_select as date_part,
|
||
|
count(id) as count,
|
||
|
sum(amount) as amount,
|
||
|
sum(netamount) as netamount,
|
||
|
sum(paid) as paid
|
||
|
FROM $db WHERE $cv_type IS NOT NULL
|
||
|
GROUP BY $group_by
|
||
|
ORDER BY $order_by
|
||
|
SQL
|
||
|
my $overall_turnover = selectall_hashref_query($::form, $dbh, $query);
|
||
|
foreach my $stat (@{$self->{turnover_statistic}}) {
|
||
|
my $overall_stat = first { $_->{date_part} eq $stat->{date_part} } @$overall_turnover;
|
||
|
$stat->{overall_netamount} = 0;
|
||
|
$stat->{'overall_' . $_} = $overall_stat->{$_} for keys %$overall_stat;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if ($::request->type eq 'json') {
|
||
|
$self->render(\ SL::JSON::to_json($self->{turnover_statistic}), { layout => 0, type => 'json', process => 0 });
|
||
| js/kivi.CustomerVendorTurnover.js | ||
|---|---|---|
|
'rgba(255, 159, 64, 1)'
|
||
|
],
|
||
|
borderWidth: 1
|
||
|
},
|
||
|
{
|
||
|
label: kivi.t8('Overall Net.Turnover'),
|
||
|
data: data,
|
||
|
type: 'line',
|
||
|
backgroundColor: 'black',
|
||
|
}]
|
||
|
},
|
||
|
options: {
|
||
| ... | ... | |
|
},
|
||
|
parsing: {
|
||
|
xAxisKey: 'date_part',
|
||
|
yAxisKey: 'netamount'
|
||
|
yAxisKey: ['netamount', 'overall_netamount']
|
||
|
},
|
||
|
onClick: (e) => {
|
||
|
const canvasPosition = Chart.helpers.getRelativePosition(e, chart);
|
||
| js/locale/de.js | ||
|---|---|---|
|
"Oct":"Okt",
|
||
|
"October":"Oktober",
|
||
|
"Ok":"Ok",
|
||
|
"Overall Net.Turnover":"Gesamter Netto-Umsatz",
|
||
|
"Part picker":"Artikelauswahl",
|
||
|
"Paste":"Einfügen",
|
||
|
"Paste template":"Vorlage einfügen",
|
||
| js/locale/en.js | ||
|---|---|---|
|
"Oct":"",
|
||
|
"October":"",
|
||
|
"Ok":"",
|
||
|
"Overall Net.Turnover":"",
|
||
|
"Part picker":"",
|
||
|
"Paste":"",
|
||
|
"Paste template":"",
|
||
| locale/de/all | ||
|---|---|---|
|
'Out of balance transaction!' => 'Buchung ist nicht ausgeglichen!',
|
||
|
'Out of balance!' => 'Summen stimmen nicht überein!',
|
||
|
'Output Number Format' => 'Zahlenformat (Ausgabe)',
|
||
|
'Overall Net.Turnover' => 'Gesamter Netto-Umsatz',
|
||
|
'Overdue invoices' => 'Überfällige Rechnungen',
|
||
|
'Overdue sales quotations and requests for quotations' => 'Überfällige Angebote und Preisanfragen',
|
||
|
'Override' => 'Override',
|
||
| locale/en/all | ||
|---|---|---|
|
'Out of balance transaction!' => '',
|
||
|
'Out of balance!' => '',
|
||
|
'Output Number Format' => '',
|
||
|
'Overall Net.Turnover' => '',
|
||
|
'Overdue invoices' => '',
|
||
|
'Overdue sales quotations and requests for quotations' => '',
|
||
|
'Override' => '',
|
||
Auch abrufbar als: Unified diff
Umsatzstatistik-Chart mit Linie aller Umsätze zum Vergleichen