Merge branch 'feature/SU2-20' of DAAntipenko/finreport-analyzer into develop
This commit is contained in:
@@ -28,15 +28,17 @@ a.link:hover {
|
|||||||
|
|
||||||
.main-container {
|
.main-container {
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
|
padding-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.informations-data {
|
.informations-data {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
width: 80%;
|
width: 90%;
|
||||||
min-width: 300px;
|
min-width: 300px;
|
||||||
max-width: 1200px;
|
max-width: 1400px;
|
||||||
margin: 0 auto 10px;
|
margin: 0 auto;
|
||||||
|
padding-bottom: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
.informations-data h2 {
|
.informations-data h2 {
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
class OrganisationsController < ApplicationController
|
class OrganisationsController < ApplicationController
|
||||||
|
before_action :set_organisation, only: [:show]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
organizations = Organization.all
|
organizations = Organization.all
|
||||||
|
|
||||||
@@ -17,38 +19,59 @@ class OrganisationsController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
org = Organization.find(params[:id])
|
|
||||||
@org_id = org.id
|
|
||||||
|
|
||||||
doc_types = {
|
doc_types = {
|
||||||
0 => 'Бухгалтерский баланс',
|
0 => 'Бухгалтерский баланс',
|
||||||
1 => 'Отчёт о финансовых результатах',
|
1 => 'Отчёт о финансовых результатах',
|
||||||
2 => 'Отчёт об изменении капитала',
|
2 => 'Отчёт об изменении капитала',
|
||||||
3 => 'Отчет о движении денежных средств'
|
3 => 'Отчет о движении денежных средств'
|
||||||
}
|
}
|
||||||
|
|
||||||
@type_doc = params[:type_doc].present? ? params[:type_doc].to_i : 0
|
@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 = {
|
@info_about_organisation = {
|
||||||
"Сведения об организации" => {
|
"Сведения об организации" => {
|
||||||
"ИНН" => org.inn,
|
"ИНН" => @org.inn,
|
||||||
"Полное наименование юридического лица" => org.full_name,
|
"Полное наименование юридического лица" => @org.full_name,
|
||||||
"КПП" => org.kpp,
|
"КПП" => @org.kpp,
|
||||||
"Код по ОКПО" => org.okpo,
|
"Код по ОКПО" => @org.okpo,
|
||||||
"Форма собственности (по ОКФС)" => org.okfs,
|
"Форма собственности (по ОКФС)" => @org.okfs,
|
||||||
"Организационно-правовая форма (по ОКОПФ)" => org.okopf,
|
"Организационно-правовая форма (по ОКОПФ)" => @org.okopf,
|
||||||
"Вид экономической деятельности по ОКВЭД 2" => org.okved2,
|
"Вид экономической деятельности по ОКВЭД 2" => @org.okved2,
|
||||||
"Местонахождение (адрес)" => org.address
|
"Местонахождение (адрес)" => @org.address
|
||||||
|
|
||||||
},
|
},
|
||||||
"Бухгалтерский баланс" => [["Наименование показателя", "На 31 декабря 2024 г.", "На 31 декабря 2023 г."], \
|
|
||||||
["Нематериальные активы", 10457, 9925], \
|
|
||||||
["Результаты исследований и разработок", 6969, 428571]],
|
|
||||||
"Отчёт о финансовых результатах" => [["Наименование показателя", "За 2024 г.", "За 2023 г."], \
|
|
||||||
["Выручка", 301837283, 238834307], \
|
|
||||||
["Себестоимость продаж", -228706983, -178449438]]
|
|
||||||
|
|
||||||
|
"Бухгалтерский баланс" => ["Наименование показателя", "Код", "На 31 декабря 2024 г.", "На 31 декабря 2023 г.", "На 31 декабря 2022 г.", "На 31 декабря 2021 г.", "На 31 декабря 2020 г.", "На 31 декабря 2019 г."],
|
||||||
|
"Отчёт о финансовых результатах" => ["Наименование показателя", "Код", "За 2024 г.", "За 2023 г.", "За 2022 г.", "За 2021 г.", "За 2020 г."]
|
||||||
}
|
}
|
||||||
|
|
||||||
@doc_name = doc_types[@type_doc]
|
@doc_name = doc_types[@type_doc]
|
||||||
@current_doc_info = @info_about_organisation[@doc_name]
|
@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
|
||||||
end
|
end
|
||||||
@@ -12,20 +12,25 @@
|
|||||||
- @info_about_organisation["Сведения об организации"].each do |key, value|
|
- @info_about_organisation["Сведения об организации"].each do |key, value|
|
||||||
.information-elem
|
.information-elem
|
||||||
= "#{key}: #{value}"
|
= "#{key}: #{value}"
|
||||||
= render 'organisations/templates/type_doc', target: "type_doc_#{@type_doc}", org_id: "#{@org_id}"
|
= render 'organisations/templates/type_doc', target: "type_doc_#{@type_doc}", org_id: "#{@org.id}"
|
||||||
h2
|
h2
|
||||||
= "#{@doc_name}"
|
= "#{@doc_name}"
|
||||||
.information-table
|
- if @current_doc_info.present?
|
||||||
table
|
.information-table
|
||||||
thead
|
table
|
||||||
tr
|
thead
|
||||||
- @current_doc_info[0].each do |value|
|
tr
|
||||||
th
|
- @current_doc_info.each do |header|
|
||||||
= value
|
th = header
|
||||||
|
tbody
|
||||||
tbody
|
- @current_doc_info1.keys.each do |key|
|
||||||
- @current_doc_info[1..-1].each do |values|
|
tr
|
||||||
tr
|
td = key[0]
|
||||||
- values.each do |value|
|
td = key[1]
|
||||||
td
|
- @current_doc_info1[key].each do |value|
|
||||||
= value
|
td = value
|
||||||
|
|
||||||
|
- else
|
||||||
|
h3
|
||||||
|
= "Нет данных"
|
||||||
|
|
||||||
Reference in New Issue
Block a user