class Loa::Relatorios::DemostrativoDosCalculosDaAplicacaoNoFundeb

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

    #Receitas
		if orcamento.utiliza_novo_tipo_para_receita?
			receitas_quotas_do_fundeb = ["0017180121000000", "0017180151000000", "0017180611000000", "0017280111000000", "0017280121000000", "0017280131000000", "0017180181000000"]
		else
			receitas_quotas_do_fundeb = ["1721010200", "1721010500", "1721360000", "1722010100", "1722010200", "1722010400", '1718018100']
		end

    orcamento.naturezas_da_receita.where("codigo in (?)", receitas_quotas_do_fundeb).order(:codigo).each do |receita|
      sumario = {}
      sumario['nome'] = receita.descricao_e_sigla
      sumario['valor'] = receita.valor_total * 0.2
        total_quotas += (receita.valor_total * 0.2)
      receitas.push(sumario)
    end
    sumario = {}
    sumario['nome'] = "Complementação do FUNDEB"
    sumario['valor'] = orcamento.valor_total_do_ganho_e_complementacao_do_fundeb
    receitas.push(sumario)

		total_aplicacao_fincanceira = 0
		orcamento.naturezas_da_receita.where(aplicacao_financeira_do_fundeb: true).each do |receita|
			total_aplicacao_fincanceira += receita.valor_total
	    sumario = {}
	    sumario['nome'] = "Rendimentos de Aplicações Financeiras"
	    sumario['valor'] = receita.valor_total
    	receitas.push(sumario)
		end


		total_a_aplicar =  total_quotas + orcamento.valor_total_do_ganho_e_complementacao_do_fundeb + total_aplicacao_fincanceira
		total_magisterio = total_a_aplicar * 0.6

    sumario = {}
    sumario['nome'] = "TOTAL A APLICAR (A)"
    sumario['valor'] = total_a_aplicar
    sumario['estilo'] = 'negrito'
    receitas.push(sumario)

    sumario = {}
    sumario['nome'] = "Mínimo de 60% na Remuneração do Magistério (B)"
    sumario['valor'] = total_magisterio
    sumario['estilo'] = 'negrito'
    receitas.push(sumario)

		total_outras_despesas =  total_a_aplicar - total_magisterio

    sumario = {}
    sumario['nome'] = "Máximo de 40% com Outras Despesas com MDEB"
    sumario['valor'] = total_outras_despesas
    sumario['estilo'] = 'negrito'
    receitas.push(sumario)

		#Despesas
    sumario = {}
    sumario['nome'] = "Remuneração dos Profissionais do Magistério"
    sumario['valor'] =  orcamento.valor_remuneracao_professores_magisterio
    deducoes.push(sumario)

    sumario = {}
    sumario['nome'] = "Encargos Sociais"
    sumario['valor'] = orcamento.valor_encargos_sociais_masgisterio
    deducoes.push(sumario)

		subtotal_remuneracao = orcamento.valor_encargos_sociais_masgisterio + orcamento.valor_remuneracao_professores_magisterio

    sumario = {}
    sumario['nome'] = "SUBTOTAL COM REMUNERAÇÃO DO MAGISTÉRIO (C)"
    sumario['valor'] =  subtotal_remuneracao
    sumario['estilo'] = 'negrito'
    deducoes.push(sumario)

		sumario = {}
		sumario['nome'] = "Percentual FUNDEB 60"
		sumario['valor'] =  (subtotal_remuneracao / total_a_aplicar) * 100
		deducoes.push(sumario)

		diferenca = subtotal_remuneracao - total_magisterio

		sumario = {}
    sumario['nome'] = "Diferença ( C- B)"
    sumario['valor'] =  diferenca
    deducoes.push(sumario)

		sumario = {}
		sumario['nome'] = "Outras Despesas com Manutenção e Desenvolvimento da Educação – MDEB"
		sumario['valor'] = orcamento.valor_total_gasto_com_fundeb_quarenta
		deducoes.push(sumario)

		sumario = {}
		sumario['nome'] = "SUBTOTAL DE OUTRAS DESPESAS (D)"
		sumario['valor'] = orcamento.valor_total_gasto_com_fundeb_quarenta
		sumario['estilo'] = 'negrito'
		deducoes.push(sumario)

		sumario = {}
		sumario['nome'] = "Percentual FUNDEB 40"
		sumario['valor'] =  (orcamento.valor_total_gasto_com_fundeb_quarenta / total_a_aplicar) * 100
		sumario['estilo'] = 'negrito'
		deducoes.push(sumario)

		total_aplicado = subtotal_remuneracao + orcamento.valor_total_gasto_com_fundeb_quarenta
		sumario = {}
		sumario['nome'] = "TOTAL APLICADO (E = C + D)"
		sumario['valor'] = total_aplicado
		sumario['estilo'] = 'negrito'
		deducoes.push(sumario)

		sumario = {}
		sumario['nome'] = "SUPERÁVIT / DÉFICIT DE APLICAÇÃO (F = E - A)"
		sumario['valor'] = total_aplicado - total_a_aplicar
		sumario['estilo'] = 'negrito'
		deducoes.push(sumario)

    dados[:receitas] = receitas
    dados[:deducoes] = deducoes

    return dados

  end

end
