Files
Reem-Notas/app/models/serie_aparelho.rb

24 lines
875 B
Ruby

# app/models/serie_aparelho.rb
#
# Número de série da base (aparelho) de UMA visita do SimpliRoute, buscado na
# API pelo SincronizarSeriesAparelhoJob.
#
# Esta é uma tabela NOSSA (gravável) — existe porque o espelho read-only
# db_reem_simplerout_2026 tem a coluna `numero_de_serie_da_base_aparelho` mas
# nunca a preenche. Ver a migration para o histórico.
class SerieAparelho < ApplicationRecord
self.table_name = 'series_aparelho'
validates :tracking_id, presence: true, uniqueness: true
validates :numero_serie, presence: true
# { tracking_id => numero_serie } das visitas informadas — uma consulta só,
# para a planilha não fazer N+1 ao preencher a coluna.
def self.por_tracking(tracking_ids)
ids = Array(tracking_ids).compact.uniq
return {} if ids.empty?
where(tracking_id: ids).pluck(:tracking_id, :numero_serie).to_h
end
end