Commit Graph

74 Commits

Author SHA256 Message Date
5b2de23cfe Atualização 2 da dos Arquivos PDF Holerite e relatório 2026-06-17 15:21:29 -03:00
69448ddabd Atualização da dos Arquivos PDF Holerite e relatório 2026-06-17 15:10:56 -03:00
cf896de165 Correção do QR do holerite entre outras coisas 2026-06-16 17:01:36 -03:00
80c068c798 Atualição de interface area consolidação e Relatório em PDF 2026-06-16 16:38:42 -03:00
7c57b8e09d Correções para funcionamento do Botão de gerar o Relátório Individual 2026-06-16 16:21:05 -03:00
ae6f0122d4 Correções para funcionamento da criação do login motorista no qual não permitia email nulo 2026-06-16 16:00:36 -03:00
6efbb45b70 Correções para funcionamento do dash,criar login do motorista senha, e gerar quelátório 2026-06-16 15:33:36 -03:00
9c663ee3da Fixa Pagy ~> 9.0 e corrige boot em produção
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.
2026-06-16 14:59:14 -03:00
fedf5bfcc9 Corrige dashboard por período, CRUD de usuário, PDFs e paginação na revisão
- 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
2026-06-16 14:45:06 -03:00
44843351ae Corrige tela branca no Passo 3 + erros na tela de usuários
- 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>
2026-06-16 03:11:55 -03:00
19a72c066f Múltiplos pilares por entrega + tela de preços só com pilares de preço
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>
2026-06-16 03:05:15 -03:00
aecd7d1427 Filtro de conta configurável (account_id texto, conta vazia, opção "all")
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>
2026-06-16 02:53:35 -03:00
19b7cc838f Pagamento por checkout + consolidação por veículo (em vez de rota)
Regra de pagamento:
- Entrega.pagas agora exige status='completed' E checkout preenchido
  (antes era checkin). Afeta dashboard, painel do motorista, job 1h e
  elegibilidade das consolidações de forma consistente.

Veículo no lugar de rota na consolidação:
- migration troca consolidacoes.route_ids por vehicle_ids (jsonb + gin)
- Entrega: da_veiculo/veiculos_unicos; contar_pagas usa vehicle
- new.html.erb: filtro "Veículos" (multi-select por vehicle)
- validar.html.erb: mostra o veículo em vez do código da rota
- filtros/elegibilidade do controller passam a usar vehicle_ids

Docs/diagnóstico atualizados.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 02:17:25 -03:00
ffcae12d0b Corrige 500 em Configurações e Usuários
- ConfiguracaoPolicy (e UserPolicy) chamavam admin_ou_gerente?/admin? que não
  existiam -> helpers movidos para ApplicationPolicy (toda policy herda)
- View de usuários usava helper badge_role inexistente -> criado em
  ApplicationHelper (badge por papel, cores do navbar)

Spec: ConfiguracaoPolicy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 02:02:44 -03:00
c7ed5f0ceb Corrige 500 no painel do motorista (tabela consolidacao_motorista inexistente)
O inflector pt-BR (inflections.rb) resolvia o composto ConsolidacaoMotorista
para o singular "consolidacao_motorista", tabela que não existe (migration cria
"consolidacao_motoristas"). Login do motorista por PIN derrubava /motorista com
PG::UndefinedTable.

Fixa self.table_name explicitamente nos models pt-BR (Consolidacao,
ConsolidacaoMotorista, ConsolidacaoEntrega, Configuracao), eliminando a
dependência do inflector. Spec trava os nomes de tabela.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 01:50:07 -03:00
bb1dead9fd Corrige 3 erros de runtime + filtro de faixa de datas no dashboard
Erros corrigidos (reportados em prints):
- Logout dava "No route matches [GET] /auth/logout": link usava method:
  :delete (rails-ujs), que o Turbo ignora -> agora data-turbo-method
- /admin/usuarios estourava NoMethodError 'admin_ou_gerente?'/'admin?' na
  UserPolicy -> adicionados helpers que delegam para o User
- Nova consolidação estourava NoMethodError 'new?' na ConsolidacaoPolicy ->
  ApplicationPolicy passa a definir new? (= create?) e edit? (= update?)

Dashboard:
- Substitui a navegação por mês por um filtro de calendário com faixa de
  datas (Flatpickr, range mode) que auto-submete inicio/fim
- Controller passa a consultar por período (Entrega.no_periodo) em vez de
  do_mes; gráfico diário limitado a ~1 trimestre

Specs: UserPolicy + new? na ConsolidacaoPolicy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 22:27:57 -03:00
732c6daae8 Auditoria de bugs + suíte de testes RSpec
Correções:
- Erro de sintaxe em Admin::Usuarios#toggle_ativo (entidade: \'User\') que
  derrubava /admin/usuarios
- Migration fase2 readicionava coluna `ativo` sem guard (db:migrate do zero
  quebrava); db:seed colidia no índice único de email para motoristas
- Dashboard e HistoricoEstimado agora aplicam .da_conta_gade
- ConsolidacaoMotorista#recalcular_valor usa valor_aplicado (fonte única)
- Gate de finalização por motorista (antes soma agregada com >=) e validação
  de elegibilidade em classificar/classificar_em_massa
- Remove coluna órfã pin_acesso; registra autor do arquivamento
  (arquivado_por/arquivado_em + belongs_to :arquivador)
- Dashboard redireciona motorista; Date.parse tolerante
- Remove MotoristaController + view órfãos (não roteados e quebrados)

Testes: infra RSpec + factories + specs de models, policy e request.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 21:47:41 -03:00
146aa3e762 Correções para funcionamento do login adm 2026-06-15 21:17:14 -03:00
b59fedec5c Correções para funcionamento do Docker 2026-06-11 19:30:40 -03:00
3b07e72d6e Correções de integração Fases 2/3 ↔ 4-8 + Auditoria UI + README final 2026-06-11 18:48:44 -03:00
8b3d4bc87f Fases 7 e 8 — PDFs Prawn + QR + Painel Motorista + Notificações 2026-06-11 18:31:38 -03:00
90ed705ed8 Fases 4, 5 e 6 — Job 1h + Auditoria + Consolidação + Wizard de validação 2026-06-11 12:02:50 -03:00
472484798f implantação da fase 2 e 3 2026-06-10 20:12:20 -03:00
eb812868e5 Initial commit - Fase 1: Setup Rails + Docker 2026-06-10 17:40:07 -03:00