From 22a4e768902c5243c9027308965677f1e05418a1 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sat, 8 Jan 2022 22:11:44 +0100
Subject: [PATCH] Fixed #662 - new chart: Income/Expenditures per year per
 categories

---
 .../budgetmaster/charts/DefaultCharts.java    |   7 +-
 ...comesAndExpendituresPerYearByCategories.js | 205 ++++++++++++++++++
 .../resources/languages/base_de.properties    |   2 +
 .../resources/languages/base_en.properties    |   2 +
 ...omesAndExpendituresPerYearByCategories.png | Bin 0 -> 30843 bytes
 5 files changed, 215 insertions(+), 1 deletion(-)
 create mode 100644 src/main/resources/charts/IncomesAndExpendituresPerYearByCategories.js
 create mode 100644 src/main/resources/static/images/charts/incomesAndExpendituresPerYearByCategories.png

diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java b/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
index 96b5e1ec2..0312b0d15 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
@@ -50,6 +50,10 @@ public class DefaultCharts
 			getChartFromFile("charts/IncomesAndExpendituresPerYearBar.js"),
 			ChartType.DEFAULT, 6, ChartDisplayType.BAR, ChartGroupType.YEAR, "incomesAndExpendituresPerYearBar.png");
 
+	private static final Chart CHART_INCOMES_AND_EXPENDITURES_PER_YEAR_BY_CATEGORIES = new Chart("charts.default.incomesAndExpendituresPerYearByCategories",
+			getChartFromFile("charts/IncomesAndExpendituresPerYearByCategories.js"),
+			ChartType.DEFAULT, 2, ChartDisplayType.BAR, ChartGroupType.YEAR, "incomesAndExpendituresPerYearByCategories.png");
+
 	private DefaultCharts()
 	{
 	}
@@ -65,6 +69,7 @@ public class DefaultCharts
 		charts.add(CHART_INCOMES_AND_EXPENDITURES_PER_MONTH_BY_CATEGORIES);
 		charts.add(CHART_REST_PER_MONTH);
 		charts.add(CHART_INCOMES_AND_EXPENDITURES_PER_YEAR_BAR);
+		charts.add(CHART_INCOMES_AND_EXPENDITURES_PER_YEAR_BY_CATEGORIES);
 		return charts;
 	}
 
@@ -83,7 +88,7 @@ public class DefaultCharts
 		}
 		catch(IOException e)
 		{
-			e.printStackTrace();
+			LOGGER.error("Error getting chart from file", e);
 		}
 
 		return "";
diff --git a/src/main/resources/charts/IncomesAndExpendituresPerYearByCategories.js b/src/main/resources/charts/IncomesAndExpendituresPerYearByCategories.js
new file mode 100644
index 000000000..4a8b55dcc
--- /dev/null
+++ b/src/main/resources/charts/IncomesAndExpendituresPerYearByCategories.js
@@ -0,0 +1,205 @@
+/* This list will be dynamically filled with all the transactions between
+ * the start and and date you select on the "Show Chart" page
+ * and filtered according to your specified filter.
+ * An example entry for this list and tutorial about how to create custom charts ca be found in the BudgetMaster wiki:
+ * https://github.com/deadlocker8/BudgetMaster/wiki/How-to-create-custom-charts
+ */
+var transactionData = [];
+
+// Note: All variables starting with "localized" are only available inside default charts.
+
+transactionData = transactionData.reverse();
+
+moment.locale('de');
+
+const NAME = 0;
+const COLOR = 1;
+const INCOME = 2;
+const EXPENDITURE = 3;
+
+var categoryNames = [];
+var categoryColors = [];
+
+for(var i = 0; i < transactionData.length; i++)
+{
+    var currentTransaction = transactionData[i];
+    if(!categoryNames.includes(currentTransaction.category.name))
+    {
+        categoryNames.push(currentTransaction.category.name);
+        categoryColors.push(currentTransaction.category.color);
+    }
+}
+
+var dates = [];
+var values = [];
+
+for(var i = 0; i < transactionData.length; i++)
+{
+    var transaction = transactionData[i];
+
+    var date = moment(transaction.date).startOf('year').format('YYYY');
+    if(!dates.includes(date))
+    {
+        dates.push(date);
+        values.push([
+            categoryNames, // NAME
+            categoryColors, // COLOR
+            new Array(categoryNames.length).fill(0), // INCOME
+            new Array(categoryNames.length).fill(0)  // EXPENDITURE
+        ]);
+    }
+
+    // determine index of category name in list
+    var lastIndex = values.length - 1;
+
+    var categoryName = transaction.category.name;
+    // create new category if not already in dict
+    if(!values[lastIndex][NAME].includes(categoryName))
+    {
+        values[lastIndex][NAME].push(categoryName);
+        values[lastIndex][COLOR].push(transaction.category.color);
+        values[lastIndex][INCOME].push(0);
+        values[lastIndex][EXPENDITURE].push(0);
+    }
+
+    // determine index of category in current last values
+    var index = values[lastIndex][NAME].indexOf(categoryName);
+
+    // add to income or expenditure sum
+    var amount = transaction.amount;
+    if(amount > 0)
+    {
+        values[lastIndex][INCOME][index] = values[lastIndex][INCOME][index] + amount;
+    }
+    else
+    {
+        values[lastIndex][EXPENDITURE][index] = values[lastIndex][EXPENDITURE][index] + Math.abs(amount);
+    }
+}
+
+var totalIncomeSums = [];
+var totalExpenditureSums = [];
+
+// calculate total sums for all months
+for(var i = 0; i < dates.length; i++)
+{
+    var totalIncomes = 0;
+    var totalExpenditures = 0;
+
+    values[i][INCOME].forEach(function(value)
+    {
+        totalIncomes += value;
+    });
+
+    values[i][EXPENDITURE].forEach(function(value)
+    {
+        totalExpenditures += value;
+    });
+
+    totalIncomeSums.push(totalIncomes);
+    totalExpenditureSums.push(totalExpenditures);
+}
+
+// Prepare your chart settings here (mandatory)
+var plotlyData = [];
+var plotlyLayout = {
+    title: {
+        text: localizedTitle
+    },
+    barmode: "stack",
+    hovermode: 'closest', // show hover popup only for hovered item
+    yaxis: {
+        rangemode: 'tozero',
+        tickformat: '.0f',
+        ticksuffix: localizedCurrency,
+        showline: true
+    }
+};
+
+// create one stacked bar for incomes and one for expenditures for every month and group them by month
+for(var i = 0; i < dates.length; i++)
+{
+    for(var j = 0; j < values[i][NAME].length; j++)
+    {
+        var currentValues = values[i];
+        var currentName = currentValues[NAME][j];
+
+        var currentIncomeValue = currentValues[INCOME][j];
+        var percentageIncome = (100 / totalIncomeSums[i]) * currentIncomeValue;
+        var textIncome = prepareHoverText(currentName, percentageIncome, currentIncomeValue);
+
+        var currentExpenditureValue = currentValues[EXPENDITURE][j];
+        var percentageExpenditure = (100 / totalExpenditureSums[i]) * currentExpenditureValue;
+        var textExpenditure = prepareHoverText(currentName, percentageExpenditure, currentExpenditureValue);
+
+        // add border if category color is white
+        var borderWidth = 0;
+        if(currentValues[COLOR][j] === '#FFFFFF')
+        {
+            borderWidth = 1;
+        }
+
+        plotlyData.push({
+            x: [localizedData['label2'], localizedData['label1']],
+            y: [currentIncomeValue / 100.0, currentExpenditureValue / 100.0],
+            type: 'bar',
+            hoverinfo: 'text',
+            hovertext: [textIncome, textExpenditure],
+            name: currentName,
+            xaxis: 'x' + (i + 1),  // for grouping incomes and expenditure bar by month
+            barmode: 'stack',
+            showlegend: i === 0,
+            legendgroup: currentName,
+            marker: {
+                color: currentValues[COLOR][j],  // use the category's color
+                line: {
+                    color: '#212121',
+                    width: borderWidth
+                }
+            }
+        });
+    }
+
+    // axis number inside layout uses a different counting in comparison to xaxis definition in plotlyDate
+    var axisNumber = i + 1;
+    if(i === 0)
+    {
+        axisNumber = '';
+    }
+
+    // calculate subplot start and end position (relative between 0 and 1)
+    var width = 1 / dates.length;
+    var start = i * width;
+    var end = (i + 1) * width;
+
+    plotlyLayout['xaxis' + axisNumber] = {
+        domain: [start, end],
+        anchor: 'x' + axisNumber,
+        title: dates[i],
+    }
+}
+
+// Add your Plotly configuration settings here (optional)
+var plotlyConfig = {
+    showSendToCloud: false,
+    displaylogo: false,
+    showLink: false,
+    responsive: true,
+    displayModeBar: true,
+    toImageButtonOptions: {
+        format: 'png',
+        filename: 'BudgetMaster_chart_export',
+        height: 1080,
+        width: 1920,
+    }
+};
+
+// Don't touch this line
+Plotly.newPlot("containerID", plotlyData, plotlyLayout, plotlyConfig);
+
+
+function prepareHoverText(categoryName, percentage, value)
+{
+    value = value / 100;
+    return categoryName + ' ' + percentage.toFixed(1) + '% (' + value.toFixed(1) + ' ' + localizedCurrency + ')';
+}
\ No newline at end of file
diff --git a/src/main/resources/languages/base_de.properties b/src/main/resources/languages/base_de.properties
index 2d2af29a2..7326352f8 100644
--- a/src/main/resources/languages/base_de.properties
+++ b/src/main/resources/languages/base_de.properties
@@ -533,6 +533,8 @@ charts.default.restPerMonth=Rest
 charts.default.restPerMonth.localization='{"label1": "Rest in "'}
 charts.default.incomesAndExpendituresPerYearBar=Eingaben/Ausgaben
 charts.default.incomesAndExpendituresPerYearBar.localization='{"axisY": "Summe in ", "traceName1": "Einnahmen", "traceName2": "Ausgaben"'}
+charts.default.incomesAndExpendituresPerYearByCategories=Eingaben/Ausgaben nach Kategorien
+charts.default.incomesAndExpendituresPerYearByCategories.localization='{"label1": "Ausgaben", "label2": "Einnahmen"'}
 
 chart.new.label.name=Name
 chart.new.label.script=Script
diff --git a/src/main/resources/languages/base_en.properties b/src/main/resources/languages/base_en.properties
index da0b7609b..b0152ba93 100644
--- a/src/main/resources/languages/base_en.properties
+++ b/src/main/resources/languages/base_en.properties
@@ -533,6 +533,8 @@ charts.default.restPerMonth=Rest
 charts.default.restPerMonth.localization='{"label1": "Rest in "'}
 charts.default.incomesAndExpendituresPerYearBar=Incomes/Expenditures
 charts.default.incomesAndExpendituresPerYearBar.localization='{"axisY": "Sum in ", "traceName1": "Incomes", "traceName2": "Expenditures"'}
+charts.default.incomesAndExpendituresPerYearByCategories=Incomes/Expenditures by categories
+charts.default.incomesAndExpendituresPerYearByCategories.localization='{"label1": "Expenditures", "label2": "Incomes"'}
 
 chart.new.label.name=Name
 chart.new.label.script=Script
diff --git a/src/main/resources/static/images/charts/incomesAndExpendituresPerYearByCategories.png b/src/main/resources/static/images/charts/incomesAndExpendituresPerYearByCategories.png
new file mode 100644
index 0000000000000000000000000000000000000000..d66432ed5b449551296290a09ca3f1db5ee43d24
GIT binary patch
literal 30843
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
HB{Ts5W1=W2

literal 0
HcmV?d00001

-- 
GitLab