Skip to content

feat(comercial): portal_comercial con dashboard Tableau 2025

Infraestructura requested to merge comercial into main

Nuevo portal standalone basado en portal_juridico, con 6 indicadores operativos calculados contra los datos de INDICADORES COMERCIALES y METAS COMERCIALES del Tableau 2025:

  1. Prospectos: count(etapa ~ prospect) / meta de prospectos
  2. Propuesta: count(etapa ~ propuest|oferta) / meta de propuestas
  3. Cierres: count + monto (etapa ~ cierr|cerrad|ganad)
  4. Ciclo de venta: avg dias entre fecha_prospeccion y fecha_cierre
  5. Mix de venta: Intercompania vs Externa (solo cierres)
  6. Backlog: monto de cierres agrupado por mes de fecha_cierre

Implementacion:

  • portal_comercial/ : Next.js 14 con basePath /comercial, puerto 3004
  • backend/database_comercial.py + models/comercial.py + routers/comercial.py
  • backend/main.py: create_all(Base_comercial) + _migrate_comercial seed
  • backend/ci_validate_models.py: incluye Base_comercial
  • docker-compose.yml: servicio portal_comercial en 3014:3004
  • docker-compose.override.yml: dev hot reload para portal_comercial
  • frontend/components/layout/Sidebar.tsx: link al portal desde OAE
  • frontend/app/comercial/inicio/page.tsx: landing con link externo
  • backend/scripts/import_comercial.py: one-shot importer desde xlsx (xlsx gitignoreado — bajar del Google Sheet al correrlo)

Valores de etapa_funnel en el dataset real son muy heterogeneos (Cierre/Cierres/Cerrado/CERRADO/Ganado/GANADO...), normalizados en el frontend con matcher case-insensitive por prefijo.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Merge request reports

Loading