Files
dashboard-leads/backend/diag_diff_asignados_diana13.py
2026-08-18 11:48:08 -05:00

45 lines
1.8 KiB
Python

# diag_diff_asignados_diana13.py
# Compara las 2 fuentes de "leads asignados" para DIANA el dia 13/08/2026:
# A = traer_leads_asignados (la de la TARJETA)
# B = traer_asignacion_respuesta (la del GRAFICO)
# Muestra los telefonos de cada una y cuales difieren.
from datetime import datetime
from data_manager_v2 import DataManager
ANO, MES, DIA = 2026, 8, 13
NOMBRE = "DIANA"
dm = DataManager()
def _d(v): return v.date() if isinstance(v, datetime) else None
A = {} # telefono -> hora asignacion (TARJETA)
for r in dm.traer_leads_asignados():
if NOMBRE not in (r.get("user_name") or "").upper(): continue
f = r.get("created_at")
if _d(f) and f.year==ANO and f.month==MES and f.day==DIA:
A[str(r.get("telefono") or "").strip()] = f
B = {} # telefono -> hora asignacion (GRAFICO)
for r in dm.traer_asignacion_respuesta():
if NOMBRE not in (r.get("user_name") or "").upper(): continue
f = r.get("created_at")
if _d(f) and f.year==ANO and f.month==MES and f.day==DIA:
B[str(r.get("telefono") or "").strip()] = f
print(f"\n=== DIANA dia {DIA} — comparacion de fuentes ===\n")
print(f"A) TARJETA (traer_leads_asignados): {len(A)} telefonos")
print(f"B) GRAFICO (traer_asignacion_respuesta): {len(B)} telefonos\n")
print("Telefonos en A (tarjeta):")
for t in sorted(A): print(f" {t} asignado {A[t].strftime('%H:%M:%S')}")
print("\nTelefonos en B (grafico):")
for t in sorted(B): print(f" {t} asignado {B[t].strftime('%H:%M:%S')}")
solo_A = set(A) - set(B)
solo_B = set(B) - set(A)
print("\n--- DIFERENCIAS ---")
if solo_A: print(f" Solo en TARJETA (A), no en grafico: {sorted(solo_A)}")
if solo_B: print(f" Solo en GRAFICO (B), no en tarjeta: {sorted(solo_B)}")
if not solo_A and not solo_B:
print(" Los telefonos son IDENTICOS. La diferencia debe ser cache (reinicia backend).")