module Patrimonio
class RecebimentosDeBensController < ApplicationController
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!
	before_action :set_recebimento_de_bem, only: [:show, :edit, :update, :destroy, :editar_itens_do_recebimento_de_bem, :atualiza_itens_do_recebimento_de_bem,
		:editar_bens_patrimoniais_do_recebimento_de_bem, :atualiza_bens_patrimoniais_do_recebimento_de_bem, :insere_dados_extras_do_bem,
		:cadastra_dados_extras_do_bem, :cadastra_fotos_do_bem, :confirmar_recebimento_de_bem, :reabrir, :enviar_ao_almoxarifado, :imprimir]
	before_action :set_dependencias, only: [:new, :create, :edit, :update, :index]
	before_action :set_dependencias_itens, only: [:editar_itens_do_recebimento_de_bem, :atualiza_itens_do_recebimento_de_bem]
	before_action :listar_ordens_de_compras_recebidas, only: [:index]

	# GET /patrimonio/recebimentos_de_bens
	def index
		@outros = params[:flag] || 'false'
		
		if @outros == 'true'
			@q = RecebimentoDeBem.where(
				'patrimonio_recebimentos_de_bens.orcamento_id = ? AND patrimonio_recebimentos_de_bens.classificacao != 3 AND patrimonio_recebimentos_de_bens.unidade_orcamentaria_id IN (?)',
				contexto_atual.id,
				current_usuario.unidades_orcamentarias_por_usuario.pluck(:unidade_orcamentaria_id)
			).order(data_do_recebimento: :desc).ransack(params[:q])
		else
			@q = RecebimentoDeBem.where(
				'patrimonio_recebimentos_de_bens.orcamento_id = ? AND patrimonio_recebimentos_de_bens.classificacao = 3 AND patrimonio_recebimentos_de_bens.unidade_orcamentaria_id IN (?)',
				contexto_atual.id,
				current_usuario.unidades_orcamentarias_por_usuario.pluck(:unidade_orcamentaria_id)
			).order(data_do_recebimento: :desc).ransack(params[:q])
		end
		# Configuração de @recebimentos_de_bens
		respond_to do |format|
			format.html do
				@recebimentos_de_bens = @q.result(distinct: false).paginate(page: params[:page], per_page: 10)
			end
	
			format.pdf do
				titulo1 = 'Listagem de Recebimento de Bens'
				titulo2 = ''
				titulo3 = ''
				@recebimentos_de_bens = @q.result(distinct: false)
				render pdf: "recebimentos",
							 template: 'patrimonio/recebimentos_de_bens/index.pdf.slim',
							 orientation: 'Landscape',
							 header: {
								 html: {
									 template: 'layouts/_cabecalho_pdf.html.slim',
									 locals: {
										 titulo1: titulo1,
										 titulo2: titulo2,
										 titulo3: titulo3
									 }
								 },
								 spacing: 0
							 },
							 footer: {
								 right: '[page]',
								 font_size: 8
							 },
							 disable_smart_shrinking: true,
							 dpi: '96',
							 margin: (@configuracoes&.margens_customizadas(top: 30) || { top: 30 }) # Valor padrão se @configuracoes for nil
			end
		end
	
		@configuracoes = Configuracao.last
	end
	
	

	# GET /patrimonio/recebimentos_de_bens/1
	def show
	end

	# GET /patrimonio/recebimentos_de_bens/new
	def new
		@outros = params[:flag].present? ? true : false
		@recebimento_de_bem = RecebimentoDeBem.new
		@recebimento_de_bem.empenhos_do_recebimento.build unless @recebimento_de_bem.empenhos_do_recebimento.present? && @outros == false
	end

	# GET /patrimonio/recebimentos_de_bens/1/edit
	def edit
		@outros = params[:flag].present? ? true : false
	end

	# POST /patrimonio/recebimentos_de_bens
	def create
		@recebimento_de_bem = RecebimentoDeBem.new(recebimento_de_bem_params)
    @recebimento_de_bem.orcamento = contexto_atual
		if @recebimento_de_bem.save
			if @recebimento_de_bem.multiplos_empenhos?
				redirect_to patrimonio_editar_itens_do_recebimento_de_bem_path(@recebimento_de_bem), notice: 'Recebimento de bem foi criado(a) com sucesso.'
			else
				redirect_to patrimonio_editar_itens_do_recebimento_de_bem_path(@recebimento_de_bem), notice: 'Recebimento de bem foi criado(a) com sucesso.'
			end
		else
			if @recebimento_de_bem.errors.any?
				flash[:alert] = "#{@recebimento_de_bem.errors.to_a.join(', ')}"
			end
			if recebimento_de_bem_params[:extraorcamentario] == 'true'
				@outros = true
				@classificacoes = Patrimonio::RecebimentoDeBem.classificacoes_i18n.except(:confeccao, :compra, :permuta, :carta_de_setença, :cessao, :comodato, :locacao, :reintegracao, :desapropriacao, :nascimento, :usucapiao, :construcao, :de_relancamento).sort_by{|k,v| v}.to_h
			else
				@outros = false
				@classificacoes = Patrimonio::RecebimentoDeBem.classificacoes_i18n.except(:confeccao, :doacao, :permuta, :carta_de_setença, :cessao, :comodato, :locacao, :reintegracao, :desapropriacao, :nascimento, :usucapiao, :dacao_em_pagamento, :construcao, :de_relancamento).sort_by{|k,v| v}.to_h
			end

			if recebimento_de_bem_params[:unidade_orcamentaria_id].present? && @recebimento_de_bem.multiplos_empenhos?
				unidade_orcamentaria = Loa::UnidadeOrcamentaria.find(@recebimento_de_bem.unidade_orcamentaria_id)
				empenhos_do_periodo = unidade_orcamentaria.empenhos.confirmados.de_material_permanente.where(orcamento: @recebimento_de_bem.ano_empenho_vinculado).where.not(id: @recebimento_de_bem.empenhos.ids)
				@empenhos = @recebimento_de_bem.empenhos + empenhos_do_periodo
			else
				@empenhos = []
			end

			render :new
		end
	end

	# PATCH/PUT /patrimonio/recebimentos_de_bens/1
	def update
		if @recebimento_de_bem.update( recebimento_de_bem_params )
			redirect_to @recebimento_de_bem, notice: 'Recebimento de bem foi atualizado(a) com sucesso.'
		else
			render :edit
		end
	end

  def editar_itens_do_recebimento_de_bem
		@recebimento_de_bem.itens_dos_recebimentos_de_bens.build unless @recebimento_de_bem.itens_dos_recebimentos_de_bens.present?
  end

  def atualiza_itens_do_recebimento_de_bem
		return if bloqueia_usuario_com_base_em 'editar_itens_do_recebimento_de_bem'

		if @recebimento_de_bem.update( itens_dos_recebimentos_de_bens_params )
			redirect_to @recebimento_de_bem, notice: 'Recebimento de bem foi atualizado(a) com sucesso.'
		else
			if @recebimento_de_bem.errors.any?
				flash[:alert] = "#{@recebimento_de_bem.errors.to_a.join(', ')}"
			end
			render :editar_itens_do_recebimento_de_bem
		end
  end

	def editar_bens_patrimoniais_do_recebimento_de_bem
	end

	def atualiza_bens_patrimoniais_do_recebimento_de_bem
		return if bloqueia_usuario_com_base_em 'editar_bens_patrimoniais_do_recebimento_de_bem'

		if @recebimento_de_bem.update( dados_extras_do_bem_params )
			redirect_to @recebimento_de_bem, notice: 'Recebimento de bem foi atualizado(a) com sucesso.'
		else
			if @recebimento_de_bem.errors.any?
				flash[:alert] = "#{@recebimento_de_bem.errors.to_a.join(', ')}"
			end
			render :editar_bens_patrimoniais_do_recebimento_de_bem
		end
	end

	def confirmar_recebimento_de_bem
		return if bloqueia_usuario_com_base_em 'update'
		if @recebimento_de_bem.confirmar_recebimento!
			redirect_to patrimonio_recebimento_de_bem_path(@recebimento_de_bem), notice: 'O Recebimento de Bem foi confirmado com sucesso.'
		else
			render :show
		end
	end

	def insere_dados_extras_do_bem
		@localizacoes = []
		localizacao_mae = Controladoria::CentroDeCusto.find_by(unidade_gestora: @recebimento_de_bem.unidade_orcamentaria.unidade_gestora.id )
		@localizacoes << localizacao_mae
		@localizacoes << localizacao_mae.centro_de_custos_filhos_todos.ativos.order('id ASC')
		@localizacoes = @localizacoes.flatten

		if @recebimento_de_bem.recebimento_de_material.present?
			@recebimento_de_bem.itens_dos_recebimentos_de_bens.each do |item|
				natureza = item.recebimento_de_bem.recebimento_de_material.ordem_de_compra.present? ? 'previsao_orcamentaria' : 'execucao_orcamentaria'
				referencia_dados = Patrimonio::DepreciacaoVidaUtilConfiguracao.find_by(sub_elemento_de_despesa: item.recebimento_de_bem.sub_elemento_de_despesa.codigo)
				porcentagem_valor_residual = referencia_dados.valor_residual_porcentagem
				valor_residual = (item.valor_unitario * 0.1)
				item.build_dados_extras_do_bem( nota_fiscal: item.recebimento_de_bem.numero_da_nota, serie: item.recebimento_de_bem.serie, fornecedor_id: item.recebimento_de_bem.fornecedor_id, doador_id: item.recebimento_de_bem.doador_id, marca: item.marca, unidade_gestora_id: item.recebimento_de_bem.unidade_orcamentaria.unidade_gestora_id, valor_de_aquisicao: item.valor_unitario, porcentagem_valor_residual: porcentagem_valor_residual, valor_residual: valor_residual, tipo_de_ingresso: item.recebimento_de_bem.classificacao, natureza_do_bem: natureza, vida_util: 10) if !item.dados_extras_do_bem.present?
				ordem = 0
				item.quantidade.to_i.times do |i|
					ordem += 1
					item.dados_extras_do_bem.bens_patrimoniais.build(orcamento_id: @recebimento_de_bem.orcamento_id, status: 'ativo', item_do_recebimento_de_bem_id: item.id, sequencia: ordem)
				end
			end
		else
			@recebimento_de_bem.itens_dos_recebimentos_de_bens.each do |item|
				natureza = 'execucao_orcamentaria'
				referencia_dados = Patrimonio::DepreciacaoVidaUtilConfiguracao.find_by(sub_elemento_de_despesa: item.recebimento_de_bem.sub_elemento_de_despesa.codigo)
				porcentagem_valor_residual = referencia_dados.valor_residual_porcentagem
				valor_residual = (item.valor_unitario * 0.1)
				item.build_dados_extras_do_bem( nota_fiscal: item.recebimento_de_bem.numero_da_nota, serie: item.recebimento_de_bem.serie, fornecedor_id: item.recebimento_de_bem.fornecedor_id, doador_id: item.recebimento_de_bem.doador_id, marca: item.marca, unidade_gestora_id: item.recebimento_de_bem.unidade_orcamentaria.unidade_gestora_id, valor_de_aquisicao: item.valor_unitario, porcentagem_valor_residual: porcentagem_valor_residual, valor_residual: valor_residual, tipo_de_ingresso: item.recebimento_de_bem.classificacao, natureza_do_bem: natureza, vida_util: 10) if !item.dados_extras_do_bem.present?
				ordem = 0
				item.quantidade.to_i.times do |i|
					ordem += 1
					item.dados_extras_do_bem.bens_patrimoniais.build(orcamento_id: @recebimento_de_bem.orcamento_id, status: 'ativo', item_do_recebimento_de_bem_id: item.id, sequencia: ordem)
				end
			end
		end
	end

	def cadastra_dados_extras_do_bem
		return if bloqueia_usuario_com_base_em 'insere_dados_extras_do_bem'
		@recebimento_de_bem.transaction do
			if @recebimento_de_bem.update(dados_extras_do_bem_params)
				@recebimento_de_bem.gera_os_bens_patrimoniais
				@recebimento_de_bem.gerar_bens_patrimoniais!
				if @recebimento_de_bem.errors.present?
					render :insere_dados_extras_do_bem
				else
					redirect_to patrimonio_recebimento_de_bem_path(@recebimento_de_bem), notice: 'Bens Patrimoniais gerados com sucesso.'
				end
			elsif !@recebimento_de_bem.update(dados_extras_do_bem_params)	&& @recebimento_de_bem.gera_os_bens_patrimoniais && @recebimento_de_bem.gerar_bens_patrimoniais!
				if @recebimento_de_bem.errors.present?
					render :insere_dados_extras_do_bem
				else
					redirect_to patrimonio_recebimento_de_bem_path(@recebimento_de_bem), notice: 'Bens Patrimoniais gerados com sucesso.'
				end
			else
				@localizacoes = []
				localizacao_mae = Controladoria::CentroDeCusto.find_by(unidade_gestora: @recebimento_de_bem.unidade_orcamentaria.unidade_gestora.id )
				@localizacoes << localizacao_mae
				@localizacoes << localizacao_mae.centro_de_custos_filhos_todos.order('id ASC')
				@localizacoes = @localizacoes.flatten

				render :insere_dados_extras_do_bem
			end
		rescue Exception => e
			render :editar_itens_das_devolucoes_de_materiais
			flash[:alert] = "Erro ao atualizar os itens #{e.message}"
			raise ActiveRecord::Rollback
		end
	end

	# DELETE /patrimonio/recebimentos_de_bens/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@recebimento_de_bem)
		if @recebimento_de_bem.extraorcamentario.present?
			redirect_to patrimonio_recebimentos_de_bens_path(flag: true), mensagem
		else
			redirect_to patrimonio_recebimentos_de_bens_url, mensagem
		end
	end

	def reabrir
		if @recebimento_de_bem.reabrir!
			redirect_to @recebimento_de_bem, notice: 'O registro está aberto, novamente.'
		else
			render :show
		end
	end

	def enviar_ao_almoxarifado
		if @recebimento_de_bem.enviar_ao_almoxarifado!
			redirect_to @recebimento_de_bem, notice: 'Bens enviado ao almoxarifado com sucesso.'
		else
			render :show, alert: 'Falha ao enviar bens'
		end
	end

	def imprimir
    bloqueia_usuario_com_base_em :read, "patrimonio/recebimentos_de_bens"
    relatorio =  params[:relatorio]
    if respond_to? relatorio.to_s, :private
      loa = CombinePDF.new
      loa << CombinePDF.parse(send(relatorio))
      send_data loa.to_pdf, filename: "#{relatorio}.pdf", type: "application/pdf", disposition: 'inline'
    else
      redirect_to :back, alert: 'Relatório selecionado não existe'
    end
  end

  def imprimir_recebimento_de_bem
    render_to_string pdf: "recebimento_de_bem",
      template: "patrimonio/relatorios/recebimentos_de_bens/imprimir_recebimento_de_bem.pdf.slim",
      orientation: 'Portrait',
      disable_smart_shrinking: true,

      dpi: '96',
      header: {
        html: {
          template: 'layouts/_cabecalho_pdf.html.slim',
          locals: {
            titulo1: "#{@recebimento_de_bem.unidade_orcamentaria.unidade_gestora.nome}",
            titulo2: "RECEBIMENTO DE BEM Nº " + @recebimento_de_bem.codigo
          }
        },
        spacing: 5
      },
      footer: {
				html: {
					template: 'layouts/_rodape_pdf.html.slim'
				}
			},
      margin: configuracao.margens_customizadas
  end

  def imprimir_termo_de_guarda_patrimonial
    
  end

	def imprimir_termo_de_recebimento_provisorio
    @recebimento_de_bem = Patrimonio::RecebimentoDeBem.find(params[:id])
    render_to_string pdf: "recebimento_de_material",
      template: "patrimonio/relatorios/recebimentos_de_bens/imprimir_termo_de_recebimento_provisorio.pdf.slim",
      orientation: 'Portrait',
      disable_smart_shrinking: true,
      
      dpi: '96',
      header: {
        html: {
          template: 'layouts/_cabecalho_pdf.html.slim',
          locals: {
            titulo1: "#{@recebimento_de_bem.unidade_orcamentaria.unidade_gestora.nome}",
            titulo2: "RECEBIMENTO DO BEM Nº " + @recebimento_de_bem.codigo
          }
        },
        spacing: 5
      },
      footer: {
				html: {
					template: 'layouts/_rodape_pdf.html.slim'
				}
			},
      margin: configuracao.margens_customizadas
  end

  def imprimir_termo_de_recebimento_definitivo
    @recebimento_de_bem = Patrimonio::RecebimentoDeBem.find(params[:id])
    render_to_string pdf: "recebimento_de_material",
      template: "patrimonio/relatorios/recebimentos_de_bens/imprimir_termo_de_recebimento_definitivo.pdf.slim",
      orientation: 'Portrait',
      disable_smart_shrinking: true,
      
      dpi: '96',
      header: {
        html: {
          template: 'layouts/_cabecalho_pdf.html.slim',
          locals: {
            titulo1: "#{@recebimento_de_bem.unidade_orcamentaria.unidade_gestora.nome}",
            titulo2: "RECEBIMENTO DO BEM Nº " + @recebimento_de_bem.codigo
          }
        },
        spacing: 5
      },
      footer: {
				html: {
					template: 'layouts/_rodape_pdf.html.slim'
				}
			},
      margin: configuracao.margens_customizadas
  end

  def imprimir_termo_de_recebimento_externo_definitivo
		@recebimento_de_bem = Patrimonio::RecebimentoDeBem.find(params[:id])
		
		render_to_string pdf: "recebimento_de_material",
											template: "patrimonio/relatorios/recebimentos_de_bens/imprimir_termo_de_recebimento_externo_definitivo.pdf.slim",
											orientation: 'Portrait',
											disable_smart_shrinking: true,
											dpi: '96',
											header: {
												html: {
													template: 'layouts/_cabecalho_pdf.html.slim',
													locals: {
														titulo1: @recebimento_de_bem.unidade_orcamentaria.unidade_gestora.nome,
														titulo2: "RECEBIMENTO DO BEM Nº #{@recebimento_de_bem.codigo}"
													}
												},
												spacing: 5
											},
											footer: {
												html: {
													template: 'layouts/_rodape_pdf.html.slim'
												}
											},
											margin: configuracao.margens_customizadas
	end
	
	

	private
	def listar_ordens_de_compras_recebidas
		@ordens_de_compra = contexto_atual.ordens_de_compra.joins(:recebimento_de_materiais).where('gestao_de_estoque_recebimento_de_materiais.status = 6').uniq
	end

	def set_recebimento_de_bem
		@recebimento_de_bem = RecebimentoDeBem.find( params[:id] )
	end

  def set_dependencias
    @unidades_orcamentarias = contexto_atual.unidades_orcamentarias.where(id: current_usuario.unidades_orcamentarias_por_usuario.pluck(:unidade_orcamentaria_id)).order(:codigo, :nome)
    @sub_elementos_de_despesa_permanente = Contabilidade::SubElementoDeDespesa.ativos.joins(elemento_de_despesa: [modalidade_de_aplicacao: [grupo_de_natureza_da_despesa: :categoria_economica]]).where("base_elementos_de_despesa.codigo = '44905200' and base_categorias_economicas.modulo_type = 'Orcamento' and base_categorias_economicas.modulo_id = ?", contexto_atual.id)
		@classificacoes = params[:flag] == 'true' ? Patrimonio::RecebimentoDeBem.classificacoes_i18n.except(:confeccao, :compra, :permuta, :carta_de_setença, :cessao, :comodato, :locacao, :reintegracao, :desapropriacao, :nascimento, :usucapiao, :construcao, :de_relancamento).sort_by{|k,v| v}.to_h : Patrimonio::RecebimentoDeBem.classificacoes_i18n.except(:confeccao, :doacao, :permuta, :carta_de_setença, :cessao, :comodato, :locacao, :reintegracao, :desapropriacao, :nascimento, :usucapiao, :dacao_em_pagamento, :construcao, :de_relancamento).sort_by{|k,v| v}.to_h
		@doadores = Base::Pessoa.includes(:tipo_de_pessoa).all.order(id: :asc)
    @fornecedores = @doadores.where(fornecedor: :true)
    @origem_de_recurso =  Patrimonio::OrigemDeRecursoPatrimonial.all
    @orcamento =  Orcamento.all.order(exercicio: :desc)
		if @recebimento_de_bem.present? && @recebimento_de_bem.multiplos_empenhos?
			unidade_orcamentaria = Loa::UnidadeOrcamentaria.find(@recebimento_de_bem.unidade_orcamentaria_id)
			empenhos_do_periodo = unidade_orcamentaria.empenhos.confirmados.de_material_permanente.where(orcamento: @recebimento_de_bem.ano_empenho_vinculado).where.not(id: @recebimento_de_bem.empenhos.ids)
			@empenhos = @recebimento_de_bem.empenhos + empenhos_do_periodo
		else
			@empenhos = []
		end
  end

  def set_dependencias_itens
		if @recebimento_de_bem.present?
			@itens = Base::Item.find_by_sql("SELECT item.* FROM base_categorias categoria INNER JOIN base_categorias categoria_super ON categoria.id = categoria_super.categoria_superior_id
				INNER JOIN base_itens item ON item.categoria_id = categoria_super.id WHERE categoria.id = 71 ORDER BY descricao")
			# sub_elemento = @recebimento_de_bem.sub_elemento_de_despesa
			# @itens = Base::Item.find_by_sql("SELECT DISTINCT item.id, item.* FROM base_itens item	INNER JOIN base_categorias cat ON cat.id = item.categoria_id
			# INNER JOIN base_elementos_por_categoria ele_cat ON ele_cat.categoria_id = cat.id INNER JOIN natureza_da_despesa_sub_elementos_de_despesa sub ON sub.id = ele_cat.elemento_de_gasto_id
			# INNER JOIN natureza_da_despesa_elementos_de_despesa ele ON sub.elemento_de_despesa_id = ele.id WHERE ele.codigo = '52' AND sub.codigo = '#{sub_elemento.codigo}' ORDER BY item.id ; ")
		end

    @unidades_de_medida = UnidadeDeMedida.all
  end

	# Permite apenas os parâmetros específicos
	def recebimento_de_bem_params
		params.require(:patrimonio_recebimento_de_bem).permit(:codigo, :data_do_recebimento, :status, :classificacao, :sub_elemento_de_despesa_id, :flag,
			:recebimento_de_bem_id, :orcamento_id, :observacao, :unidade_orcamentaria_id, :numero_da_nota, :serie, :data_de_emissao, :doador_id, :fornecedor_id,
			:origem_de_recurso_patrimonial_id, :extraorcamentario, :criado_no_patrimonio, :ano_empenho_vinculado, :multiplos_empenhos, empenhos_do_recebimento_attributes: [
				:id, :recebimento_de_bem_id, :empenho_id, :valor_atual, :valor, :_destroy ], itens_dos_recebimentos_de_bens_attributes: [ :id, :recebimento_de_bem_id,
				:item_id, :unidade_de_medida_id, :quantidade, :valor_unitario, :valor_total, :marca, dados_extras_do_bem_attributes:[ :id, :item_do_recebimento_de_bem_id,
				:data_do_tombamento, :nota_fiscal, :serie, :fornecedor_id, :marca, :modelo, :unidade_gestora_id, :descricao_do_bem, :valor_de_aquisicao,
				:tipo_de_ingresso, :natureza_do_bem, :doador_id, :vida_util, :outros_custos, :valor_bruto_inicial, :porcentagem_valor_residual, :valor_residual ] ])
	end

	def dados_extras_do_bem_params
		params.require(:patrimonio_recebimento_de_bem).permit(
			itens_dos_recebimentos_de_bens_attributes: [
				:id,
				dados_extras_do_bem_attributes:[
					:id,
					:item_do_recebimento_de_bem_id,
					:data_do_tombamento,
					:nota_fiscal,
					:serie,
					:fornecedor_id,
					:marca,
					:modelo,
					:unidade_gestora_id,
					:valor_de_aquisicao,
					:tipo_de_ingresso,
					:natureza_do_bem,
					:doador_id,
					:vida_util,
					:outros_custos,
					:valor_bruto_inicial,
					:porcentagem_valor_residual,
					:valor_residual,
					:descricao_do_bem,
					:numero_do_tombo,
					:data_inicio_depreciacao,
					:estado_do_bem,
					:tombamento_manual,
					:localizacao,
					:responsavel_localizacao,
					bens_patrimoniais_attributes: [
						:id,
						:dados_extras_do_bem_id,
						:numero_do_tombamento,
						:data_do_tombamento,
						:estado_do_bem,
						:descricao,
						:inicio_da_depreciacao,
						:item_do_recebimento_de_bem_id,
						:cor,
						:chassi,
						:serie_do_veiculo,
						:ano_de_fabricacao,
						:placa,
						:status,
						:orcamento_id,
						:sequencia,
						:renavam,
						:tipo_de_combustivel,
						:quilometragem,
						:capacidade_de_combustivel
					]
				]
			]
		)
	end

	def itens_dos_recebimentos_de_bens_params
		params.require(:patrimonio_recebimento_de_bem).permit(
			itens_dos_recebimentos_de_bens_attributes: [ 
				:id, :recebimento_de_bem_id, :item_id, :unidade_de_medida_id, :quantidade, :valor_unitario, :valor_total, :marca, :_destroy
			]
		)
	end
end
end
