1. Router Din谩mico (Data-Driven)
El n煤cleo del sistema es un router inteligente que decide qu茅 funci贸n ejecutar bas谩ndose en la
configuraci贸n de la hoja de c谩lculo Directorio_Regional. Esto permite agregar nuevas
regiones o flujos sin modificar el c贸digo.
graph TD
A[Formulario Google] -->|Trigger| B(onAccessFormSubmit)
B --> C{Obtener Sucursal}
C --> D[Consultar DB_Sucursales]
D --> E{驴Existe Sucursal?}
E -- NO --> F[Error / Log]
E -- SI --> G[Obtener Regi贸n]
G --> H[Consultar Directorio_Regional]
H --> I[Obtener Funci贸n Columna I]
I --> J{Ejecutar Din谩micamente}
J --> K[ejecutarFlujoEstandarV33]
J --> L[ejecutarFlujoMetro]
Funci贸n Principal: onAccessFormSubmit(e)
function onAccessFormSubmit(e) {
// 1. Obtiene la Sucursal del evento
// 2. Busca la regi贸n en DB_Sucursales
// 3. Busca el nombre de la funci贸n en Directorio_Regional
// 4. Ejecuta this[nombreFuncion](e)
}
2. M贸dulo de Accesos (V33)
Gestiona la generaci贸n de cartas de acceso en PDF, notificaciones por correo y alertas en Telegram con geolocalizaci贸n.
- Entrada: Formulario de Google (Respuestas_Accesos).
- Proceso: Cruce de datos con
DB_Sucursales(Tickets, SIRH, Building ID). - Salida: PDF generado desde template, Email a L铆deres, Telegram al Grupo Regional.
3. Motor de Cotizaciones IA (Ingenier铆a de Costos)
Sistema avanzado que utiliza Agentes LLM (OpenAI) y B煤squeda Vectorial para estimar costos de mantenimiento.
sequenceDiagram
participant User as Formulario
participant Main as Script Cotizador
participant AgtA as Agente A (Procesos)
participant AgtB as Agente B (Cuantificador)
participant VecDB as Vector DB (Embeddings)
participant AgtC as Agente C (Precios)
User->>Main: Env铆a Hallazgo + Fotos
Main->>AgtA: 驴Qu茅 actividades se requieren?
AgtA->>Main: Plan de Trabajo (Preliminares, Ejecuci贸n)
Main->>AgtB: 驴Cu谩nta cantidad? (Deducci贸n)
AgtB->>Main: Lista Cuantificada
loop Validar Item
Main->>VecDB: Buscar Items Similares (Embeddings)
VecDB->>Main: Candidatos Cat谩logo
Main->>AgtC: Seleccionar Mejor Opci贸n o Estimar
AgtC->>Main: Precio Unitario / Clave
end
Main->>User: Genera PDF Cotizaci贸n
Agentes Definidos
| Agente | Rol | Funci贸n |
|---|---|---|
| Agente A | Ingeniero de Procesos | Desglosa el hallazgo en pasos l贸gicos (Preliminar -> Ejecuci贸n -> Cierre). |
| Agente B | Generador de N煤meros | Calcula cantidades bas谩ndose en "Cantidades Maestras" detectadas en el texto. |
| Agente C | Analista de Precios | Realiza el "Matching" con el cat谩logo oficial o estima precios de mercado. |
4. Integraci贸n Telegram
El bot utiliza la API de Telegram para enviar reportes ricos en formato.
function enviarNotificacionTelegram(token, chatId, mensaje, pdfBlob, lat, lon) {
// 1. Env铆a PDF con Caption (Resumen)
// 2. Env铆a Ubicaci贸n (SendLocation)
// 3. Env铆a desglose de Tickets (Mensajes individuales)
}