class Loa::Relatorios::ProjecaoDoValorDoLegislativoMunicipal

	def self.dados orcamento
		dados = {}
		total_transferencias = 0
		receitas = []


		#TRIBUTOS DO EXERCICIO
		receitas_rcl_impostos = ['0011180111000000','0011180231000000','0011180141000000']
		receitas_irrf = ['0011130300000000','0011130400000000']
		receitas_de_taxas = ['0011200000000000']
		receitas_de_contribuicoes = ['0011300011000000']

		total_receitas_rcl_impostos = orcamento.naturezas_da_receita.where("codigo in (?)", receitas_rcl_impostos).to_a.sum(&:total_previsto_agregado)
		total_irrf = orcamento.naturezas_da_receita.where("codigo in (?)", receitas_irrf).to_a.sum(&:total_previsto_agregado)
		total_receitas_de_taxas = orcamento.naturezas_da_receita.where("codigo in (?)", receitas_de_taxas).to_a.sum(&:total_previsto_agregado)
		total_receitas_de_contribuicoes = orcamento.naturezas_da_receita.where("codigo in (?)", receitas_de_contribuicoes).to_a.sum(&:total_previsto_agregado)

		total_receita_tributaria = total_receitas_rcl_impostos + total_irrf + total_receitas_de_taxas + total_receitas_de_contribuicoes

		sumario = {}
		sumario['nome'] = "RECEITA TRIBUTÁRIA (A)"
		sumario['valor'] = total_receita_tributaria
		sumario['estilo'] = 'negrito'
		receitas.push(sumario)


		orcamento.naturezas_da_receita.where("codigo in (?)", receitas_rcl_impostos).order(:codigo).each do |receita|
			sumario = {}
			sumario['nome'] = receita.descricao_e_sigla
			sumario['valor'] = receita.total_previsto_agregado
			receitas.push(sumario)
		end


		sumario = {}
		sumario['nome'] = "IRRF"
		sumario['valor'] = total_irrf
		receitas.push(sumario)


		orcamento.naturezas_da_receita.where("codigo in (?)", receitas_de_taxas).order(:codigo).each do |receita|
			sumario = {}
			sumario['nome'] = receita.descricao_e_sigla
			sumario['valor'] = receita.total_previsto_agregado
			receitas.push(sumario)
		end

		sumario = {}
		sumario['nome'] = 'Contribuições'
		sumario['valor'] = total_receitas_de_contribuicoes
		receitas.push(sumario)

		receitas_de_juros_e_multa = orcamento.naturezas_da_receita.where("origem = '1' and categoria_economica = '001' and detalhamento_optativo = '2'").to_a.sum(&:total_previsto_agregado)
		receitas_de_juros_e_multa_da_divida_ativa = orcamento.naturezas_da_receita.where("origem = '1' and categoria_economica = '001' and detalhamento_optativo = '4'").to_a.sum(&:total_previsto_agregado)
		receitas_da_divida_ativa = orcamento.naturezas_da_receita.where("origem = '1' and categoria_economica = '001' and detalhamento_optativo = '3'").to_a.sum(&:total_previsto_agregado)
		total_divida_ativa_tributaria = receitas_de_juros_e_multa + receitas_de_juros_e_multa_da_divida_ativa + receitas_da_divida_ativa

		sumario = {}
		sumario['nome'] = "DÍVIDA ATIVA TRIBUTÁRIA (B)"
		sumario['valor'] = total_divida_ativa_tributaria
		sumario['estilo'] = 'negrito'
		receitas.push(sumario)

		sumario = {}
		sumario['nome'] = "Multa e Juros de Mora de Tributos"
		sumario['valor'] = receitas_de_juros_e_multa
		receitas.push(sumario)

		sumario = {}
		sumario['nome'] = "Multa e Juros de Mora da Dívida Ativa dos Tributos"
		sumario['valor'] = receitas_de_juros_e_multa_da_divida_ativa
		receitas.push(sumario)

		sumario = {}
		sumario['nome'] = "Receitas da Dívida Ativa Tributária"
		sumario['valor'] = receitas_da_divida_ativa
		receitas.push(sumario)

		receita_de_contribuicao_de_iluminacao_publica = orcamento.naturezas_da_receita.where("codigo in (?)", ["0012400011000000"]).to_a.sum(&:total_previsto_agregado)
		sumario = {}
		sumario['nome'] = "CONTRIBUIÇÃO DE ILUMINAÇÃO PÚBLICA (C)"
		sumario['valor'] = receita_de_contribuicao_de_iluminacao_publica
		sumario['estilo'] = 'negrito'
		receitas.push(sumario)


		# QUOTAS DE TRANSFERÊNCIAS
		if orcamento.utiliza_novo_tipo_para_receita?
			transferencias_constitucionais = ["0017180121000000", "0017180151000000", "0017180611000000", "0017280111000000", "0017280121000000", "0017280131000000", "0017180181000000", "0017280141000000"]
		else
			transferencias_constitucionais = ["1721010200", "1721010500", "1721360000", "1722010100", "1722010200", "1722010400", '1718018100', '1728014100']
		end

		orcamento.naturezas_da_receita.where("codigo in (?)", transferencias_constitucionais).each do |receita|
			total_transferencias += receita.valor_total
		end

		sumario = {}
		sumario['nome'] = "TRANSFERÊNCIAS CONSTITUCIONAIS (D)"
		sumario['valor'] = total_transferencias
		sumario['estilo'] = 'negrito'
		receitas.push(sumario)

		orcamento.naturezas_da_receita.where("codigo in (?)", transferencias_constitucionais).each do |receita|
			sumario = {}
			sumario['nome'] = receita.descricao_e_sigla
			sumario['valor'] = receita.valor_total
			receitas.push(sumario)
		end

		total_da_base_de_calculo = total_transferencias + receita_de_contribuicao_de_iluminacao_publica + total_divida_ativa_tributaria + total_receita_tributaria
		valor_de_repasse = orcamento.valor_percentual_do_duodecimo(total_da_base_de_calculo)

		sumario = {}
		sumario['nome'] = "TOTAL BASE DE CÁLCULO LEGISLATIVO (E = A + b + c + d)"
		sumario['valor'] = total_da_base_de_calculo
		sumario['estilo'] = 'negrito'
		receitas.push(sumario)

		sumario = {}
		sumario['nome'] = "Percentual do Limite Legal"
		sumario['valor'] = orcamento.percentual_do_duodecimo.to_f > 0 ? orcamento.percentual_do_duodecimo : 7
		sumario['estilo'] = 'negrito'
		receitas.push(sumario)

		sumario = {}
		sumario['nome'] = 'Estimativa do limite legal do repasse anual'
		sumario['valor'] = valor_de_repasse
		sumario['estilo'] = 'negrito'
		receitas.push(sumario)

		sumario = {}
		sumario['nome'] = 'Estimativa do limite legal mensal'
		sumario['valor'] = orcamento.valor_percentual_do_duodecimo_mensal(valor_de_repasse)
		sumario['estilo'] = 'negrito'
		receitas.push(sumario)

			sumario = {}
			sumario['nome'] = "Percentual do Repasse na LOA"
			sumario['valor'] = orcamento.valor_duodecimo_camara / total_da_base_de_calculo * 100
			sumario['estilo'] = 'negrito'
		 receitas.push(sumario)

		sumario = {}
		sumario['nome'] = 'Estimativa repasse anual na LOA'
		sumario['valor'] = orcamento.valor_duodecimo_camara
		sumario['estilo'] = 'negrito'
		receitas.push(sumario)

		sumario = {}
		sumario['nome'] = 'Estimativa do limite legal mensal'
		sumario['valor'] = orcamento.valor_duodecimo_camara/12
		sumario['estilo'] = 'negrito'
		receitas.push(sumario)

		dados = receitas
		return dados

	end


end
