43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
from app.models import Cliente, MovimientoTimbre
|
|
import logging
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def obt_cliente_vis(current_user, db):
|
|
return db.query(Cliente).all()
|
|
|
|
def construir_dash(clientes, db):
|
|
resultado = []
|
|
|
|
for cliente in clientes:
|
|
|
|
if not cliente or not cliente.id: #(23/12/25)validacion si el resultado es null, solo un salto temporal, cambiar!!
|
|
|
|
logger.warning("Cliente sin Id")
|
|
continue
|
|
|
|
|
|
moves = db.query(MovimientoTimbre).filter(
|
|
MovimientoTimbre.cliente_id == cliente.id
|
|
).all()
|
|
|
|
total = len(moves)
|
|
ultimo = None
|
|
balance = 0
|
|
|
|
if moves:
|
|
ultimo = max(m.fecha for m in moves)
|
|
balance = sum(m.monto for m in moves)
|
|
|
|
resultado.append({
|
|
"id": cliente.id,
|
|
"Nombre": cliente.nombre,
|
|
"Estado" : cliente.estado,
|
|
"Movimeintos": {
|
|
"total": total,
|
|
"ultimo": ultimo,
|
|
"balance": balance
|
|
}
|
|
})
|
|
return resultado |