12 Commits

Author SHA1 Message Date
037c4baf1b Ejemplo con la inspección 250:
Guardado en BD: 2025-12-08 19:11:30+00 (hora de Canarias)
Mostrado en tu cliente: 2025-12-08 16:11:30-03 (convertido a Paraguay, 3 horas menos)
Ambas representan el MISMO momento en el tiempo, solo que en zonas horarias diferentes.

🌍 Resumen del Sistema
Componente	Zona Horaria	Estado
PostgreSQL (almacenamiento)	+00 Atlantic/Canary	 CORRECTO
Backend FastAPI	Atlantic/Canary	 CORRECTO
Frontend (usuario)	Local del navegador	 CORRECTO (convierte automáticamente)
Tu cliente PostgreSQL	-0300 Paraguay	ℹ️ Solo afecta cómo VES las fechas
💡 Conclusión
2025-12-09 00:46:16 -03:00
1b0a50338e Cambios Implementados:
1. PostgreSQL (Base de Datos)
Variables de entorno: TZ=Atlantic/Canary y PGTZ=Atlantic/Canary
Configurado en todos los archivos Docker: docker-compose.yml, docker-compose.prod.yml, docker-stack.yml
2. Backend (FastAPI/Python)
Configuración de zona horaria al inicio de main.py
Conexión a PostgreSQL con parámetro de timezone
Event listener que establece timezone en cada conexión a la BD
Variable de entorno: TZ=Atlantic/Canary
3. Frontend (React)
Ya estaba usando fechas locales correctamente con el constructor new Date(year, month, day)
4. Migración SQL
Creado set_timezone_canary.sql para actualizar la BD existente
2025-12-09 00:24:21 -03:00
0c0812efe9 Cambios realizados v1.2.11 (Backend) + v1.3.8 (Frontend):
Backend v1.2.11:
Nueva Funcionalidad - Control de Generación de PDF:
Campo nuevo: generate_pdf en modelo Checklist (Boolean, default: True)
Lógica modificada: Al completar inspección se verifica si el checklist tiene habilitada la generación de PDF
Comportamiento:
Si generate_pdf = True → Se genera y guarda el PDF automáticamente
Si generate_pdf = False → No se genera PDF, pdf_url queda en NULL
Logs informativos: Muestra en consola si el PDF se generó o se omitió
Frontend v1.3.8:
Interfaz para Control de PDF:
Checkbox nuevo en modal de edición de checklist: "Generar PDF automáticamente al completar inspección"
Estado por defecto: Activado (mantiene comportamiento actual)
Persistencia: El valor se guarda en la base de datos al editar checklist
Dónde está:
Admin → Checklists → Click en "✏️ Editar" de cualquier checklist
Debajo del checkbox de "Habilitar sistema de puntuación"
2025-12-08 09:44:33 -03:00
c4f5d960de Nueva Funcionalidad: 3 Estados para Adjuntos (Ninguno/Opcional/Obligatorio)
He implementado el sistema de 3 estados para el requisito de fotos/archivos que solicitaste.

Problema Original:
Solo había 2 estados:

 Permitir fotos (checkbox activado)
 No permitir fotos (checkbox desactivado)
Faltaba: Fotos opcionales vs obligatorias

Solución Implementada:
3 Estados disponibles:

🚫 No permitir adjuntos (photo_requirement = 'none')

No se muestra el input de fotos
El mecánico NO puede adjuntar archivos
📎 Opcional (photo_requirement = 'optional')

Se muestra el input de fotos
El mecánico PUEDE adjuntar si lo desea
No es obligatorio para continuar
⚠️ Obligatorio (photo_requirement = 'required')

Se muestra el input de fotos con etiqueta "OBLIGATORIO"
El mecánico DEBE adjuntar al menos 1 archivo
Validación bloquea continuar sin adjuntos
2025-12-02 22:22:51 -03:00
c374909fa8 Chat AI Assistant con Archivos Adjuntos Implementado
🎯 Nueva Funcionalidad Completa
Se ha implementado un sistema de chat conversacional con IA que permite adjuntar archivos (imágenes y PDFs), similar a ChatGPT, con prompt personalizable y envío completo al webhook.

📋 Características Implementadas
1. Adjuntar Archivos en el Chat
 Botón 📎 para adjuntar archivos
 Soporte para imágenes (JPG, PNG, etc.) y PDFs
 Preview de archivos adjuntos antes de enviar
 Eliminación individual de archivos adjuntos
 Múltiples archivos por mensaje
 Validación de tipos de archivo
2. Procesamiento Backend de Archivos
 Endpoint modificado para recibir FormData con archivos
 PDFs: Extracción automática de texto con pypdf
 Imágenes: Conversión a base64 para Vision AI
 Análisis combinado de texto + imágenes
 Límite de 2000 caracteres por PDF para optimizar
3. Integración con IA
 OpenAI Vision: Soporte multimodal (texto + imágenes)
 Gemini: Soporte de imágenes y texto
 Contexto enriquecido con archivos adjuntos
 Prompts adaptados según tipo de archivo
4. Custom Prompt por Checklist
 Campo assistant_prompt configurable por pregunta
 Campo assistant_instructions para instrucciones adicionales
 Control de longitud de respuesta (short/medium/long)
 Contexto automático del vehículo en cada mensaje
5. Persistencia del Chat
 Nuevo campo chat_history en modelo Answer
 Migración SQL: add_chat_history_to_answers.sql
 Guardado automático del historial completo
 Restauración del chat al reabrir
6. Envío al Webhook (n8n)
 Todos los chats incluidos en send_completed_inspection_to_n8n()
 Campo chat_history en cada respuesta del webhook
 Incluye metadata de archivos adjuntos
 Tipo de pregunta identificado en webhook
 Datos completos para análisis posterior
2025-12-02 11:22:21 -03:00
ed3f513075 Backend v1.0.71:
- Implementado soft delete para preguntas
- Nuevas columnas: is_deleted (boolean), updated_at (timestamp)
- Migración SQL: add_soft_delete_to_questions.sql
- Endpoint DELETE marca preguntas como eliminadas en lugar de borrarlas
- GET /api/checklists/{id} filtra preguntas eliminadas (is_deleted=false)
- Validación de subpreguntas activas antes de eliminar
- Índices agregados para optimizar queries
- Mantiene integridad de respuestas históricas y PDFs generados
- Permite limpiar checklists sin afectar inspecciones completadas
2025-11-27 15:32:56 -03:00
5b82418f0a Agregar en el Modal campo de Nro Operario back y front 2025-11-26 01:35:03 -03:00
822ab5a1cb Actualziacion de analisis de ia con las imagenes y se agrega el campo de cod operario en el front y en el back 2025-11-26 01:20:26 -03:00
683e260c79 IA va a tener Contexto de la primera plantilal de las Inspecciones backend 1.0.42 frontend 1.0.40 2025-11-25 23:45:20 -03:00
1ef07ad2c5 Cambios Grandes, editro nuevo de preguntas, logica nueva con mas opciones de pregutnas con preguntas hijos hasta 5 niveles 2025-11-25 22:23:21 -03:00
e8d3e7ef7b backend y front trabajar por version de historial de cambios 2025-11-25 09:55:21 -03:00
eb94d8ccfc backend crear endpoitns para permisos de checklist por mecanico, 1.0.30 2025-11-25 09:22:38 -03:00