O extra pagy/extras/overflow foi removido no Pagy 9 e quebrava o boot
(LoadError no initializer). Remove o require, trata Pagy::OverflowError
no controller e versiona o Gemfile.lock para travar as versões.
- Dashboard: no_periodo passa a cobrir o dia inteiro (planned_date é timestamp),
corrigindo período que zerava ao terminar no dia dos dados
- Dashboard: card de consolidações filtra por sobreposição de datas (não created_at)
- Usuários: adiciona helper role_options_for_select (corrige edição/criação)
- Consolidação: set_consolidacao nas actions de PDF/preview (corrige
Pundit::NotDefinedError em Relatório Individual, Gerar Holerite e Preview)
- Revisão: paginação com Pagy (20/página + seletor 20/50/100)
- Nova consolidação: veículos filtrados pelo(s) motorista(s) no período
- Passo 3 (revisar): GROUP BY tipo + ORDER BY created_at é inválido no
PostgreSQL (PG::GroupingError → 500/tela branca). reorder(nil) no count.
Só ficou acessível depois de corrigir o new? da consolidação.
- Usuários: helper badge_status_usuario criado; rota toggle_ativo corrigida
para toggle_ativo_admin_usuario_path (PATCH); confirms via turbo_confirm.
- Passo 3: contagem mostra entregas distintas + nº de pilares (multi-pilar).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Consolidação — multi-pilar:
- Uma entrega pode ter vários pilares ao mesmo tempo (Normal + Bônus +
Retirada…), somando os valores. Toggles viraram multi-seleção (liga/desliga
por pilar; classificar agora faz toggle, em massa só adiciona).
- migration: unicidade passa de [consolidacao_id, tracking_id] para
[consolidacao_id, tracking_id, tipo].
- classificadas_count/resumo contam entregas distintas (≥1 pilar).
Configurações:
- /admin/configuracoes lista só os pilares de PREÇO (empresa/notificações
não são preço e saíram da tela).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
account_id na tabela externa é texto e os registros recentes vêm com conta
vazia (junho estava 100% em conta vazia), então o filtro fixo em 95907 (.to_i)
zerava o dashboard. da_conta_gade agora lê DB_EXISTING_ACCOUNT_ID como lista de
contas (texto) ou "all"/vazio para não filtrar. .env.example documentado.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>