require 'active_support/concern'

module SeedFuncoesESubFuncoes
	extend ActiveSupport::Concern

	def cria_funcoes_e_subfuncoes ppa_id = self.id
		###### FUNÇÕES
		funcao_01 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "01",  nome: "Legislativa" )
		funcao_02 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "02",  nome: "Judiciária" )
		funcao_03 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "03",  nome: "Essencial à Justiça" )
		funcao_04 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "04",  nome: "Administração" )
		funcao_05 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "05",  nome: "Defesa Nacional" )
		funcao_06 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "06",  nome: "Segurança Pública" )
		funcao_07 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "07",  nome: "Relações Exteriores" )
		funcao_08 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "08",  nome: "Assistência Social" )
		funcao_09 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "09",  nome: "Previdência Social" )
		funcao_10 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "10",  nome: "Saúde" )
		funcao_11 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "11",  nome: "Trabalho" )
		funcao_12 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "12",  nome: "Educação" )
		funcao_13 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "13",  nome: "Cultura" )
		funcao_14 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "14",  nome: "Direitos da Cidadania" )
		funcao_15 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "15",  nome: "Urbanismo" )
		funcao_16 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "16",  nome: "Habitação" )
		funcao_17 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "17",  nome: "Saneamento" )
		funcao_18 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "18",  nome: "Gestão Ambiental" )
		funcao_19 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "19",  nome: "Ciência e Tecnologia" )
		funcao_20 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "20",  nome: "Agricultura" )
		funcao_21 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "21",  nome: "Organização Agrária" )
		funcao_22 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "22",  nome: "Indústria" )
		funcao_23 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "23",  nome: "Comércio e Serviços" )
		funcao_24 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "24",  nome: "Comunicações" )
		funcao_25 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "25",  nome: "Energia" )
		funcao_26 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "26",  nome: "Transporte" )
		funcao_27 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "27",  nome: "Desporto e Lazer" )
		funcao_28 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "28",  nome: "Encargos Especiais" )
		funcao_99 = Ppa::Funcao.create!( ppa_id: ppa_id, codigo: "99",  nome: "Reserva de Contingência" )

		Ppa::SubFuncao.create!( funcao_id: funcao_01.id, codigo: "031", nome: "Ação Legislativa" )
		Ppa::SubFuncao.create!( funcao_id: funcao_01.id, codigo: "032", nome: "Controle Externo" )

		Ppa::SubFuncao.create!( funcao_id: funcao_02.id, codigo: "061", nome: "Ação Judiciária" )
		Ppa::SubFuncao.create!( funcao_id: funcao_02.id, codigo: "062", nome: "Defesa do Interesse Público no Processo Judiciário" )

		Ppa::SubFuncao.create!( funcao_id: funcao_03.id, codigo: "091", nome: "Defesa da Ordem Jurídica" )
		Ppa::SubFuncao.create!( funcao_id: funcao_03.id, codigo: "092", nome: "Representação Judicial e Extrajudicial" )

		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "121", nome: "Planejamento e Orçamento" )
		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "122", nome: "Administração Geral" )
		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "123", nome: "Administração Financeira" )
		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "124", nome: "Controle Interno" )
		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "125", nome: "Normatização e Fiscalização" )
		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "126", nome: "Tecnologia da Informação" )
		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "127", nome: "Ordenamento Territorial" )
		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "128", nome: "Formação de Recursos Humanos" )
		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "129", nome: "Administração de Receitas" )
		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "130", nome: "Administração de Concessões" )
		Ppa::SubFuncao.create!( funcao_id: funcao_04.id, codigo: "131", nome: "Comunicação Social" )

		Ppa::SubFuncao.create!( funcao_id: funcao_05.id, codigo: "151", nome: "Defesa Aérea" )
		Ppa::SubFuncao.create!( funcao_id: funcao_05.id, codigo: "152", nome: "Defesa Naval" )
		Ppa::SubFuncao.create!( funcao_id: funcao_05.id, codigo: "153", nome: "Defesa Terrestre" )

		Ppa::SubFuncao.create!( funcao_id: funcao_06.id, codigo: "181", nome: "Policiamento" )
		Ppa::SubFuncao.create!( funcao_id: funcao_06.id, codigo: "182", nome: "Defesa Civil" )
		Ppa::SubFuncao.create!( funcao_id: funcao_06.id, codigo: "183", nome: "Informação e Inteligência" )

		Ppa::SubFuncao.create!( funcao_id: funcao_07.id, codigo: "211", nome: "Relações Diplomáticas" )
		Ppa::SubFuncao.create!( funcao_id: funcao_07.id, codigo: "212", nome: "Cooperação Internacional" )

		Ppa::SubFuncao.create!( funcao_id: funcao_08.id, codigo: "241", nome: "Assistência à pessoa Idosa" )
		Ppa::SubFuncao.create!( funcao_id: funcao_08.id, codigo: "242", nome: "Assistência à possoa com Deficiência" )
		Ppa::SubFuncao.create!( funcao_id: funcao_08.id, codigo: "243", nome: "Assistência à Criança e ao Adolescente" )
		Ppa::SubFuncao.create!( funcao_id: funcao_08.id, codigo: "244", nome: "Assistência Comunitária" )
		Ppa::SubFuncao.create!( funcao_id: funcao_08.id, codigo: "245", nome: "Serviços Socioassistenciais" )
		Ppa::SubFuncao.create!( funcao_id: funcao_08.id, codigo: "246", nome: "Segurança de Renda" )

		Ppa::SubFuncao.create!( funcao_id: funcao_09.id, codigo: "271", nome: "Previdência Básica" )
		Ppa::SubFuncao.create!( funcao_id: funcao_09.id, codigo: "272", nome: "Previdência do Regime Estatutário" )
		Ppa::SubFuncao.create!( funcao_id: funcao_09.id, codigo: "273", nome: "Previdência Complementar" )
		Ppa::SubFuncao.create!( funcao_id: funcao_09.id, codigo: "274", nome: "Previdência Especial" )

		Ppa::SubFuncao.create!( funcao_id: funcao_10.id, codigo: "301", nome: "Atenção Básica" )
		Ppa::SubFuncao.create!( funcao_id: funcao_10.id, codigo: "302", nome: "Assistência Hospitalar e Ambulatorial" )
		Ppa::SubFuncao.create!( funcao_id: funcao_10.id, codigo: "303", nome: "Suporte Profilático e Terapêutico" )
		Ppa::SubFuncao.create!( funcao_id: funcao_10.id, codigo: "304", nome: "Vigilância Sanitária" )
		Ppa::SubFuncao.create!( funcao_id: funcao_10.id, codigo: "305", nome: "Vigilância Epidemiológica" )
		Ppa::SubFuncao.create!( funcao_id: funcao_10.id, codigo: "306", nome: "Alimentação e Nutrição" )

		Ppa::SubFuncao.create!( funcao_id: funcao_11.id, codigo: "331", nome: "Proteção e Benefícios ao Trabalhador" )
		Ppa::SubFuncao.create!( funcao_id: funcao_11.id, codigo: "332", nome: "Relações de Trabalho" )
		Ppa::SubFuncao.create!( funcao_id: funcao_11.id, codigo: "333", nome: "Empregabilidade" )
		Ppa::SubFuncao.create!( funcao_id: funcao_11.id, codigo: "334", nome: "Fomento ao Trabalho" )

		Ppa::SubFuncao.create!( funcao_id: funcao_12.id, codigo: "361", nome: "Ensino Fundamental" )
		Ppa::SubFuncao.create!( funcao_id: funcao_12.id, codigo: "362", nome: "Ensino Médio" )
		Ppa::SubFuncao.create!( funcao_id: funcao_12.id, codigo: "363", nome: "Ensino Profissional" )
		Ppa::SubFuncao.create!( funcao_id: funcao_12.id, codigo: "364", nome: "Ensino Superior" )
		Ppa::SubFuncao.create!( funcao_id: funcao_12.id, codigo: "365", nome: "Educação Infantil" )
		Ppa::SubFuncao.create!( funcao_id: funcao_12.id, codigo: "366", nome: "Educação de Jovens e Adultos" )
		Ppa::SubFuncao.create!( funcao_id: funcao_12.id, codigo: "367", nome: "Educação Especial" )
		Ppa::SubFuncao.create!( funcao_id: funcao_12.id, codigo: "368", nome: "Educação Básica" )

		Ppa::SubFuncao.create!( funcao_id: funcao_13.id, codigo: "391", nome: "Patrimônio Histórico, Artístico e Arqueológico" )
		Ppa::SubFuncao.create!( funcao_id: funcao_13.id, codigo: "392", nome: "Difusão Cultural" )

		Ppa::SubFuncao.create!( funcao_id: funcao_14.id, codigo: "421", nome: "Custódia e Reintegração Social" )
		Ppa::SubFuncao.create!( funcao_id: funcao_14.id, codigo: "422", nome: "Direitos Individuais, Coletivos e Difusos" )
		Ppa::SubFuncao.create!( funcao_id: funcao_14.id, codigo: "423", nome: "Assistência aos Povos Indígenas" )

		Ppa::SubFuncao.create!( funcao_id: funcao_15.id, codigo: "451", nome: "Infrastrutura Urbana" )
		Ppa::SubFuncao.create!( funcao_id: funcao_15.id, codigo: "452", nome: "Serviços Urbanos" )
		Ppa::SubFuncao.create!( funcao_id: funcao_15.id, codigo: "453", nome: "Transportes Coletivos Urbanos" )

		Ppa::SubFuncao.create!( funcao_id: funcao_16.id, codigo: "481", nome: "Habitação Rural" )
		Ppa::SubFuncao.create!( funcao_id: funcao_16.id, codigo: "482", nome: "Habitação Urbana" )

		Ppa::SubFuncao.create!( funcao_id: funcao_17.id, codigo: "511", nome: "Saneamento Básico Rural" )
		Ppa::SubFuncao.create!( funcao_id: funcao_17.id, codigo: "512", nome: "Saneamento Básico Urbano" )

		Ppa::SubFuncao.create!( funcao_id: funcao_18.id, codigo: "541", nome: "Preservação e Conservação Ambiental" )
		Ppa::SubFuncao.create!( funcao_id: funcao_18.id, codigo: "542", nome: "Controle Ambiental" )
		Ppa::SubFuncao.create!( funcao_id: funcao_18.id, codigo: "543", nome: "Recuperação de Áreas Degradadas" )
		Ppa::SubFuncao.create!( funcao_id: funcao_18.id, codigo: "544", nome: "Recursos Hídricos" )
		Ppa::SubFuncao.create!( funcao_id: funcao_18.id, codigo: "545", nome: "Meteorologia" )

		Ppa::SubFuncao.create!( funcao_id: funcao_19.id, codigo: "571", nome: "Desenvolvimento Científico" )
		Ppa::SubFuncao.create!( funcao_id: funcao_19.id, codigo: "572", nome: "Desenvolvimento Tecnológico e Engenharia" )
		Ppa::SubFuncao.create!( funcao_id: funcao_19.id, codigo: "573", nome: "Difusão do Conhecimento Científico e Tecnológico" )

		Ppa::SubFuncao.create!( funcao_id: funcao_20.id, codigo: "605", nome: "Abastecimento" )
		Ppa::SubFuncao.create!( funcao_id: funcao_20.id, codigo: "606", nome: "Extensão Rural" )
		Ppa::SubFuncao.create!( funcao_id: funcao_20.id, codigo: "607", nome: "Irrigação" )
		Ppa::SubFuncao.create!( funcao_id: funcao_20.id, codigo: "608", nome: "Promoção da Produção Agropecuária" )
		Ppa::SubFuncao.create!( funcao_id: funcao_20.id, codigo: "609", nome: "Defesa Agropecuária" )

		Ppa::SubFuncao.create!( funcao_id: funcao_21.id, codigo: "631", nome: "Reforma Agrária" )
		Ppa::SubFuncao.create!( funcao_id: funcao_21.id, codigo: "632", nome: "Colonização" )

		Ppa::SubFuncao.create!( funcao_id: funcao_22.id, codigo: "661", nome: "Promoção Industrial" )
		Ppa::SubFuncao.create!( funcao_id: funcao_22.id, codigo: "662", nome: "Produção Industrial" )
		Ppa::SubFuncao.create!( funcao_id: funcao_22.id, codigo: "663", nome: "Mineração" )
		Ppa::SubFuncao.create!( funcao_id: funcao_22.id, codigo: "664", nome: "Propriedade Industrial" )
		Ppa::SubFuncao.create!( funcao_id: funcao_22.id, codigo: "665", nome: "Normalização e Qualidade" )

		Ppa::SubFuncao.create!( funcao_id: funcao_23.id, codigo: "691", nome: "Promoção Comercial" )
		Ppa::SubFuncao.create!( funcao_id: funcao_23.id, codigo: "692", nome: "Comercialização" )
		Ppa::SubFuncao.create!( funcao_id: funcao_23.id, codigo: "693", nome: "Comércio Exterior" )
		Ppa::SubFuncao.create!( funcao_id: funcao_23.id, codigo: "694", nome: "Serviços Financeiros" )
		Ppa::SubFuncao.create!( funcao_id: funcao_23.id, codigo: "695", nome: "Turismo" )

		Ppa::SubFuncao.create!( funcao_id: funcao_24.id, codigo: "721", nome: "Comunicações Postais" )
		Ppa::SubFuncao.create!( funcao_id: funcao_24.id, codigo: "722", nome: "Telecomunicações" )

		Ppa::SubFuncao.create!( funcao_id: funcao_25.id, codigo: "751", nome: "Conservação de Energia" )
		Ppa::SubFuncao.create!( funcao_id: funcao_25.id, codigo: "752", nome: "Energia Elétrica" )
		Ppa::SubFuncao.create!( funcao_id: funcao_25.id, codigo: "753", nome: "Combustíveis Minerais" )
		Ppa::SubFuncao.create!( funcao_id: funcao_25.id, codigo: "754", nome: "Biocombustíveis" )

		Ppa::SubFuncao.create!( funcao_id: funcao_26.id, codigo: "781", nome: "Transporte Aéreo" )
		Ppa::SubFuncao.create!( funcao_id: funcao_26.id, codigo: "782", nome: "Transporte Rodoviário" )
		Ppa::SubFuncao.create!( funcao_id: funcao_26.id, codigo: "783", nome: "Transporte Ferroviário" )
		Ppa::SubFuncao.create!( funcao_id: funcao_26.id, codigo: "784", nome: "Transporte Hidroviário" )
		Ppa::SubFuncao.create!( funcao_id: funcao_26.id, codigo: "785", nome: "Transportes Especiais" )

		Ppa::SubFuncao.create!( funcao_id: funcao_27.id, codigo: "811", nome: "Desporto de Rendimento" )
		Ppa::SubFuncao.create!( funcao_id: funcao_27.id, codigo: "812", nome: "Desporto Comunitário" )
		Ppa::SubFuncao.create!( funcao_id: funcao_27.id, codigo: "813", nome: "Lazer" )

		Ppa::SubFuncao.create!( funcao_id: funcao_28.id, codigo: "841", nome: "Refinanciamento da Dívida Interna" )
		Ppa::SubFuncao.create!( funcao_id: funcao_28.id, codigo: "842", nome: "Refinanciamento da Dívida Externa" )
		Ppa::SubFuncao.create!( funcao_id: funcao_28.id, codigo: "843", nome: "Serviço da Dívida Interna" )
		Ppa::SubFuncao.create!( funcao_id: funcao_28.id, codigo: "844", nome: "Serviço da Dívida Externa" )
		Ppa::SubFuncao.create!( funcao_id: funcao_28.id, codigo: "845", nome: "Outras Transferências" )
		Ppa::SubFuncao.create!( funcao_id: funcao_28.id, codigo: "846", nome: "Outros Encargos Especiais" )
		Ppa::SubFuncao.create!( funcao_id: funcao_28.id, codigo: "847", nome: "Transferências para a Educação Básica" )

		Ppa::SubFuncao.create!( funcao_id: funcao_99.id, codigo: "997", nome: "Reserva do RPPS" )
		Ppa::SubFuncao.create!( funcao_id: funcao_99.id, codigo: "999", nome: "Reserva de Contingência" )
	end

	def cria_funcoes_e_subfuncoes_orcamento
		tipo_de_orcamento_f = ::Base::TipoDeOrcamento.find_by( modulo_id: self.id, modulo_type: self.class.name, codigo: 'F' )
		tipo_de_orcamento_s = ::Base::TipoDeOrcamento.find_by( modulo_id: self.id, modulo_type: self.class.name, codigo: 'S' )

		funcao_01 = self.funcoes.create!( codigo: "01", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Legislativa" )
		funcao_02 = self.funcoes.create!( codigo: "02", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Judiciária" )
		funcao_03 = self.funcoes.create!( codigo: "03", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Essencial à Justiça" )
		funcao_04 = self.funcoes.create!( codigo: "04", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Administração" )
		funcao_05 = self.funcoes.create!( codigo: "05", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Defesa Nacional" )
		funcao_06 = self.funcoes.create!( codigo: "06", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Segurança Pública" )
		funcao_07 = self.funcoes.create!( codigo: "07", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Relações Exteriores" )
		funcao_08 = self.funcoes.create!( codigo: "08", tipo_de_orcamento_id: tipo_de_orcamento_s.id, nome: "Assistência Social" )
		funcao_09 = self.funcoes.create!( codigo: "09", tipo_de_orcamento_id: tipo_de_orcamento_s.id, nome: "Previdência Social" )
		funcao_10 = self.funcoes.create!( codigo: "10", tipo_de_orcamento_id: tipo_de_orcamento_s.id, nome: "Saúde" )
		funcao_11 = self.funcoes.create!( codigo: "11", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Trabalho" )
		funcao_12 = self.funcoes.create!( codigo: "12", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Educação" )
		funcao_13 = self.funcoes.create!( codigo: "13", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Cultura" )
		funcao_14 = self.funcoes.create!( codigo: "14", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Direitos da Cidadania" )
		funcao_15 = self.funcoes.create!( codigo: "15", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Urbanismo" )
		funcao_16 = self.funcoes.create!( codigo: "16", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Habitação" )
		funcao_17 = self.funcoes.create!( codigo: "17", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Saneamento" )
		funcao_18 = self.funcoes.create!( codigo: "18", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Gestão Ambiental" )
		funcao_19 = self.funcoes.create!( codigo: "19", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Ciência e Tecnologia" )
		funcao_20 = self.funcoes.create!( codigo: "20", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Agricultura" )
		funcao_21 = self.funcoes.create!( codigo: "21", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Organização Agrária" )
		funcao_22 = self.funcoes.create!( codigo: "22", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Indústria" )
		funcao_23 = self.funcoes.create!( codigo: "23", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Comércio e Serviços" )
		funcao_24 = self.funcoes.create!( codigo: "24", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Comunicações" )
		funcao_25 = self.funcoes.create!( codigo: "25", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Energia" )
		funcao_26 = self.funcoes.create!( codigo: "26", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Transporte" )
		funcao_27 = self.funcoes.create!( codigo: "27", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Desporto e Lazer" )
		funcao_28 = self.funcoes.create!( codigo: "28", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Encargos Especiais" )
		funcao_99 = self.funcoes.create!( codigo: "99", tipo_de_orcamento_id: tipo_de_orcamento_f.id, nome: "Reserva de Contingência" )

		funcao_01.subfuncoes.create!( codigo: "031", nome: "Ação Legislativa" )
		funcao_01.subfuncoes.create!( codigo: "032", nome: "Controle Externo" )

		funcao_02.subfuncoes.create!( codigo: "061", nome: "Ação Judiciária" )
		funcao_02.subfuncoes.create!( codigo: "062", nome: "Defesa do Interesse Público no Processo Judiciário" )

		funcao_03.subfuncoes.create!( codigo: "091", nome: "Defesa da Ordem Jurídica" )
		funcao_03.subfuncoes.create!( codigo: "092", nome: "Representação Judicial e Extrajudicial" )

		funcao_04.subfuncoes.create!( codigo: "121", nome: "Planejamento e Orçamento" )
		funcao_04.subfuncoes.create!( codigo: "122", nome: "Administração Geral" )
		funcao_04.subfuncoes.create!( codigo: "123", nome: "Administração Financeira" )
		funcao_04.subfuncoes.create!( codigo: "124", nome: "Controle Interno" )
		funcao_04.subfuncoes.create!( codigo: "125", nome: "Normatização e Fiscalização" )
		funcao_04.subfuncoes.create!( codigo: "126", nome: "Tecnologia da Informação" )
		funcao_04.subfuncoes.create!( codigo: "127", nome: "Ordenamento Territorial" )
		funcao_04.subfuncoes.create!( codigo: "128", nome: "Formação de Recursos Humanos" )
		funcao_04.subfuncoes.create!( codigo: "129", nome: "Administração de Receitas" )
		funcao_04.subfuncoes.create!( codigo: "130", nome: "Administração de Concessões" )
		funcao_04.subfuncoes.create!( codigo: "131", nome: "Comunicação Social" )

		funcao_05.subfuncoes.create!( codigo: "151", nome: "Defesa Aérea" )
		funcao_05.subfuncoes.create!( codigo: "152", nome: "Defesa Naval" )
		funcao_05.subfuncoes.create!( codigo: "153", nome: "Defesa Terrestre" )

		funcao_06.subfuncoes.create!( codigo: "181", nome: "Policiamento" )
		funcao_06.subfuncoes.create!( codigo: "182", nome: "Defesa Civil" )
		funcao_06.subfuncoes.create!( codigo: "183", nome: "Informação e Inteligência" )

		funcao_07.subfuncoes.create!( codigo: "211", nome: "Relações Diplomáticas" )
		funcao_07.subfuncoes.create!( codigo: "212", nome: "Cooperação Internacional" )

		funcao_08.subfuncoes.create!( codigo: "241", nome: "Assistência à pessoa Idosa" )
		funcao_08.subfuncoes.create!( codigo: "242", nome: "Assistência à possoa com Deficiência" )
		funcao_08.subfuncoes.create!( codigo: "243", nome: "Assistência à Criança e ao Adolescente" )
		funcao_08.subfuncoes.create!( codigo: "244", nome: "Assistência Comunitária" )
		funcao_08.subfuncoes.create!( codigo: "245", nome: "Serviços Socioassistenciais" )
		funcao_08.subfuncoes.create!( codigo: "246", nome: "Segurança de Renda" )

		funcao_09.subfuncoes.create!( codigo: "271", nome: "Previdência Básica" )
		funcao_09.subfuncoes.create!( codigo: "272", nome: "Previdência do Regime Estatutário" )
		funcao_09.subfuncoes.create!( codigo: "273", nome: "Previdência Complementar" )
		funcao_09.subfuncoes.create!( codigo: "274", nome: "Previdência Especial" )

		funcao_10.subfuncoes.create!( codigo: "301", nome: "Atenção Básica" )
		funcao_10.subfuncoes.create!( codigo: "302", nome: "Assistência Hospitalar e Ambulatorial" )
		funcao_10.subfuncoes.create!( codigo: "303", nome: "Suporte Profilático e Terapêutico" )
		funcao_10.subfuncoes.create!( codigo: "304", nome: "Vigilância Sanitária" )
		funcao_10.subfuncoes.create!( codigo: "305", nome: "Vigilância Epidemiológica" )
		funcao_10.subfuncoes.create!( codigo: "306", nome: "Alimentação e Nutrição" )

		funcao_11.subfuncoes.create!( codigo: "331", nome: "Proteção e Benefícios ao Trabalhador" )
		funcao_11.subfuncoes.create!( codigo: "332", nome: "Relações de Trabalho" )
		funcao_11.subfuncoes.create!( codigo: "333", nome: "Empregabilidade" )
		funcao_11.subfuncoes.create!( codigo: "334", nome: "Fomento ao Trabalho" )

		funcao_12.subfuncoes.create!( codigo: "361", nome: "Ensino Fundamental" )
		funcao_12.subfuncoes.create!( codigo: "362", nome: "Ensino Médio" )
		funcao_12.subfuncoes.create!( codigo: "363", nome: "Ensino Profissional" )
		funcao_12.subfuncoes.create!( codigo: "364", nome: "Ensino Superior" )
		funcao_12.subfuncoes.create!( codigo: "365", nome: "Educação Infantil" )
		funcao_12.subfuncoes.create!( codigo: "366", nome: "Educação de Jovens e Adultos" )
		funcao_12.subfuncoes.create!( codigo: "367", nome: "Educação Especial" )
		funcao_12.subfuncoes.create!( codigo: "368", nome: "Educação Básica" )

		funcao_13.subfuncoes.create!( codigo: "391", nome: "Patrimônio Histórico, Artístico e Arqueológico" )
		funcao_13.subfuncoes.create!( codigo: "392", nome: "Difusão Cultural" )

		funcao_14.subfuncoes.create!( codigo: "421", nome: "Custódia e Reintegração Social" )
		funcao_14.subfuncoes.create!( codigo: "422", nome: "Direitos Individuais, Coletivos e Difusos" )
		funcao_14.subfuncoes.create!( codigo: "423", nome: "Assistência aos Povos Indígenas" )

		funcao_15.subfuncoes.create!( codigo: "451", nome: "Infrastrutura Urbana" )
		funcao_15.subfuncoes.create!( codigo: "452", nome: "Serviços Urbanos" )
		funcao_15.subfuncoes.create!( codigo: "453", nome: "Transportes Coletivos Urbanos" )

		funcao_16.subfuncoes.create!( codigo: "481", nome: "Habitação Rural" )
		funcao_16.subfuncoes.create!( codigo: "482", nome: "Habitação Urbana" )

		funcao_17.subfuncoes.create!( codigo: "511", nome: "Saneamento Básico Rural" )
		funcao_17.subfuncoes.create!( codigo: "512", nome: "Saneamento Básico Urbano" )

		funcao_18.subfuncoes.create!( codigo: "541", nome: "Preservação e Conservação Ambiental" )
		funcao_18.subfuncoes.create!( codigo: "542", nome: "Controle Ambiental" )
		funcao_18.subfuncoes.create!( codigo: "543", nome: "Recuperação de Áreas Degradadas" )
		funcao_18.subfuncoes.create!( codigo: "544", nome: "Recursos Hídricos" )
		funcao_18.subfuncoes.create!( codigo: "545", nome: "Meteorologia" )

		funcao_19.subfuncoes.create!( codigo: "571", nome: "Desenvolvimento Científico" )
		funcao_19.subfuncoes.create!( codigo: "572", nome: "Desenvolvimento Tecnológico e Engenharia" )
		funcao_19.subfuncoes.create!( codigo: "573", nome: "Difusão do Conhecimento Científico e Tecnológico" )

		funcao_20.subfuncoes.create!( codigo: "605", nome: "Abastecimento" )
		funcao_20.subfuncoes.create!( codigo: "606", nome: "Extensão Rural" )
		funcao_20.subfuncoes.create!( codigo: "607", nome: "Irrigação" )
		funcao_20.subfuncoes.create!( codigo: "608", nome: "Promoção da Produção Agropecuária" )
		funcao_20.subfuncoes.create!( codigo: "609", nome: "Defesa Agropecuária" )

		funcao_21.subfuncoes.create!( codigo: "631", nome: "Reforma Agrária" )
		funcao_21.subfuncoes.create!( codigo: "632", nome: "Colonização" )

		funcao_22.subfuncoes.create!( codigo: "661", nome: "Promoção Industrial" )
		funcao_22.subfuncoes.create!( codigo: "662", nome: "Produção Industrial" )
		funcao_22.subfuncoes.create!( codigo: "663", nome: "Mineração" )
		funcao_22.subfuncoes.create!( codigo: "664", nome: "Propriedade Industrial" )
		funcao_22.subfuncoes.create!( codigo: "665", nome: "Normalização e Qualidade" )

		funcao_23.subfuncoes.create!( codigo: "691", nome: "Promoção Comercial" )
		funcao_23.subfuncoes.create!( codigo: "692", nome: "Comercialização" )
		funcao_23.subfuncoes.create!( codigo: "693", nome: "Comércio Exterior" )
		funcao_23.subfuncoes.create!( codigo: "694", nome: "Serviços Financeiros" )
		funcao_23.subfuncoes.create!( codigo: "695", nome: "Turismo" )

		funcao_24.subfuncoes.create!( codigo: "721", nome: "Comunicações Postais" )
		funcao_24.subfuncoes.create!( codigo: "722", nome: "Telecomunicações" )

		funcao_25.subfuncoes.create!( codigo: "751", nome: "Conservação de Energia" )
		funcao_25.subfuncoes.create!( codigo: "752", nome: "Energia Elétrica" )
		funcao_25.subfuncoes.create!( codigo: "753", nome: "Combustíveis Minerais" )
		funcao_25.subfuncoes.create!( codigo: "754", nome: "Biocombustíveis" )

		funcao_26.subfuncoes.create!( codigo: "781", nome: "Transporte Aéreo" )
		funcao_26.subfuncoes.create!( codigo: "782", nome: "Transporte Rodoviário" )
		funcao_26.subfuncoes.create!( codigo: "783", nome: "Transporte Ferroviário" )
		funcao_26.subfuncoes.create!( codigo: "784", nome: "Transporte Hidroviário" )
		funcao_26.subfuncoes.create!( codigo: "785", nome: "Transportes Especiais" )

		funcao_27.subfuncoes.create!( codigo: "811", nome: "Desporto de Rendimento" )
		funcao_27.subfuncoes.create!( codigo: "812", nome: "Desporto Comunitário" )
		funcao_27.subfuncoes.create!( codigo: "813", nome: "Lazer" )

		funcao_28.subfuncoes.create!( codigo: "841", nome: "Refinanciamento da Dívida Interna" )
		funcao_28.subfuncoes.create!( codigo: "842", nome: "Refinanciamento da Dívida Externa" )
		funcao_28.subfuncoes.create!( codigo: "843", nome: "Serviço da Dívida Interna" )
		funcao_28.subfuncoes.create!( codigo: "844", nome: "Serviço da Dívida Externa" )
		funcao_28.subfuncoes.create!( codigo: "845", nome: "Outras Transferências" )
		funcao_28.subfuncoes.create!( codigo: "846", nome: "Outros Encargos Especiais" )
		funcao_28.subfuncoes.create!( codigo: "847", nome: "Transferências para a Educação Básica" )

		funcao_99.subfuncoes.create!( codigo: "997", nome: "Reserva de Contingência do RPPS" )
		funcao_99.subfuncoes.create!( codigo: "999", nome: "Reserva de Contingência" )
	end
end
