class AddVpdObrigatorioToContabilidadeSubElementoDeDespesa < ActiveRecord::Migration[5.2]
  def change
    add_column :contabilidade_sub_elementos_de_despesa, :vpd_obrigatorio, :boolean

    ActiveRecord::Base.connection.execute("update contabilidade_sub_elementos_de_despesa set vpd_obrigatorio = false")

    Contabilidade::SubElementoDeDespesa.all.each do |sub_elemento|
      if sub_elemento.elemento_de_despesa.codigo == '33901800'
        sub_elemento.update_column(:vpd_obrigatorio, true) if sub_elemento.codigo == '01'
      elsif sub_elemento.elemento_de_despesa.codigo == '33901400'
        sub_elemento.update_column(:vpd_obrigatorio, true) if sub_elemento.codigo == '01' || sub_elemento.codigo == '02' || sub_elemento.codigo == '03'
      elsif sub_elemento.elemento_de_despesa.codigo == '33903600'
        sub_elemento.update_column(:vpd_obrigatorio, true) if sub_elemento.codigo == '02' || sub_elemento.codigo == '03' || sub_elemento.codigo == '46'
      elsif sub_elemento.elemento_de_despesa.codigo == '33903100'
        sub_elemento.update_column(:vpd_obrigatorio, true)
      end
    end
  end
end
