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
|
statements_by_year_and_form = build_statements_by_year_and_form
|
||||||
years = statements_by_year_and_form.keys.sort.reverse
|
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)
|
@info_about_organisation = build_organization_payload(years)
|
||||||
|
|
||||||
selected_doc = DOC_TYPES.fetch(@type_doc, DOC_TYPES[0])
|
selected_doc = DOC_TYPES.fetch(@type_doc, DOC_TYPES[0])
|
||||||
@doc_name = selected_doc[:title]
|
@doc_name = selected_doc[:title]
|
||||||
@current_doc_info = @info_about_organisation[@doc_name]
|
|
||||||
@current_doc_info1 = grouped_rows[@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
|
end
|
||||||
|
|
||||||
|
|
||||||
@@ -95,6 +96,24 @@ class OrganisationsController < ApplicationController
|
|||||||
data
|
data
|
||||||
end
|
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
|
def build_statements_by_year_and_form
|
||||||
grouped = Hash.new { |hash, key| hash[key] = {} }
|
grouped = Hash.new { |hash, key| hash[key] = {} }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user