# EPICA: EPIC-VT-006 - Templado (Control de Hornos)

## Metadata

| Campo | Valor |
|-------|-------|
| **ID** | EPIC-VT-006 |
| **Nombre** | Templado (Control de Hornos) |
| **Modulo** | templado |
| **Fase** | Fase 1 - MVP |
| **Prioridad** | P0 (Critico) |
| **Estado** | Backlog |
| **Story Points** | 40 |
| **Sprint(s)** | Sprint 6-7 |

---

## Descripcion

Módulo 100% nuevo para control del proceso de templado de vidrio. Gestiona hornos de templado, registra parámetros críticos (temperatura, tiempo, presión de aire), agrupa piezas por espesor para optimizar cargas y mantiene historial para trazabilidad de calidad.

---

## Objetivo de Negocio

- Control preciso del proceso de templado
- Trazabilidad de parámetros por lote
- Optimizar cargas de horno por espesor
- Reducir rechazos por mal templado
- Cumplimiento de normas de calidad

---

## Historias de Usuario

| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-VT006-001 | Como operador de horno, quiero ver piezas cortadas agrupadas por espesor para planificar carga | P0 | 5 | Backlog |
| US-VT006-002 | Como operador de horno, quiero crear lote de templado seleccionando piezas compatibles | P0 | 5 | Backlog |
| US-VT006-003 | Como operador de horno, quiero registrar parámetros de templado (temp, tiempo, presión) | P0 | 5 | Backlog |
| US-VT006-004 | Como operador de horno, quiero ver receta recomendada según espesor del vidrio | P0 | 3 | Backlog |
| US-VT006-005 | Como operador de horno, quiero marcar lote como templado para avanzar a QC | P0 | 3 | Backlog |
| US-VT006-006 | Como jefe de producción, quiero ver estado de hornos en tiempo real | P0 | 5 | Backlog |
| US-VT006-007 | Como jefe de producción, quiero ver métricas de uso de hornos para medir eficiencia | P1 | 5 | Backlog |
| US-VT006-008 | Como admin, quiero configurar hornos disponibles con sus capacidades | P0 | 3 | Backlog |
| US-VT006-009 | Como admin, quiero definir recetas de templado por espesor de vidrio | P0 | 3 | Backlog |
| US-VT006-010 | Como mantenimiento, quiero registrar mantenimientos de horno para historial | P2 | 3 | Backlog |

**Total Story Points:** 40 SP

---

## Proceso de Templado

```
┌─────────────────────────────────────────────────────────┐
│                    HORNO DE TEMPLADO                    │
├─────────────────────────────────────────────────────────┤
│                                                         │
│   ZONA DE CALENTAMIENTO         ZONA DE ENFRIAMIENTO    │
│   ┌─────────────────────┐      ┌─────────────────────┐  │
│   │                     │      │                     │  │
│   │   680-720°C         │ ───► │   Aire a presión    │  │
│   │   (según espesor)   │      │   (quenching)       │  │
│   │                     │      │                     │  │
│   └─────────────────────┘      └─────────────────────┘  │
│                                                         │
│   Tiempo: 40-120 seg          Presión: 3-5 bar          │
│   (según espesor)             (según espesor)           │
│                                                         │
└─────────────────────────────────────────────────────────┘

Recetas por espesor:
- 4mm: 680°C, 40 seg, 3.5 bar
- 6mm: 690°C, 60 seg, 4.0 bar
- 8mm: 700°C, 80 seg, 4.5 bar
- 10mm: 710°C, 100 seg, 5.0 bar
- 12mm: 720°C, 120 seg, 5.0 bar
```

---

## Estados de Lote de Templado

```
┌─────────────┐
│  PREPARANDO │  ← Seleccionando piezas
└──────┬──────┘
       │
       ▼
┌─────────────┐
│  CARGANDO   │  ← Piezas entrando al horno
└──────┬──────┘
       │
       ▼
┌─────────────┐
│  EN_PROCESO │  ← Templado en curso
└──────┬──────┘
       │
       ▼
┌─────────────┐
│  ENFRIANDO  │  ← Quenching activo
└──────┬──────┘
       │
       ▼
┌─────────────┐
│ DESCARGANDO │  ← Retirando piezas
└──────┬──────┘
       │
       ▼
┌─────────────┐
│  COMPLETADO │  ← Listo para QC
└─────────────┘
```

---

## Criterios de Aceptacion de la Epica

**Funcionales:**
- [ ] Ver piezas pendientes agrupadas por espesor
- [ ] Crear lote de templado con piezas seleccionadas
- [ ] Registrar parámetros reales (temp, tiempo, presión)
- [ ] Ver receta recomendada según espesor
- [ ] Dashboard de hornos en tiempo real
- [ ] Métricas de uso y eficiencia
- [ ] Configuración de hornos y recetas

**No Funcionales:**
- [ ] Actualización de estado < 5 segundos
- [ ] Historial de 1 año de lotes
- [ ] Soporte para 5+ hornos simultáneos

**Tecnicos:**
- [ ] Integración con módulo de producción
- [ ] Integración con módulo de calidad
- [ ] Alertas de desviación de parámetros
- [ ] Opcional: IoT para lectura automática

---

## Dependencias

**Esta epica depende de:**
| Epica/Modulo | Estado | Bloqueante |
|--------------|--------|------------|
| EPIC-VT-001 Fundamentos | Backlog | Si |
| EPIC-VT-003 Produccion | Backlog | Si |
| EPIC-VT-005 Corte | Backlog | Si |

**Esta epica bloquea:**
| Epica/Modulo | Razon |
|--------------|-------|
| EPIC-VT-007 Calidad | Requiere piezas templadas |

---

## Desglose Tecnico

**Database:**
- [ ] Schema: `tempering`
- [ ] Tablas: 6 (ovens, tempering_batches, batch_pieces, recipes, parameters_log, maintenance)
- [ ] Funciones: 2 (validate_parameters, calculate_efficiency)
- [ ] Indices: Por horno, lote, fecha, estado

**Backend:**
- [ ] Modulo: `tempering`
- [ ] Entities: 5 (Oven, TemperingBatch, BatchPiece, Recipe, ParametersLog)
- [ ] Endpoints: 14
- [ ] Tests: 28

**Frontend:**
- [ ] Paginas: 4 (OvensDashboard, BatchCreate, BatchDetail, OvenConfig)
- [ ] Componentes: 12 (OvenStatus, BatchForm, ParametersInput, RecipeCard, etc.)
- [ ] Stores: 1 (temperingStore)

---

## Endpoints API

| Metodo | Endpoint | Descripcion |
|--------|----------|-------------|
| GET | /api/tempering/ovens | Listar hornos |
| GET | /api/tempering/ovens/:id | Estado de horno |
| POST | /api/tempering/batches | Crear lote |
| GET | /api/tempering/batches/:id | Detalle de lote |
| POST | /api/tempering/batches/:id/start | Iniciar templado |
| POST | /api/tempering/batches/:id/parameters | Registrar parámetros |
| POST | /api/tempering/batches/:id/complete | Completar templado |
| GET | /api/tempering/recipes | Listar recetas |
| POST | /api/tempering/recipes | Crear receta |
| GET | /api/tempering/metrics | Métricas de hornos |
| GET | /api/tempering/pending | Piezas pendientes de templar |

---

## Riesgos

| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Parámetros fuera de rango | Media | Alto | Alertas en tiempo real |
| Mezcla de espesores | Baja | Alto | Validación al crear lote |
| Horno sobrecargado | Media | Medio | Límite de capacidad por horno |

---

## Nota Técnica

Este módulo es **100% nuevo** y no tiene equivalente en el ERP-Core. Es específico para la industria del vidrio templado y debe considerar:

- Recetas de templado específicas por espesor
- No mezclar espesores en un mismo lote
- Parámetros críticos: temperatura, tiempo, presión de quenching
- Trazabilidad para certificaciones de calidad
- Potencial integración IoT con sensores del horno

---

## Definition of Ready (DoR)

- [x] Historias de usuario definidas
- [x] Criterios de aceptacion claros
- [x] Dependencias identificadas
- [x] Estimacion completada
- [ ] Recetas de templado validadas con producción
- [ ] Hornos y capacidades documentados

## Definition of Done (DoD)

- [ ] Gestión de lotes funcionando
- [ ] Registro de parámetros operativo
- [ ] Dashboard de hornos en tiempo real
- [ ] Recetas configurables
- [ ] Tests de integración pasando
- [ ] Documentación de API

---

## Historial

| Fecha | Cambio | Autor |
|-------|--------|-------|
| 2025-12-08 | Creacion de epica | Claude-Agent |

---

**Creada por:** Claude-Agent
**Fecha:** 2025-12-08
**Ultima actualizacion:** 2025-12-08
