class Tcm::Arquivo < ApplicationRecord
	include Tcm::TalaoDeReceitaConcern
	include Tcm::TalaoDeReceitaExtraConcern
	include Tcm::AnulacaoDoTalaoDeReceitaConcern
	include Tcm::AnulacaoDoTalaoDeReceitaExtraConcern
	include Tcm::EmpenhoConcern
	include Tcm::NotaFiscalConcern
	include Tcm::PagamentoConcern
	include Tcm::PagamentoDaLiquidacaoConcern
	include Tcm::PagamentoDeFolhaConcern
	include Tcm::ChequeDePagamentoConcern
	include Tcm::ItemDaNotaFiscalConcern
	include Tcm::AnulacaoDoEmpenhoConcern
	include Tcm::BalancetePcasp
	include Tcm::BalanceteContaBancariaPcasp
	include Tcm::LiquidacaoConcern

	include Tcm::LicitanteConcern
	include Tcm::LicitanteDeParceriaConcern

	belongs_to :lote

	attr_default :situacao, :pendente

	has_many :linhas, class_name: "Tcm::Linha"

	validates_presence_of :nome
	has_attached_file :doc
	validates_attachment_content_type :doc, content_type: ['application/csv', 'text/csv', ' text/plain', 'application/octet-stream']
	validates_attachment_size :doc, in: 0..10.megabytes

	validates_uniqueness_of :nome, scope: :lote

	before_validation :ler_dados_do_doc, if: proc { self.importado? }

	scope :importados , -> { where(importado: true) }
	scope :proprios, -> { where("importado is false or importado is null") }

	enum situacao: {
		pendente: 0,
		processado: 1,
		erro_ao_processar: 2
	}

	def ler_dados_do_doc
		self.nome = self.doc_file_name
		if doc.queued_for_write[:original].present?
			temp_file = doc.queued_for_write[:original].path
			self.conteudo = File.read(temp_file).encode('UTF-8', 'ISO-8859-1') unless temp_file.nil?
		end
		self.importado = true
		self.situacao = :processado
	end

	def qtd_de_linhas 
		if self.conteudo.nil? || self.conteudo.empty?
			return 0
		else
			self.conteudo.count("\n") == 0 ? 1 : self.conteudo.count("\n")
		end
	end

	def processar
		begin
			self.lote.limpa_arquivo_individual(self)

			self.conteudo = ""

			# orcamento
			if nome.slice(0..1)["PA"] && nome[".ORC"]
				self.lote.gera_arquivo_de_orcamento_das_despesas_por_projetos(self)
			elsif nome.slice(0..1)["RE"] && nome[".ORC"]
				self.lote.gera_arquivo_de_orcamentos_das_receitas(self)
			elsif nome.slice(0..1)["DE"] && nome[".ORC"]
				self.lote.gera_arquivo_de_orcamentos_da_despesa_e_elementos_da_despesa(self)
			elsif nome.slice(0..1)["EP"] && nome[".ORC"]
				self.lote.gera_arquivo_de_elementos_da_despesa_por_projetos_e_atividades(self)
			elsif nome.slice(0..1)["OR"] && nome[".BAS"]
				self.lote.gera_arquivo_de_orgaos(self)
			elsif nome.slice(0..1)["UO"] && nome[".BAS"]
				self.lote.gerar_arquivo_de_unidades_orcamentarias(self)
			elsif nome.slice(0..1)["DO"] && nome[".ORC"]
				self.lote.gera_arquivo_de_orcamento(self)
			elsif nome.slice(0..1)["PG"] && nome[".ORC"]
				self.lote.gera_arquivo_de_programas_de_governo(self)
			end

			# licitacao
			if nome.slice(0..1)["LI"] && nome[".LCO"]
				self.lote.gera_arquivo_processos(self)
			elsif nome.slice(0..1)["PE"] && nome[".LCO"]
				self.lote.gera_arquivo_publicacoes_de_processos(self)
			elsif nome.slice(0..1)["CL"] && nome[".LCO"]
				self.lote.gera_arquivo_comissoes(self)
			elsif nome.slice(0..1)["MC"] && nome[".LCO"]
				self.lote.gera_arquivo_membros_das_comissoes(self)
			elsif nome.slice(0..1)["LT"] && nome[".LCO"]
				self.gera_arquivo_licitantes
			elsif nome.slice(0..1)["TL"] && nome[".LCO"]
				self.lote.gera_arquivo_itens_do_processo(self)
			elsif nome.slice(0..1)["DL"] && nome[".LCO"]
				self.lote.gera_arquivo_dotacoes_dos_processos(self)
			elsif nome.slice(0..1)["CO"] && nome[".LCO"]
				self.lote.gera_arquivo_contratos_e_aditivos(self)
			elsif nome.slice(0..1)["CT"] && nome[".LCO"]
				self.lote.gera_arquivo_contratados(self)
			elsif nome.slice(0..1)["PC"] && nome[".OSC"]
				self.lote.gera_arquivo_processos_parcerias(self)
			elsif nome.slice(0..1)["PP"] && nome[".OSC"]
				self.lote.gera_arquivo_publicacoes_de_processos_parcerias(self)
			elsif nome.slice(0..1)["CC"] && nome[".OSC"]
				self.lote.gera_arquivo_comissoes_parcerias(self)
			elsif nome.slice(0..1)["MS"] && nome[".OSC"]
				self.lote.gera_arquivo_membros_das_comissoes_parcerias(self)
			elsif nome.slice(0..1)["OC"] && nome[".OSC"]
				self.gera_arquivo_licitantes_parcerias
			elsif nome.slice(0..1)["DC"] && nome[".OSC"]
				self.lote.gera_arquivo_dotacoes_dos_processos_parcerias(self)
			elsif nome.slice(0..1)["PS"] && nome[".OSC"]
				self.lote.gera_arquivo_contratos_parcerias(self)
			elsif nome.slice(0..1)["PD"] && nome[".OSC"]
				self.lote.gera_arquivo_aditivos_parcerias(self)
			end

			# patrimonio
			if nome.slice(0..1)["BP"] && nome[".PAT"]
				self.lote.gera_bens_patrimoniais(self)
			elsif nome.slice(0..1)["BO"] && nome[".PAT"]
				self.lote.gera_bens_patrimoniais_por_unidade(self)
			elsif nome.slice(0..1)["BN"] && nome[".PAT"]
				self.lote.gera_bens_por_empenho(self)
			elsif nome.slice(0..1)["RB"] && nome[".PAT"]
				self.lote.gera_ajuste_reavaliacao_patrimonial(self)
			elsif nome.slice(0..1)["RP"] && nome[".PAT"]
				self.lote.gera_contas_redutoras_patrimonial(self)
			end

			# contabilidade
			if nome.slice(0..1)["TR"] && nome[".DCR"]
				self.gerar_talao_de_receita
			elsif nome.slice(0..1)["TX"] && nome[".DCR"]
				self.gerar_talao_de_receita_extra
			elsif nome.slice(0..1)["AT"] && nome[".DCR"]
				self.gerar_anulacao_do_talao_de_receita
			elsif nome.slice(0..1)["AX"] && nome[".DCR"]
				self.gerar_anulacao_do_talao_de_receita_extra
			elsif nome.slice(0..1)["NE"] && nome[".DCD"]
				self.gerar_empenhos
			elsif nome.slice(0..1)["AE"] && nome[".DCD"]
				self.gerar_anulacoes_do_empenho
			elsif nome.slice(0..1)["MO"] && nome[".OSE"]
				self.lote.gerar_medicoes_das_obras(self)
			elsif nome.slice(0..1)["LQ"] && nome[".DCD"]
				self.gerar_liquidacoes
			elsif nome.slice(0..1)["NF"] && nome[".DCD"]
				self.gerar_notas_fiscais
			elsif nome.slice(0..1)["IF"] && nome[".DCD"]
				self.gerar_itens_das_notas
			elsif nome.slice(0..1)["NP"] && nome[".DCD"]
				self.gerar_pagamentos
			elsif nome.slice(0..1)["PL"] && nome[".DCD"]
				self.gerar_pagamentos_das_liquidacoes
			elsif nome.slice(0..1)["PF"] && nome[".DCD"]
				self.gerar_pagamentos_de_folha
			elsif nome.slice(0..1)["CP"] && nome[".DCD"]
				self.gerar_cheque_de_nota_de_pagamento
			elsif nome.slice(0..1)["DP"] && nome[".DCD"]
				self.lote.gerar_deducoes_de_notas_de_pagamento(self)
			elsif nome.slice(0..1)["EL"] && nome[".DCD"]
				self.lote.gerar_estornos_de_liquidacao(self)
			elsif nome.slice(0..1)["EG"] && nome[".DCD"]
				self.lote.gerar_estornos_de_pagamento(self)
			elsif nome.slice(0..1)["XD"] && nome[".DCD"]
				self.lote.gerar_despesas_extra_orcamentarias(self)
			elsif nome.slice(0..1)["XE"] && nome[".DCD"]
				self.lote.gerar_estornos_despesas_extra_orcamentarias(self)
			elsif nome.slice(0..1)["CA"] && nome[".CRD"]
				self.lote.gerar_abertura_de_credito_adicional(self)
			elsif nome.slice(0..1)["FA"] && nome[".CRD"]
				self.lote.gerar_fontes_de_abertura_de_credito_adicional(self)
			elsif nome.slice(0..1)["RT"] && nome[".CRD"]
				self.lote.gerar_remanejamentos_transposicoes_e_transferencias(self)
			elsif nome.slice(0..1)["DT"] && nome[".CRD"]
				self.lote.gerar_destinacao_remanejamentos_transposicoes_e_transferencias(self)
			elsif nome.slice(0..1)["MF"] && nome[".CRD"]
				self.lote.gerar_movimentacao_fontes_de_recurso(self)
			elsif nome.slice(0..1)["TF"] && nome[".OUT"]
				self.lote.gerar_transferencias_federais(self)
			elsif nome.slice(0..1)["DA"] && nome[".OUT"]
				self.lote.gerar_diarias(self)
			elsif nome.slice(0..1)["OS"] && nome[".OSE"]
				self.lote.gerar_obras(self)
			elsif nome.slice(0..1)["SO"] && nome[".OSE"]
				self.lote.gerar_status_da_obra(self)
			elsif nome.slice(0..1)["CB"] && nome[".BAS"]
				self.lote.gerar_contas_bancarias_municipais(self)
			elsif nome.slice(0..1)["XC"] && nome[".BAS"]
				self.lote.gerar_contas_contas_extra_orcamentarias(self)
			elsif nome.slice(0..1)["RC"] && nome[".CTR"]
				self.lote.gerar_responsaveis_pela_geracao_e_envio_de_contas_mensais(self)
			elsif nome.slice(0..1)["EF"] && nome[".DCD"]
				self.lote.gerar_transferencias_financeiras(self)
			elsif nome.slice(0..1)["GE"] && nome[".BAS"]
				self.lote.gera_arquivo_gestores(self)
			elsif nome.slice(0..1)["UG"] && nome[".BAS"]
				self.lote.gerar_arquivo_unidade_gestora(self)
			elsif nome.slice(0..1)["OD"] && nome[".BAS"]
				self.lote.gerar_arquivo_ordenador_de_despesa(self)
			elsif nome.slice(0..1)["BD"] && nome[".BAL"]
				self.lote.gerar_balancetes_de_despesas_orcamentarias(self)
			elsif nome.slice(0..1)["BR"] && nome[".BAL"]
				self.lote.gerar_balancetes_de_receitas_orcamentarias(self)
			elsif nome.slice(0..1)["RX"] && nome[".BAL"]
				self.lote.gerar_balancetes_de_receitas_extras_orcamentarias(self)
			elsif nome.slice(0..1)["DX"] && nome[".BAL"]
				self.lote.gerar_balancetes_de_despesas_extras_orcamentarias(self)
			elsif nome.slice(0..1)["BE"] && nome[".BAL"]
				self.lote.gerar_balancetes_de_receitas_orcamentarias_pcasp(self)
			elsif nome.slice(0..1)["BA"] && nome[".BAL"]
				self.lote.gerar_balancetes_de_despesas_orcamentarias_pcasp(self)
			elsif nome.slice(0..1)["BB"] && nome[".BAL"]
				self.gerar_balancetes_das_contas_bancarias_pcasp
			elsif nome.slice(0..1)["BC"] && nome[".BAL"]
				self.gerar_balancetes_das_contas_pcasp
			elsif nome.slice(0..1)["PC"] && nome[".RPP"]
				self.lote.gerar_parcelamentos_de_rpps(self)
			elsif nome.slice(0..1)["AA"] && nome[".RPP"]
				self.lote.gerar_acompanhamentos_de_parcelamento_de_rpps(self)
			elsif nome.slice(0..1)["CN"] && nome[".RPP"]
				self.lote.gerar_conselhos_de_rpps(self)
			elsif nome.slice(0..1)["DR"] && nome[".RPP"]
				self.lote.gerar_demonstrativos_de_informacoes_previdenciarias(self)
			elsif nome.slice(0..1)["ME"] && nome[".RPP"]
				self.lote.gerar_membros_do_conselhos_de_rpps(self)
			elsif nome.slice(0..1)["IN"] && nome[".RPP"]
				self.lote.gerar_investimentos_do_rpps(self)
			elsif nome.slice(0..1)["CI"] && nome[".RPP"]
				self.lote.gerar_comites_de_ivestimento_rpps(self)
			elsif nome.slice(0..1)["AD"] && nome[".RPP"]
				self.lote.gerar_aportes_e_despesa(self)
			elsif nome.slice(0..1)["MI"] && nome[".RPP"]
				self.lote.gerar_membros_do_comite_de_ivestimento_rpps(self)
			elsif nome.slice(0..1)["LR"] && nome[".RPP"]
				self.lote.gerar_decretos_de_rpps(self)
			elsif nome.slice(0..1)["AR"] && nome[".RPP"]
				self.lote.gerar_alocacao_de_recursos(self)
			end

			self.update_column(:situacao, :processado)
			return true
		rescue
			Configuracao.last.update_column(:bloqueio_geral, 0) unless Configuracao.last.nao_bloqueado?
			self.update_column(:situacao, :erro_ao_processar)
			return false
		end

	end

	def nome_do_objeto
		if nome.slice(0..1)["OR"] && nome[".BAS"]
			"Órgãos"
		elsif nome.slice(0..1)["RE"] && nome[".ORC"]
			"Orçamento da receita"
		elsif nome.slice(0..1)["PG"] && nome[".ORC"]
			"Programas de Governo"
		elsif nome.slice(0..1)["DE"] && nome[".ORC"]
			'Orçamento da Despesa'
		elsif nome.slice(0..1)["UO"] && nome[".BAS"]
			"Unidades Orçamentárias"
		elsif nome.slice(0..1)["EP"] && nome[".ORC"]
			"Elementos de despesa por projetos e atividades"
		elsif nome.slice(0..1)["PA"] && nome[".ORC"]
			"Orçamento de despesas por projetos e atividades"
		elsif nome.slice(0..1)["DO"] && nome[".ORC"]
			"Dados do Orçamento"
		elsif nome.slice(0..1)["GE"] && nome[".BAS"]
			"Gestores"
		elsif nome.slice(0..1)["UG"] && nome[".BAS"]
			"Unidade Gestoras"
		elsif nome.slice(0..1)["OD"] && nome[".BAS"]
			"Odenadores de Despesa"
		elsif nome.slice(0..1)["CB"] && nome[".BAS"]
			"Contas Bancárias do Município"
		elsif nome.slice(0..1)["XC"] && nome[".BAS"]
			"Contas Extra-Orçamentárias"
		#Licitação
		elsif nome.slice(0..1)["LI"] && nome[".LCO"]
			"Processos Administrativos para aquisição de bens e serviços"
		elsif nome.slice(0..1)["PE"] && nome[".LCO"]
			"Publicações de Procs. Admin. para aquisições de bens e serviços"
		elsif nome.slice(0..1)["CL"] && nome[".LCO"]
			"Comissões de Licitações"
		elsif nome.slice(0..1)["MC"] && nome[".LCO"]
			"Membros das Comissões de Licitação"
		elsif nome.slice(0..1)["LT"] && nome[".LCO"]
			"Licitantes e Fornecedores de bens e serviços"
		elsif nome.slice(0..1)["TL"] && nome[".LCO"]
			"Itens que compõem os bens e serviços"
		elsif nome.slice(0..1)["DL"] && nome[".LCO"]
			"Dotações utilizadas para aquisição de bens e serviços"
		elsif nome.slice(0..1)["CO"] && nome[".LCO"]
			"Contratos"
		elsif nome.slice(0..1)["CT"] && nome[".LCO"]
			"Contratados"

		#Licitação Parcerias
		elsif nome.slice(0..1)["PC"] && nome[".OSC"]
			"Processos Administrativos para Parcerias - OSC"
		elsif nome.slice(0..1)["PP"] && nome[".OSC"]
			"Publicações de Editais dos Procs. Admin. para Parcerias - OSC"
		elsif nome.slice(0..1)["DC"] && nome[".OSC"]
			"Dotações Utilizadas para Parcerias - OSC"
		elsif nome.slice(0..1)["OC"] && nome[".OSC"]
			"Organizações da Sociedade Civil - OSC"
		elsif nome.slice(0..1)["CC"] && nome[".OSC"]
			"Comissões das Parcerias - OSC"
		elsif nome.slice(0..1)["MS"] && nome[".OSC"]
			"Membros das Comissões das Parecerias - OSC"
		elsif nome.slice(0..1)["PS"] && nome[".OSC"]
			"Parcerias - OSC"
		elsif nome.slice(0..1)["PD"] && nome[".OSC"]
			"Aditivos Parcerias - OSC"

		#Contabilidade
		elsif nome.slice(0..1)["TR"] && nome[".DCR"]
			"Talões de Receitas Orçamentárias"
		elsif nome.slice(0..1)["TX"] && nome[".DCR"]
			"Talões de Receitas Extra-Orçamentárias"
		elsif nome.slice(0..1)["AT"] && nome[".DCR"]
			"Anulações de Talões de Receitas Orçamentárias"
		elsif nome.slice(0..1)["AX"] && nome[".DCR"]
			"Anulações de Talões de Receitas Extra Orçamentárias"
		elsif nome.slice(0..1)["NE"] && nome[".DCD"]
			"Empenhos"
		elsif nome.slice(0..1)["LQ"] && nome[".DCD"]
			"Liquidações"
		elsif nome.slice(0..1)["NF"] && nome[".DCD"]
			"Notas Fiscais"
		elsif nome.slice(0..1)["IF"] && nome[".DCD"]
			"Itens das Notas Fiscais"
		elsif nome.slice(0..1)["NP"] && nome[".DCD"]
			"Notas de Pagamentos"
		elsif nome.slice(0..1)["PL"] && nome[".DCD"]
			"Pagamentos das Liquidações"
		elsif nome.slice(0..1)["PF"] && nome[".DCD"]
			"Notas de Pagamentos de Folha de Pagamentos"
		elsif nome.slice(0..1)["EL"] && nome[".DCD"]
			"Estornos de Liquidação"
		elsif nome.slice(0..1)["EG"] && nome[".DCD"]
			"Estornos de Pagamentos"
		elsif nome.slice(0..1)["XD"] && nome[".DCD"]
			"Despesas Extraorçamentárias"
		elsif nome.slice(0..1)["XE"] && nome[".DCD"]
			"Estornos de Despesas Extraorçamentárias"
		elsif nome.slice(0..1)["CA"] && nome[".CRD"]
			"Abertura de Créditos Adicionais"
		elsif nome.slice(0..1)["FA"] && nome[".CRD"]
			"Fontes para Abertura de Créditos por Anulação de Dotação"
		elsif nome.slice(0..1)["RT"] && nome[".CRD"]
			"Remanejamentos, Transposições e Transferências de Dotações"
		elsif nome.slice(0..1)["DT"] && nome[".CRD"]
			"Destinação de Remanejamentos, Transposições e Transferências de Dotações"
		elsif nome.slice(0..1)["MF"] && nome[".CRD"]
			"Movimentações de Fontes de Recursos"
		elsif nome.slice(0..1)["TF"] && nome[".OUT"]
			"Transferências Federais e Estaduais"
		elsif nome.slice(0..1)["DA"] && nome[".OUT"]
			"Diárias"
		elsif nome.slice(0..1)["OS"] && nome[".OSE"]
			"Obras"
		elsif nome.slice(0..1)["MO"] && nome[".OSE"]
			"Medições da Obras"
		elsif nome.slice(0..1)["SO"] && nome[".OSE"]
			"Status da Obra ou Serviço de Engenharia"
		elsif nome.slice(0..1)["AE"] && nome[".DCD"]
			"Notas de Anulações de Empenhos"
		elsif nome.slice(0..1)["DP"] && nome[".DCD"]
			"Deduções de Notas de Pagamentos"
		elsif nome.slice(0..1)["CN"] && nome[".RPP"]
			"Conselho do RPPS"
		elsif nome.slice(0..1)["ME"] && nome[".RPP"]
			"Membros do Conselho do RPPS"
		elsif nome.slice(0..1)["LR"] && nome[".RPP"]
			"Legislação do RPPS"
		elsif nome.slice(0..1)["AR"] && nome[".RPP"]
			"Alocação de recursos do RPPS"
		elsif nome.slice(0..1)["PC"] && nome[".RPP"]
			"Parcelamento do RPPS"
		elsif nome.slice(0..1)["AA"] && nome[".RPP"]
			"Acompanhamento de Parcelamento do RPPS"
		elsif nome.slice(0..1)["IN"] && nome[".RPP"]
			"Investimentos do RPPS"
		elsif nome.slice(0..1)["DR"] && nome[".RPP"]
			"Demonstrativos de Informações Previdenciárias e Repasses do RPPS - DIPR"
		elsif nome.slice(0..1)["AD"] && nome[".RPP"]
			"Aportes e Despesas Específicas do RPPS"
		elsif nome.slice(0..1)["CI"] && nome[".RPP"]
			"Comites De Investimento do RPPS"
		elsif nome.slice(0..1)["MI"] && nome[".RPP"]
			"Membros dos Comites De Investimento do RPPS"
		elsif nome.slice(0..1)["EF"] && nome[".DCD"]
			"Estornos e Transferências Financeiras"
		elsif nome.slice(0..1)["CP"] && nome[".DCD"]
			"Cheques das Notas de Pagamentos"
		elsif nome.slice(0..1)["BD"] && nome[".BAL"]
			"Balancetes de Despesas Orçamentárias"
		elsif nome.slice(0..1)["BR"] && nome[".BAL"]
			"Balancetes de Receitas Orçamentárias"
		elsif nome.slice(0..1)["RX"] && nome[".BAL"]
			"Balancetes de Receitas Extra-Orçamentárias"
		elsif nome.slice(0..1)["DX"] && nome[".BAL"]
			"Balancetes de Despesas Extra-Orçamentárias"
		elsif nome.slice(0..1)["BA"] && nome[".BAL"]
			"Balancetes Contábeis Despesas"
		elsif nome.slice(0..1)["BE"] && nome[".BAL"]
			"Balancetes Contábeis Receitas"
		elsif nome.slice(0..1)["BB"] && nome[".BAL"]
			"Balancetes Contábeis de Contas Bancárias"
		elsif nome.slice(0..1)["BC"] && nome[".BAL"]
			"Balancetes Contábeis"
		
		#patrimonio
		elsif nome.slice(0..1)["BP"] && nome[".PAT"]
			"Bens Incorporados ao Patrimônio"
		elsif nome.slice(0..1)["BO"] && nome[".PAT"]
			"Controle de Bens por Unidade Orçamentária"
		elsif nome.slice(0..1)["BN"] && nome[".PAT"]
			"Controle de Bens por Nota de Empenho"
		elsif nome.slice(0..1)["RB"] && nome[".PAT"]
			"Ajuste/Reavaliação Patrimonial e Desincorporação de bem"
		elsif nome.slice(0..1)["RP"] && nome[".PAT"]
			"Contas Redutoras dos Bens Incorporados"
			
		# EXTERNOS
		elsif nome.slice(0..1)["FP"] && nome[".CPF"]
			"Folhas de Pagamentos"
		elsif nome.slice(0..1)["RC"] && nome[".CTR"]
			"Responsáveis pela Geração e Envio de Contas Mensais"
		elsif nome.slice(0..1)["AF"] && nome[".CPF"]
			"Agentes Públicos da Folha"
		elsif nome.slice(0..1)["AP"] && nome[".CPF"]
			"Agentes Públicos Municipais"
		elsif nome.slice(0..1)["CR"] && nome[".CPF"]
			"Concessão de Itens Remuneratórios a agentes Públicos"
		elsif nome.slice(0..1)["SR"] && nome[".CPF"]
			"Suspesão de Itens Remuneratórios a agentes Públicos"
		elsif nome.slice(0..1)["ER"] && nome[".CPF"]
			"Extirada de Itens Remuneratórios"
		elsif nome.slice(0..1)["IR"] && nome[".CPF"]
			"Itens Remuneratórios"
		elsif nome.slice(0..1)["RA"] && nome[".CPF"]
			"Reingressos de Agentes Públicos"
		elsif nome.slice(0..1)["DS"] && nome[".CPF"]
			"Desligamento de Agentes Públicos"
		elsif nome.slice(0..1)["VM"] && nome[".VCL"]
			"Veículos Municipais"
		elsif nome.slice(0..1)["VL"] && nome[".VCL"]
			"Veículos Locados"
		elsif nome.slice(0..1)["VC"] && nome[".VCL"]
			"Veículos Cedidos por Terceiros"
		elsif nome.slice(0..1)["DV"] && nome[".VCL"]
			"Destinação de Veículos"
		elsif nome.slice(0..1)["BV"] && nome[".VCL"]
			"Baixa na Destinação de Veículos"
		elsif nome.slice(0..1)["CV"] && nome[".VCL"]
			"Controle de Abastecimento de Veículos"
		elsif nome.slice(0..1)["CM"] && nome[".VCL"]
			"Controle de Manutenção de Veículos"
		else
			"Não Identificado"
		end
	end
end
