Actualizar backend/core/data_manager.py
This commit is contained in:
@@ -468,9 +468,12 @@ class DataManager:
|
|||||||
conn = self.get_connection()
|
conn = self.get_connection()
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
|
|
||||||
# Clasificadores para filtros (mismos que Cobranza/Ocupabilidad)
|
# Clasificadores para filtros (mismos que Cobranza/Ocupabilidad).
|
||||||
_sede_sel = str(sede or "TODOS").upper()
|
# Acepta varios valores separados por coma (multi-selección). Vacío/TODOS = todo.
|
||||||
_prog_sel = str(programa or "TODOS").upper()
|
_sede_set = {s.strip().upper() for s in str(sede or "TODOS").split(",") if s.strip()}
|
||||||
|
_prog_set = {p.strip().upper() for p in str(programa or "TODOS").split(",") if p.strip()}
|
||||||
|
_sede_all = (not _sede_set) or ("TODOS" in _sede_set)
|
||||||
|
_prog_all = (not _prog_set) or ("TODOS" in _prog_set)
|
||||||
def _clasif_sede(dscp):
|
def _clasif_sede(dscp):
|
||||||
if not dscp: return "LIMA"
|
if not dscp: return "LIMA"
|
||||||
up = str(dscp).upper()
|
up = str(dscp).upper()
|
||||||
@@ -513,11 +516,12 @@ class DataManager:
|
|||||||
vendedor = row[0] if row[0] else "SIN VENDEDOR"
|
vendedor = row[0] if row[0] else "SIN VENDEDOR"
|
||||||
if vendedor in vendedores_excluidos: continue
|
if vendedor in vendedores_excluidos: continue
|
||||||
|
|
||||||
# Filtro SEDE/PROGRAMA (mismas reglas que Ocupabilidad/Cobranza)
|
# Filtro SEDE/PROGRAMA (mismas reglas que Ocupabilidad/Cobranza).
|
||||||
|
# Multi-selección: pasa si su sede/programa está en el set marcado.
|
||||||
_dscp = row[10] if (len(row) > 10 and row[10]) else (row[12] if len(row) > 12 else "")
|
_dscp = row[10] if (len(row) > 10 and row[10]) else (row[12] if len(row) > 12 else "")
|
||||||
if _sede_sel != "TODOS" and _clasif_sede(_dscp) != _sede_sel:
|
if not _sede_all and _clasif_sede(_dscp) not in _sede_set:
|
||||||
continue
|
continue
|
||||||
if _prog_sel != "TODOS" and _clasif_prog(_dscp) != _prog_sel:
|
if not _prog_all and _clasif_prog(_dscp) not in _prog_set:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
inv_neta_raw = float(row[1]) if row[1] else 0.0
|
inv_neta_raw = float(row[1]) if row[1] else 0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user