Diagnóstico: inclui status, checkin/checkout e contagem .pagas no período

Ajuda a distinguir as causas do dashboard zerado: conta errada, regra de
pagamento (checkin vazio mas checkout preenchido) ou ausência de dados.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-16 02:10:31 -03:00
parent ffcae12d0b
commit 13b0161dd5

View File

@@ -15,12 +15,24 @@ namespace :reem do
puts "account_ids presentes na tabela:" puts "account_ids presentes na tabela:"
Entrega.group(:account_id).count.each { |acc, qtd| puts " account_id=#{acc.inspect}#{qtd} linhas" } Entrega.group(:account_id).count.each { |acc, qtd| puts " account_id=#{acc.inspect}#{qtd} linhas" }
puts "-------------------------------------------------" puts "-------------------------------------------------"
puts "status presentes na tabela:"
Entrega.group(:status).count.each { |st, qtd| puts " status=#{st.inspect}#{qtd} linhas" }
puts "-------------------------------------------------"
no_periodo = Entrega.no_periodo(ini, fim)
puts "No período (sem filtro de conta):"
puts " total: #{no_periodo.count}"
puts " status='completed': #{no_periodo.where(status: 'completed').count}"
puts " checkin preenchido: #{no_periodo.where.not(checkin: nil).count}"
puts " checkout preenchido: #{no_periodo.where.not(checkout: nil).count}"
puts " .pagas (completed + checkin): #{no_periodo.pagas.count}"
puts "-------------------------------------------------"
puts "planned_date mais antiga: #{Entrega.minimum(:planned_date)}" puts "planned_date mais antiga: #{Entrega.minimum(:planned_date)}"
puts "planned_date mais recente: #{Entrega.maximum(:planned_date)}" puts "planned_date mais recente: #{Entrega.maximum(:planned_date)}"
puts "=================================================" puts "================================================="
puts "Leitura:" puts "Leitura:"
puts " • 'SEM filtro' > 0 e 'com filtro Gade' = 0 → ajuste DB_EXISTING_ACCOUNT_ID no .env" puts " • 'SEM filtro' > 0 e 'com filtro Gade' = 0 → ajuste DB_EXISTING_ACCOUNT_ID no .env"
puts "ambos = 0 → não há dados nesse período (use as datas acima)" puts "total > 0 mas '.pagas' = 0 (checkin vazio) → regra de pagamento deveria usar checkout"
puts " • tudo 0 → não há dados nesse período (veja datas acima)"
rescue => e rescue => e
warn "[diagnostico] Falha: #{e.class} - #{e.message}" warn "[diagnostico] Falha: #{e.class} - #{e.message}"
raise raise