Add back link to rec. trx. list and adjust chart layout

This commit is contained in:
2019-07-15 23:29:05 +02:00
parent 055135776a
commit d51f55b075
2 changed files with 19 additions and 2 deletions

View File

@@ -7,8 +7,13 @@ import de.financer.util.ControllerUtils;
import org.apache.commons.collections4.IterableUtils;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.springframework.context.i18n.LocaleContextHolder;
import java.text.NumberFormat;
public class AccountGroupExpensesGenerator extends AbstractChartGenerator<AccountGroupExpensesParameter> {
@Override
@@ -21,15 +26,26 @@ public class AccountGroupExpensesGenerator extends AbstractChartGenerator<Accoun
final PieDataset dataSet = createDataSet(expenses);
return ChartFactory
final JFreeChart chart = ChartFactory
.createPieChart(this.getMessage(parameter.getTitle(), parameter.getArgsForTitle()), dataSet);
final NumberFormat currencyInstance = NumberFormat.getCurrencyInstance(LocaleContextHolder.getLocale());
currencyInstance.setCurrency(this.getFinancerConfig().getCurrency());
final NumberFormat percentInstance = NumberFormat.getPercentInstance(LocaleContextHolder.getLocale());
final PiePlot plot = (PiePlot) chart.getPlot();
plot.setSimpleLabels(true);
plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}: {1} ({2})", currencyInstance, percentInstance));
return chart;
}
private PieDataset createDataSet(Iterable<AccountGroupExpense> data) {
final DefaultPieDataset dataSet = new DefaultPieDataset();
IterableUtils.toList(data).stream()
.forEach((ex) -> dataSet.setValue(ex.getAccountGroup().getName(), ex.getExpense()));
.forEach((ex) -> dataSet.setValue(ex.getAccountGroup().getName(), (ex.getExpense() / 100D)));
return dataSet;
}

View File

@@ -9,6 +9,7 @@
<body>
<h1 th:text="#{'financer.heading.recurring-transaction-list.' + ${subTitle}}"/>
<span class="errorMessage" th:if="${errorMessage != null}" th:text="#{'financer.error-message.' + ${errorMessage}}"/>
<a th:href="@{/accountOverview}" th:text="#{financer.cancel-back-to-overview}"/>
<table id="recurring-transaction-list-table">
<tr>
<th class="hideable-column" th:text="#{financer.recurring-transaction-list.table-header.id}"/>