class Obra::ProvidenciaDaFiscalizacao < ApplicationRecord
	has_paper_trail
	include IncrementadorDeCodigoConcern

	belongs_to :fiscalizacao, required: true, class_name: 'Obra::Fiscalizacao'

	validates_presence_of :data_do_cadastro, :descricao

	before_create :atualiza_codigo_sequencial
	after_destroy :reordenar_numero

	private
	def atualiza_codigo_sequencial
		gerar_sugestao_codigo( :codigo, 4, { fiscalizacao_id: self.fiscalizacao_id }, true )
	end

	def reordenar_numero
		proximo_numero = 1
		if fiscalizacao.providencias_da_fiscalizacao.any?
			fiscalizacao.providencias_da_fiscalizacao.order(:codigo).each do |providencia|
				providencia.update_column(:codigo, proximo_numero)
				proximo_numero += 1
			end
		end
	end
end
