# 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