FactoryBot.define do

	sequence(:numero_randoms) do |n|
		@numero_random ||= (1..99).to_a.shuffle
		@numero_random[n]
	end

	factory :obra_0001, class: 'Contabilidade::Obra' do
		orcamento_id {
			Orcamento.find_or_create_by!( FactoryBot.attributes_for(:orcamento_2016) ).id
		}

		tipo_de_obra {1}

		contrato_id{
			Licitacao::Contrato.create!( FactoryBot.attributes_for( :licitacao_contrato, :com_lotes_do_contrato)).id
		}

		tipo_de_administracao_id {
			Base::TipoDeAdministracao.find_or_create_by!( FactoryBot.attributes_for(:administracao_direta, :orcamento_2016) ).id
		}

		classificacao_do_bem {
			Contabilidade::Conta.find_by(codigo: "111100000") || FactoryBot.create( :conta_patrimonial_pai, :sem_validacao )
			Contabilidade::Conta.find_by(codigo: "111120000") || Contabilidade::Conta.find_or_create_by!( FactoryBot.attributes_for( :conta_patrimonial, :sem_validacao, importada_do_pcasp: false ) )
		}

		conta_id {
			Contabilidade::Conta.find_by(codigo: "111100000") || FactoryBot.create( :conta_patrimonial_pai, :sem_validacao )
			(Contabilidade::Conta.find_by(codigo: "111120000") || Contabilidade::Conta.find_or_create_by!( FactoryBot.attributes_for( :conta_patrimonial, :sem_validacao, importada_do_pcasp: false ))).id
		}

		codigo { generate(:numero_randoms) }
		tombo_do_terreno {'00000000000123456789'}
		tombo_da_construcao {'00000000000123456789'}
		licenca_ambiental {'172201023400'}
		orgao_licenca {'SEMACE (Estado); IBAMA (FEDERAL); SEMAM (Municipal)'}
		cei {'172201023400'}
		data_de_inicio {'2016-10-19'}
		data_prevista_de_termino {'2016-10-21'}
		data_da_licenca {'2016-09-18'}
		descricao {'REFORMA DA FACHADA DO EDÍFICIO JOSE MARIA JOAO, RUA OLINDA 123, DISTRITO GESTORINO DO SUL'}
		valor {12345.67}
		numero_do_crea {'0123456789'}
		abrangencia {'false'}
		fonte_de_origem {'origem_cef'}
		contrato_estudos_id { contrato_id }
		valor_estudos { 12345.67 }
	end
end
