docs: actualizar documentacion tecnica, arquitectura y manuales de herramientas y QR
This commit is contained in:
@@ -67,6 +67,13 @@
|
||||
- **Contrato Operativo con `app_tareas` (ID 89):** Despacho M2M de visitas técnicas en terreno (`POST /api/external/tareas`), trazabilidad GPS en sitio, avance de checklist de campo, fotos de evidencias y firma digital del cliente en canvas móvil, con sincronización de estado y cierre automático en el hilo del ticket.
|
||||
- **Ciclo de Retroalimentación con `app_ideas` (ID 82):** Canalización de solicitudes de funciones y patrones de fallas hacia el Canvas estratégico de ideas. Se acordó que Help Desk enviará resúmenes técnicos saneados bajo control manual del agente técnico (sin datos personales de clientes), ingresando como *candidata_revision* antes de que `app_ideas` genere tareas definitivas hacia `app_tareas`.
|
||||
|
||||
12. **Módulo de Inventario de Herramientas, Sets de Maletines, Evidencia Fotográfica y Manifiesto Móvil QR:**
|
||||
- **Catálogo de Herramientas & Sets:** Control de herramientas individuales con código, serie, marca, modelo, estado operativo y fotos. Agrupación en kits/sets temáticos para maletines de trabajo (cobre, fibra óptica, herramientas básicas de cuadrilla).
|
||||
- **Asignación de Custodia a Técnicos:** Registro de entrega de herramientas tanto en dotación de bodega como vinculadas a visitas técnicas FSM, registrando condiciones físicas y fotos en la entrega y en la devolución.
|
||||
- **Uploader Seguro de Fotografías (`config/uploader.js`):** Validador centralizado con control de MIME type (JPG, PNG, WEBP, GIF), nombres únicos seguros con timestamp + hash aleatorio, límite de 8MB por archivo y almacenamiento en `public/uploads/herramientas/` (ignorado en Git por `.gitignore`).
|
||||
- **Generación e Impresión de Etiquetas QR Adhesivas:** Generación de códigos QR mediante librería nativa `qrcode`. Vista de impresión `/admin/herramientas/sets/:id/etiqueta` con CSS `@media print` diseñado específicamente a **95mm** para impresoras térmicas de stickers y etiquetas autoadhesivas de cajas.
|
||||
- **Manifiesto Móvil Web Responsivo (`/qr/set/:token` y `/qr/asignacion/:token`):** Acceso público sin requerir login mediante tokens aleatorios de 24 caracteres hex (`crypto.randomBytes(12)`). Al escanear el QR físico con cualquier teléfono inteligente, el usuario accede a un manifiesto móvil con badge de estado en vivo (**EN BODEGA / DISPONIBLE** vs **EN CUSTODIA TÉCNICA**), datos del custodio y un **Checklist interactivo** para verificar las herramientas presentes dentro del maletín durante inspecciones de inventario.
|
||||
- **API Externa M2M (`/api/external/herramientas/sets`):** Consulta de sets y estado de disponibilidad protegida por `x-api-key` para aplicaciones hermanas del ecosistema.
|
||||
|
||||
---
|
||||
|
||||
@@ -75,13 +82,17 @@
|
||||
- **Servidor:** MariaDB en `192.168.10.149:3306` (Contenedor CT 114)
|
||||
- **Usuario:** `helpdesk`
|
||||
- **Base de datos:** `help_desk`
|
||||
- **Tablas:**
|
||||
- **Tablas (10 tablas activas):**
|
||||
- `companies`: Gestión de empresas/organizaciones (id, name, slug, plan, max_users, max_tickets, is_active, timestamps).
|
||||
- `users`: Usuarios de cada empresa (id, company_id, nombre, email, password [nullable], rol, provider, provider_id, avatar_url, is_active, invite_token, invited_by, timestamps).
|
||||
- `departments`: Departamentos de soporte por empresa (id, company_id, nombre, descripcion, created_at).
|
||||
- `tickets`: Tickets de soporte (id, company_id, user_id, department_id, asunto, mensaje, status, prioridad, assigned_to, timestamps).
|
||||
- `ticket_respuestas`: Mensajes e hilo de conversación de cada ticket (id, ticket_id, user_id, mensaje, created_at).
|
||||
- `ticket_visitas`: Visitas técnicas y tareas de campo vinculadas a tickets y al Hub de tareas (id, company_id, ticket_id, external_id, tecnico_email, tecnico_nombre, titulo, descripcion, ubicacion, fecha_visita, fecha_fin, estado, checklist_json, historial_json, created_at, updated_at).
|
||||
- `herramientas`: Catálogo de herramientas individuales (id, company_id, codigo, nombre, descripcion, categoria, marca, modelo, numero_serie, estado, foto_url, created_at, updated_at).
|
||||
- `herramientas_sets`: Kits y maletines temáticos (id, company_id, codigo, nombre, descripcion, foto_url, qr_token, is_active, created_at, updated_at).
|
||||
- `herramientas_set_items`: Ítems asociados a cada set con su cantidad (id, set_id, herramienta_id, cantidad).
|
||||
- `tecnico_herramientas_asignaciones`: Registro de custodia a técnicos con estado de entrega y devolución, fotos de evidencia y qr_token (id, company_id, set_id, herramienta_id, tecnico_email, tecnico_nombre, ticket_visita_id, fecha_asignacion, fecha_devolucion, estado, foto_entrega_url, foto_devolucion_url, condicion_entrega, condicion_devolucion, qr_token, created_at, updated_at).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user