Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Financial Summary tables fixes and improvements #2923

Merged
merged 2 commits into from
May 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ class window.FinancialSummaryTableBase
if i > 0
previousValue = turnoverValues[i - 1]
growth = ((value - previousValue) / previousValue) * 100
turnoverGrowthRow.find("td:eq(#{i + 1})").text(growth.toFixed(0))
turnoverGrowthRow.find("td:eq(#{i + 1})").text(parseInt(growth).toLocaleString())
else
turnoverGrowthRow.find("td:eq(#{i + 1})").text("-")

Expand All @@ -97,5 +97,5 @@ class window.FinancialSummaryTableBase
firstYear = turnoverValues[0]
lastYear = turnoverValues[turnoverValues.length - 1]
diff = lastYear - firstYear
totalTurnoverGrowth.text(diff)
totalTurnoverGrowthPercentage.text((diff / firstYear * 100).toFixed(0))
totalTurnoverGrowth.text(diff.toLocaleString())
totalTurnoverGrowthPercentage.text(parseInt(diff / firstYear * 100).toLocaleString())
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ class FinancialSummaryTableInnovation extends FinancialSummaryTableBase
@tableSummary.find("td.js-label-absolute-cell span").text("(year #{numberOfYears} minus 1)")
@tableSummary.find("td.js-label-percent-cell span").text("(year #{numberOfYears} over year 1)")

morphTable: (table, yearsLabels) =>
morphTable: (table, numberOfYears, yearsLabels) =>
table.find("tr").each (i, row) =>
$(row).find("td:gt(#{numberOfYears}), th:gt(#{numberOfYears})").hide()
$(row).find("td:lt(#{numberOfYears + 1}), th:lt(#{numberOfYears + 1})").show()

table.find("th").each (i, th) =>
if i > 0
$("span.year", th).text(yearsLabels[i - 1])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,13 @@ class FinancialSummaryTableInnovationUnit extends FinancialSummaryTableBase
@showFinancials = false
""

@morphTable(@tableData, yearsLabels)
@morphTable(@tableData, numberOfYears, yearsLabels)

morphTable: (table, numberOfYears, yearsLabels) =>
table.find("tr").each (i, row) =>
$(row).find("td:gt(#{numberOfYears}), th:gt(#{numberOfYears})").hide()
$(row).find("td:lt(#{numberOfYears + 1}), th:lt(#{numberOfYears + 1})").show()

morphTable: (table, yearsLabels) =>
table.find("th").each (i, th) =>
if i > 0
$("span.year", th).text(yearsLabels[i - 1])
Expand All @@ -45,11 +49,6 @@ class FinancialSummaryTableInnovationUnit extends FinancialSummaryTableBase
@wrapper.hide()
@wrapper.closest(".question-block").hide()

morphTable: (table, yearsLabels) =>
table.find("th").each (i, th) =>
if i > 0
$("span.year", th).text(yearsLabels[i - 1])

renderTableData: () =>
@fillInRow("fs-two-units-sold")
@fillInRow("fs-two-innovation-sales")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class FinancialSummaryTableTrade extends FinancialSummaryTableBase
if i > 0
previousValue = salesOverseasValues[i - 1]
growth = ((value - previousValue) / previousValue) * 100
salesGrowthRow.find("td:eq(#{i + 1})").text(growth.toFixed(0))
salesGrowthRow.find("td:eq(#{i + 1})").text(parseInt(growth).toLocaleString())
else
salesGrowthRow.find("td:eq(#{i + 1})").text("-")

Expand All @@ -69,11 +69,11 @@ class FinancialSummaryTableTrade extends FinancialSummaryTableBase
else
salesOverseasValues.each (i, value) ->
if turnoverValues[i] > 0
value = (value / turnoverValues[i] * 100).toFixed(0)
value = (value / turnoverValues[i] * 100)
else
value = "-"

salesPercentRow.find("td:eq(#{i + 1})").text(value)
salesPercentRow.find("td:eq(#{i + 1})").text(parseInt(value).toLocaleString())

renderTableSummary: () ->
totalOverseasGrowth = @tableSummary.find("td[data-type='fs-overall-overseas-sales-growth']")
Expand All @@ -94,8 +94,8 @@ class FinancialSummaryTableTrade extends FinancialSummaryTableBase
firstYear = overseasSalesValues[0]
lastYear = overseasSalesValues[overseasSalesValues.length - 1]
diff = lastYear - firstYear
totalOverseasGrowth.text(diff)
totalOverseasGrowthPercentage.text((diff / firstYear * 100).toFixed(0))
totalOverseasGrowth.text(diff.toLocaleString())
totalOverseasGrowthPercentage.text(parseInt(diff / firstYear * 100).toLocaleString())

$(document).ready ->
if $(".financial-summary-tables-trade").length > 0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
module QaePdfForms::CustomQuestions::FinancialTableSummary
include ActionView::Helpers::NumberHelper

###########################
# TRADE FINANCIAL SUMMARY #
###########################
Expand All @@ -17,9 +19,9 @@ def render_trade_financial_summary
rows = []

rows << [""] + fs_enumerize_years(fs_financial_table_headers_filled_in)
rows << ["D5.1 Overseas sales (£)"] + fs_get_all_financial_values(:overseas_sales)
rows << ["D5.2 Turnover (£)"] + fs_get_all_financial_values(:total_turnover)
rows << ["D5.3 Net profit after tax but before dividends (£)"] + fs_get_all_financial_values(:net_profit)
rows << ["D5.1 Overseas sales (£)"] + format_number(fs_get_all_financial_values(:overseas_sales))
rows << ["D5.2 Turnover (£)"] + format_number(fs_get_all_financial_values(:total_turnover))
rows << ["D5.3 Net profit after tax but before dividends (£)"] + format_number(fs_get_all_financial_values(:net_profit))

form_pdf.table(rows, fs_table_default_ops)
form_pdf.move_cursor_to form_pdf.cursor - 3.mm
Expand All @@ -35,8 +37,8 @@ def render_trade_financial_summary
growth_rows = []

growth_rows << [""] + fs_enumerize_years(fs_financial_table_headers_filled_in)
growth_rows << ["Year on year overseas sales growth (%)"] + fs_calculate_growth(fs_get_all_financial_values(:overseas_sales))
growth_rows << ["Overseas sales as percentage of turnover (%)"] + fs_calculate_proportion(fs_get_all_financial_values(:overseas_sales), fs_get_all_financial_values(:total_turnover))
growth_rows << ["Year on year overseas sales growth (%)"] + format_number(fs_calculate_growth(fs_get_all_financial_values(:overseas_sales)))
growth_rows << ["Overseas sales as percentage of turnover (%)"] + format_number(fs_calculate_proportion(fs_get_all_financial_values(:overseas_sales), fs_get_all_financial_values(:total_turnover)))

form_pdf.table(growth_rows, fs_table_default_ops)
form_pdf.move_cursor_to form_pdf.cursor - 3.mm
Expand All @@ -51,8 +53,8 @@ def render_trade_financial_summary

overall_growth_rows = []

overall_growth_rows << ["Overall overseas sales growth in £ \n\r #{fs_overall_growth_year_note(:total)}"] + fs_calculate_overall_growth(fs_get_all_financial_values(:overseas_sales))
overall_growth_rows << ["Overall overseas sales growth % \n\r #{fs_overall_growth_year_note(:percent)}"] + fs_calculate_overall_growth_percentage(fs_get_all_financial_values(:overseas_sales))
overall_growth_rows << ["Overall overseas sales growth in £ \n\r #{fs_overall_growth_year_note(:total)}"] + format_number(fs_calculate_overall_growth(fs_get_all_financial_values(:overseas_sales)))
overall_growth_rows << ["Overall overseas sales growth % \n\r #{fs_overall_growth_year_note(:percent)}"] + format_number(fs_calculate_overall_growth_percentage(fs_get_all_financial_values(:overseas_sales)))

form_pdf.table(overall_growth_rows, fs_table_default_ops.merge(column_widths: fs_overall_table_column_widths))
end
Expand Down Expand Up @@ -91,11 +93,11 @@ def render_development_financial_summary
rows = []

rows << [""] + fs_enumerize_years(fs_financial_table_headers_filled_in)
rows << ["D4.1 Turnover (£)"] + fs_get_all_financial_values(:total_turnover)
rows << ["D4.2 Of which exports (£)"] + fs_get_all_financial_values(:exports)
rows << ["D4.3 Of which UK sales (£)"] + fs_get_all_financial_values(:uk_sales, true)
rows << ["D4.4 Net profit after tax but before dividends (£)"] + fs_get_all_financial_values(:net_profit)
rows << ["D4.5 Net assets (£)"] + fs_get_all_financial_values(:total_net_assets)
rows << ["D4.1 Turnover (£)"] + format_number(fs_get_all_financial_values(:total_turnover))
rows << ["D4.2 Of which exports (£)"] + format_number(fs_get_all_financial_values(:exports))
rows << ["D4.3 Of which UK sales (£)"] + format_number(fs_get_all_financial_values(:uk_sales, true))
rows << ["D4.4 Net profit after tax but before dividends (£)"] + format_number(fs_get_all_financial_values(:net_profit))
rows << ["D4.5 Net assets (£)"] + format_number(fs_get_all_financial_values(:total_net_assets))

form_pdf.table(rows, fs_table_default_ops)
form_pdf.move_cursor_to form_pdf.cursor - 3.mm
Expand All @@ -111,7 +113,7 @@ def render_development_financial_summary
growth_rows = []

growth_rows << [""] + fs_enumerize_years(fs_financial_table_headers_filled_in)
growth_rows << ["Year on year turnover growth (%)"] + fs_calculate_growth(fs_get_all_financial_values(:total_turnover))
growth_rows << ["Year on year turnover growth (%)"] + format_number(fs_calculate_growth(fs_get_all_financial_values(:total_turnover)))

form_pdf.table(growth_rows, fs_table_default_ops)
form_pdf.move_cursor_to form_pdf.cursor - 3.mm
Expand All @@ -126,8 +128,8 @@ def render_development_financial_summary

overall_growth_rows = []

overall_growth_rows << ["Overall turnover growth in £ \n\r #{fs_overall_growth_year_note(:total)}"] + fs_calculate_overall_growth(fs_get_all_financial_values(:total_turnover))
overall_growth_rows << ["Overall turnover growth % \n\r #{fs_overall_growth_year_note(:percent)}"] + fs_calculate_overall_growth_percentage(fs_get_all_financial_values(:total_turnover))
overall_growth_rows << ["Overall turnover growth in £ \n\r #{fs_overall_growth_year_note(:total)}"] + format_number(fs_calculate_overall_growth(fs_get_all_financial_values(:total_turnover)))
overall_growth_rows << ["Overall turnover growth % \n\r #{fs_overall_growth_year_note(:percent)}"] + format_number(fs_calculate_overall_growth_percentage(fs_get_all_financial_values(:total_turnover)))

form_pdf.table(overall_growth_rows, fs_table_default_ops.merge(column_widths: fs_overall_table_column_widths))
end
Expand Down Expand Up @@ -166,9 +168,9 @@ def render_mobility_financial_summary
rows = []

rows << [""] + fs_enumerize_years(fs_financial_table_headers_filled_in)
rows << ["D4.1 Turnover (£)"] + fs_get_all_financial_values(:total_turnover)
rows << ["D4.2 Net profit after tax but before dividends (£)"] + fs_get_all_financial_values(:net_profit)
rows << ["D4.3 Net assets (£)"] + fs_get_all_financial_values(:total_net_assets)
rows << ["D4.1 Turnover (£)"] + format_number(fs_get_all_financial_values(:total_turnover))
rows << ["D4.2 Net profit after tax but before dividends (£)"] + format_number(fs_get_all_financial_values(:net_profit))
rows << ["D4.3 Net assets (£)"] + format_number(fs_get_all_financial_values(:total_net_assets))

form_pdf.table(rows, fs_table_default_ops)
form_pdf.move_cursor_to form_pdf.cursor - 3.mm
Expand All @@ -184,7 +186,7 @@ def render_mobility_financial_summary
growth_rows = []

growth_rows << [""] + fs_enumerize_years(fs_financial_table_headers_filled_in)
growth_rows << ["Year on year turnover growth (%)"] + fs_calculate_growth(fs_get_all_financial_values(:total_turnover))
growth_rows << ["Year on year turnover growth (%)"] + format_number(fs_calculate_growth(fs_get_all_financial_values(:total_turnover)))

form_pdf.table(growth_rows, fs_table_default_ops)
form_pdf.move_cursor_to form_pdf.cursor - 3.mm
Expand All @@ -199,8 +201,8 @@ def render_mobility_financial_summary

overall_growth_rows = []

overall_growth_rows << ["Overall turnover growth in £ \n\r #{fs_overall_growth_year_note(:total)}"] + fs_calculate_overall_growth(fs_get_all_financial_values(:total_turnover))
overall_growth_rows << ["Overall turnover growth % \n\r #{fs_overall_growth_year_note(:percent)}"] + fs_calculate_overall_growth_percentage(fs_get_all_financial_values(:total_turnover))
overall_growth_rows << ["Overall turnover growth in £ \n\r #{fs_overall_growth_year_note(:total)}"] + format_number(fs_calculate_overall_growth(fs_get_all_financial_values(:total_turnover)))
overall_growth_rows << ["Overall turnover growth % \n\r #{fs_overall_growth_year_note(:percent)}"] + format_number(fs_calculate_overall_growth_percentage(fs_get_all_financial_values(:total_turnover)))

form_pdf.table(overall_growth_rows, fs_table_default_ops.merge(column_widths: fs_overall_table_column_widths))
end
Expand Down Expand Up @@ -238,11 +240,11 @@ def render_innovation_financial_summary_part_1
rows = []

rows << [""] + fs_enumerize_years(fs_financial_table_headers_filled_in)
rows << ["D4.1 Turnover (£)"] + fs_get_all_financial_values(:total_turnover)
rows << ["D4.2 Of which exports (£)"] + fs_get_all_financial_values(:exports)
rows << ["D4.3 Of which UK sales (£)"] + fs_get_all_financial_values(:uk_sales, true)
rows << ["D4.4 Net profit after tax but before dividends (£)"] + fs_get_all_financial_values(:net_profit)
rows << ["D4.5 Net assets (£)"] + fs_get_all_financial_values(:total_net_assets)
rows << ["D4.1 Turnover (£)"] + format_number(fs_get_all_financial_values(:total_turnover))
rows << ["D4.2 Of which exports (£)"] + format_number(fs_get_all_financial_values(:exports))
rows << ["D4.3 Of which UK sales (£)"] + format_number(fs_get_all_financial_values(:uk_sales, true))
rows << ["D4.4 Net profit after tax but before dividends (£)"] + format_number(fs_get_all_financial_values(:net_profit))
rows << ["D4.5 Net assets (£)"] + format_number(fs_get_all_financial_values(:total_net_assets))

form_pdf.table(rows, fs_table_default_ops)
form_pdf.move_cursor_to form_pdf.cursor - 3.mm
Expand All @@ -258,7 +260,7 @@ def render_innovation_financial_summary_part_1
growth_rows = []

growth_rows << [""] + fs_enumerize_years(fs_financial_table_headers_filled_in)
growth_rows << ["Year on year turnover growth (%)"] + fs_calculate_growth(fs_get_all_financial_values(:total_turnover))
growth_rows << ["Year on year turnover growth (%)"] + format_number(fs_calculate_growth(fs_get_all_financial_values(:total_turnover)))

form_pdf.table(growth_rows, fs_table_default_ops)
form_pdf.move_cursor_to form_pdf.cursor - 3.mm
Expand All @@ -273,8 +275,8 @@ def render_innovation_financial_summary_part_1

overall_growth_rows = []

overall_growth_rows << ["Overall turnover growth in £ \n\r #{fs_overall_growth_year_note(:total)}"] + fs_calculate_overall_growth(fs_get_all_financial_values(:total_turnover))
overall_growth_rows << ["Overall turnover growth % \n\r #{fs_overall_growth_year_note(:percent)}"] + fs_calculate_overall_growth_percentage(fs_get_all_financial_values(:total_turnover))
overall_growth_rows << ["Overall turnover growth in £ \n\r #{fs_overall_growth_year_note(:total)}"] + format_number(fs_calculate_overall_growth(fs_get_all_financial_values(:total_turnover)))
overall_growth_rows << ["Overall turnover growth % \n\r #{fs_overall_growth_year_note(:percent)}"] + format_number(fs_calculate_overall_growth_percentage(fs_get_all_financial_values(:total_turnover)))

form_pdf.table(overall_growth_rows, fs_table_default_ops.merge(column_widths: fs_overall_table_column_widths))
end
Expand Down Expand Up @@ -312,12 +314,12 @@ def render_innovation_financial_summary_part_2
rows = []

rows << [""] + fs_enumerize_years(fs_financial_table_headers_filled_in)
rows << ["D6.1 Number of units/contracts sold"] + fs_get_all_financial_values(:units_sold)
rows << ["D6.2 Sales (in £) of innovative product/service"] + fs_get_all_financial_values(:sales)
rows << ["D6.3 Of which exports (£)"] + fs_get_all_financial_values(:sales_exports)
rows << ["D6.4 Of which royalties or licences (£)"] + fs_get_all_financial_values(:sales_royalties)
rows << ["D6.6 Average unit selling price/contract value (£)"] + fs_get_all_financial_values(:avg_unit_price)
rows << ["D6.8 Direct cost of single unit/contract (£)"] + fs_get_all_financial_values(:avg_unit_cost_self)
rows << ["D6.1 Number of units/contracts sold"] + format_number(fs_get_all_financial_values(:units_sold))
rows << ["D6.2 Sales (in £) of innovative product/service"] + format_number(fs_get_all_financial_values(:sales))
rows << ["D6.3 Of which exports (£)"] + format_number(fs_get_all_financial_values(:sales_exports))
rows << ["D6.4 Of which royalties or licences (£)"] + format_number(fs_get_all_financial_values(:sales_royalties))
rows << ["D6.6 Average unit selling price/contract value (£)"] + format_number(fs_get_all_financial_values(:avg_unit_price))
rows << ["D6.8 Direct cost of single unit/contract (£)"] + format_number(fs_get_all_financial_values(:avg_unit_cost_self))

form_pdf.table(rows, fs_table_default_ops)
end
Expand Down Expand Up @@ -458,6 +460,10 @@ def fs_calculate_overall_growth(values)
end

def fs_calculate_overall_growth_percentage(values)
[(values.last.to_f / values.first.to_f * 100).round.to_s + "%"]
[(values.last.to_f / values.first.to_f * 100).round.to_s]
end

def format_number(values)
values.map { |v| number_with_delimiter(v) }
end
end
Loading