diff --git a/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js b/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js index 6311570e483af04b989aec396bd9145eed0bd42a..f235ea828c4056986ddbf1a5388518bbee7ef892 100644 --- a/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js @@ -1,83 +1,87 @@ -import("system.logging"); -import("system.datetime"); -import("system.db"); -import("system.result"); -import("system.translate"); -import("Data_lib"); - -// load data -var sumOfMonthTurnover = db.table("select year(SALESORDERDATE) yearNum, 'turnover', month(SALESORDERDATE) monthNum, sum(NET + VAT) from SALESORDER group by year(SALESORDERDATE), month(SALESORDERDATE) order by yearNum, monthNum"); -var sumOfMonthForecast = db.table("select year(DATE_START) yearNum, 'forecast', month(DATE_START) monthNum, sum(VOLUME * 1000) from SALESPROJECT_FORECAST group by year(DATE_START), month(DATE_START) order by yearNum, monthNum"); - -// build chartData -var rootNode = ""; -var chartData = ParentingData.begin(rootNode); - -var skippedCounts = {}; - - -for (let i = 0; i < 4; i++) -{ - // TODO: currently years are hardcoded. - var year = i + 2016; - - var turnoverYearSum = 0; - var forecastYearSum = 0; - - // filter data by current year - var turnoverYearData = sumOfMonthTurnover.filter(function(row) - { - return row[0] == year - }); - - var forecastYearData = sumOfMonthForecast.filter(function(row) - { - return row[0] == year - }); - - for (let i = 1; i <= 12; i++) - { - // add months - turnoverYearSum += _addMonth(year, i, turnoverYearData, "turnover"); - forecastYearSum += _addMonth(year, i, forecastYearData, "forecast"); - } - - // add year nodes - chartData.add("turnover" + year, rootNode, ["turnover", year.toString(), turnoverYearSum]); - chartData.add("forecast" + year, rootNode, ["forecast", year.toString(), forecastYearSum]); - -} - -result.object(chartData.toArray()); - -function _addMonth(pYear, pMonth, pData, pCategory) -{ - var yearSum = 0; - - // count months, which didn't exist in data source. - if (pMonth == 1) - { - skippedCounts[pCategory] = 0; - } - - - var currentMonthData = pData[pMonth - skippedCounts[pCategory] - 1]; - var monthDate = new Date(pYear, pMonth-1); - monthDate = datetime.toDate(monthDate.getTime(), "MMM yyyy", "UTC"); - - var monthValue = 0.0; - if (currentMonthData != undefined && currentMonthData[2] == pMonth.toString()) - { - monthValue = currentMonthData[3]; - yearSum += parseInt(currentMonthData[3]); - } - else - { - // if month didn't exist in data source, use 0.0 as value. - skippedCounts[pCategory]++; - } - - // add month node - chartData.add(pCategory + pYear + pMonth, pCategory + pYear, [pCategory, monthDate, monthValue]); - return yearSum; +import("system.logging"); +import("system.datetime"); +import("system.db"); +import("system.result"); +import("system.translate"); +import("Data_lib"); + + +var turnoverCategory = translate.text('Turnover'); +var forecastCategory = translate.text('Forecast'); + +// load data +var sumOfMonthTurnover = db.table("select year(SALESORDERDATE) yearNum, month(SALESORDERDATE) monthNum, sum(NET + VAT) from SALESORDER group by year(SALESORDERDATE), month(SALESORDERDATE) order by yearNum, monthNum"); +var sumOfMonthForecast = db.table("select year(DATE_START) yearNum, month(DATE_START) monthNum, sum(VOLUME * 1000) from SALESPROJECT_FORECAST group by year(DATE_START), month(DATE_START) order by yearNum, monthNum"); + +// build chartData +var rootNode = ""; +var chartData = ParentingData.begin(rootNode); + +var skippedCounts = {}; + + +for (let i = 0; i < 4; i++) +{ + // TODO: currently years are hardcoded. + var year = i + 2016; + + var TurnoverYearSum = 0; + var ForecastYearSum = 0; + + // filter data by current year + var TurnoverYearData = sumOfMonthTurnover.filter(function(row) + { + return row[0] == year + }); + + var ForecastYearData = sumOfMonthForecast.filter(function(row) + { + return row[0] == year + }); + + for (let i = 1; i <= 12; i++) + { + // add months + TurnoverYearSum += _addMonth(year, i, TurnoverYearData, turnoverCategory); + ForecastYearSum += _addMonth(year, i, ForecastYearData, forecastCategory); + } + + // add year nodes + chartData.add(turnoverCategory + year, rootNode, [turnoverCategory, year.toString(), TurnoverYearSum]); + chartData.add(forecastCategory + year, rootNode, [forecastCategory, year.toString(), ForecastYearSum]); + +} + +result.object(chartData.toArray()); + +function _addMonth(pYear, pMonth, pData, pCategory) +{ + var yearSum = 0; + + // count months, which didn't exist in data source. + if (pMonth == 1) + { + skippedCounts[pCategory] = 0; + } + + + var currentMonthData = pData[pMonth - skippedCounts[pCategory] - 1]; + var monthDate = new Date(pYear, pMonth-1); + monthDate = datetime.toDate(monthDate.getTime(), "MMM yyyy", "UTC"); + + var monthValue = 0.0; + if (currentMonthData != undefined && currentMonthData[1] == pMonth.toString()) + { + monthValue = currentMonthData[2]; + yearSum += parseInt(currentMonthData[2]); + } + else + { + // if month didn't exist in data source, use 0.0 as value. + skippedCounts[pCategory]++; + } + + // add month node + chartData.add(pCategory + pYear + pMonth, pCategory + pYear, [pCategory, monthDate, monthValue]); + return yearSum; } \ No newline at end of file diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 5958d1f9f3fb740a737abc2a71db912ebb5d3791..384f13de462f790ebdee3d0c6808245f92e84481 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -102,6 +102,10 @@ <key>Online-Meeting</key> <value>Online-Meeting</value> </entry> + <entry> + <key>Choose address</key> + <value>Adresse auswählen</value> + </entry> <entry> <key>Social Media</key> <value>Social Media</value>