From 13b0161dd56a0c819f9e999264abcbe81c5b2f26fe46b1645670e45823827a8e Mon Sep 17 00:00:00 2001 From: victor Date: Tue, 16 Jun 2026 02:10:31 -0300 Subject: [PATCH] =?UTF-8?q?Diagn=C3=B3stico:=20inclui=20status,=20checkin/?= =?UTF-8?q?checkout=20e=20contagem=20.pagas=20no=20per=C3=ADodo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- lib/tasks/diagnostico.rake | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/tasks/diagnostico.rake b/lib/tasks/diagnostico.rake index b286367..760d1bc 100644 --- a/lib/tasks/diagnostico.rake +++ b/lib/tasks/diagnostico.rake @@ -15,12 +15,24 @@ namespace :reem do puts "account_ids presentes na tabela:" Entrega.group(:account_id).count.each { |acc, qtd| puts " account_id=#{acc.inspect} → #{qtd} linhas" } 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 recente: #{Entrega.maximum(:planned_date)}" puts "=================================================" puts "Leitura:" - 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 " • 'SEM filtro' > 0 e 'com filtro Gade' = 0 → ajuste DB_EXISTING_ACCOUNT_ID no .env" + 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 warn "[diagnostico] Falha: #{e.class} - #{e.message}" raise