SU2-33 | Очистка данных от пустых строк и столбцов
This commit is contained in:
@@ -30,14 +30,15 @@ class OrganisationsController < ApplicationController
|
||||
|
||||
statements_by_year_and_form = build_statements_by_year_and_form
|
||||
years = statements_by_year_and_form.keys.sort.reverse
|
||||
grouped_rows = build_grouped_rows(statements_by_year_and_form, years)
|
||||
|
||||
grouped_rows = clean_data(build_grouped_rows(statements_by_year_and_form, years))
|
||||
@info_about_organisation = build_organization_payload(years)
|
||||
|
||||
selected_doc = DOC_TYPES.fetch(@type_doc, DOC_TYPES[0])
|
||||
@doc_name = selected_doc[:title]
|
||||
@current_doc_info = @info_about_organisation[@doc_name]
|
||||
@current_doc_info1 = grouped_rows[@doc_name]
|
||||
if !@current_doc_info1.values.first.nil?
|
||||
@current_doc_info = @info_about_organisation[@doc_name][0..@current_doc_info1.values.first.size + 1]
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -95,6 +96,24 @@ class OrganisationsController < ApplicationController
|
||||
data
|
||||
end
|
||||
|
||||
def clean_data(data)
|
||||
data.transform_values do |doc_type_data|
|
||||
rows = doc_type_data.reject do |_, values|
|
||||
values.all? { |value| value == "-" || value.nil? || value == ""}
|
||||
end
|
||||
|
||||
next {} if rows.empty?
|
||||
|
||||
column_count = rows.values.map(&:size).max
|
||||
columns_to_keep = (0...column_count).select do |i|
|
||||
rows.values.any? { |values| values[i] != "-" && !values[i].nil? && values[i] != ""}
|
||||
end
|
||||
rows.transform_values do |values|
|
||||
columns_to_keep.map { |i| values[i]}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def build_statements_by_year_and_form
|
||||
grouped = Hash.new { |hash, key| hash[key] = {} }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user