class OrganisationsController < ApplicationController before_action :set_organisation, only: [:show] def index organizations = Organization.all @info_about_organisations = organizations.each_with_object({}) do |org, hash| hash[org.id] = { "ИНН" => org.inn, "Полное наименование юридического лица" => org.full_name, # "КПП" => org.kpp, # "Код по ОКПО" => org.okpo, # "Форма собственности (по ОКФС)" => org.okfs, # "Организационно-правовая форма (по ОКОПФ)" => org.okopf, # "Вид экономической деятельности по ОКВЭД 2" => org.okved2, # "Местонахождение (адрес)" => org.address } end end def show doc_types = { 0 => 'Бухгалтерский баланс', 1 => 'Отчёт о финансовых результатах', 2 => 'Отчёт об изменении капитала', 3 => 'Отчет о движении денежных средств' } @type_doc = params[:type_doc].present? ? params[:type_doc].to_i : 0 data = doc_types.each_with_object({}) do |(key, value), hash| hash[value] = Hash.new() end doc_types.keys.each do |key| financial_statements = @org.financial_statements.order(sheet_number: :desc).where(document_type_id: key + 1) financial_statements.each do |financial_statement| financial_statement.data['rows'].each_with_index do |row, index| if index != 0 if data[doc_types[key]][[row['line_name'], row['line_code']]].nil? data[doc_types[key]][[row['line_name'], row['line_code']]] = [] end data[doc_types[key]][[row['line_name'], row['line_code']]] << row['value'] end end end end @info_about_organisation = { "Сведения об организации" => { "ИНН" => @org.inn, "Полное наименование юридического лица" => @org.full_name, "КПП" => @org.kpp, "Код по ОКПО" => @org.okpo, "Форма собственности (по ОКФС)" => @org.okfs, "Организационно-правовая форма (по ОКОПФ)" => @org.okopf, "Вид экономической деятельности по ОКВЭД 2" => @org.okved2, "Местонахождение (адрес)" => @org.address }, "Бухгалтерский баланс" => ["Наименование показателя", "Код", "На 31 декабря 2024 г.", "На 31 декабря 2023 г.", "На 31 декабря 2022 г.", "На 31 декабря 2021 г.", "На 31 декабря 2020 г.", "На 31 декабря 2019 г."], "Отчёт о финансовых результатах" => ["Наименование показателя", "Код", "За 2024 г.", "За 2023 г.", "За 2022 г.", "За 2021 г.", "За 2020 г."] } @doc_name = doc_types[@type_doc] @current_doc_info = @info_about_organisation[@doc_name] @current_doc_info1 = data[@doc_name] end private def set_organisation @org = Organization.find(params[:id]) end end