211 lines
7.5 KiB
Markdown
211 lines
7.5 KiB
Markdown
# EPICA: EPIC-VT-005 - Corte (Nesting)
|
|
|
|
## Metadata
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| **ID** | EPIC-VT-005 |
|
|
| **Nombre** | Corte (Nesting) |
|
|
| **Modulo** | corte |
|
|
| **Fase** | Fase 1 - MVP |
|
|
| **Prioridad** | P0 (Critico) |
|
|
| **Estado** | Backlog |
|
|
| **Story Points** | 45 |
|
|
| **Sprint(s)** | Sprint 5-6 |
|
|
|
|
---
|
|
|
|
## Descripcion
|
|
|
|
Módulo 100% nuevo especializado en optimización de corte de vidrio. Implementa algoritmos de nesting para maximizar aprovechamiento de láminas, minimizando desperdicio. Incluye visualización gráfica del plan de corte y gestión de retazos aprovechables.
|
|
|
|
---
|
|
|
|
## Objetivo de Negocio
|
|
|
|
- Reducir desperdicio de material en 20-30%
|
|
- Optimizar uso de láminas completas
|
|
- Aprovechar retazos para piezas pequeñas
|
|
- Reducir tiempo de planificación de corte
|
|
- Trazabilidad de material por pieza
|
|
|
|
---
|
|
|
|
## Historias de Usuario
|
|
|
|
| ID | Historia | Prioridad | SP | Estado |
|
|
|----|----------|-----------|-----|--------|
|
|
| US-VT005-001 | Como planificador, quiero generar plan de corte automático que minimice desperdicio | P0 | 13 | Backlog |
|
|
| US-VT005-002 | Como planificador, quiero visualizar gráficamente el plan de corte para validarlo | P0 | 8 | Backlog |
|
|
| US-VT005-003 | Como planificador, quiero ajustar manualmente posición de piezas en lámina para optimizar | P1 | 5 | Backlog |
|
|
| US-VT005-004 | Como operador de corte, quiero ver plan de corte en pantalla junto a mesa para ejecutar | P0 | 3 | Backlog |
|
|
| US-VT005-005 | Como operador de corte, quiero marcar piezas cortadas para registrar avance | P0 | 3 | Backlog |
|
|
| US-VT005-006 | Como almacenista, quiero registrar retazos aprovechables para reutilizar | P0 | 3 | Backlog |
|
|
| US-VT005-007 | Como planificador, quiero incluir retazos disponibles en plan de corte para aprovecharlos | P1 | 5 | Backlog |
|
|
| US-VT005-008 | Como jefe de producción, quiero ver métricas de desperdicio por lámina para medir eficiencia | P1 | 3 | Backlog |
|
|
| US-VT005-009 | Como admin, quiero configurar margen de corte (kerf) por tipo de máquina | P2 | 2 | Backlog |
|
|
|
|
**Total Story Points:** 45 SP
|
|
|
|
---
|
|
|
|
## Algoritmo de Nesting
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────┐
|
|
│ LÁMINA 2440 x 1830 mm │
|
|
│ ┌──────────────┐ ┌──────────────┐ ┌────────┐ │
|
|
│ │ │ │ │ │ │ │
|
|
│ │ Pieza 1 │ │ Pieza 2 │ │ P3 │ │
|
|
│ │ 800x600 │ │ 700x500 │ │ 400x │ │
|
|
│ │ │ │ │ │ 500 │ │
|
|
│ └──────────────┘ └──────────────┘ └────────┘ │
|
|
│ ┌──────────────┐ ┌─────────┐ ┌──────────────┐ │
|
|
│ │ │ │ │ │ │ │
|
|
│ │ Pieza 4 │ │ P5 │ │ RETAZO │ │
|
|
│ │ 600x400 │ │ 300x │ │ Aprovechable│ │
|
|
│ │ │ │ 400 │ │ │ │
|
|
│ └──────────────┘ └─────────┘ └──────────────┘ │
|
|
│ ┌────────────────────────────────────────────┐ │
|
|
│ │ DESPERDICIO (no aprovechable) │ │
|
|
│ └────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────┘
|
|
|
|
Aprovechamiento: 87%
|
|
Retazo: 8%
|
|
Desperdicio: 5%
|
|
```
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion de la Epica
|
|
|
|
**Funcionales:**
|
|
- [ ] Generar plan de corte automático (algoritmo bin packing)
|
|
- [ ] Visualización gráfica del plan de corte
|
|
- [ ] Edición manual de posiciones
|
|
- [ ] Considerar margen de corte (kerf)
|
|
- [ ] Registro de retazos aprovechables
|
|
- [ ] Inclusión de retazos en planes
|
|
- [ ] Métricas de aprovechamiento
|
|
|
|
**No Funcionales:**
|
|
- [ ] Generación de plan < 10 segundos para 50 piezas
|
|
- [ ] Aprovechamiento mínimo 80%
|
|
- [ ] Visualización responsive para pantallas de planta
|
|
|
|
**Tecnicos:**
|
|
- [ ] Algoritmo de nesting (bin packing 2D)
|
|
- [ ] Integración con inventario
|
|
- [ ] Integración con producción
|
|
- [ ] Canvas/SVG para visualización
|
|
|
|
---
|
|
|
|
## Dependencias
|
|
|
|
**Esta epica depende de:**
|
|
| Epica/Modulo | Estado | Bloqueante |
|
|
|--------------|--------|------------|
|
|
| EPIC-VT-001 Fundamentos | Backlog | Si |
|
|
| EPIC-VT-003 Produccion | Backlog | Si |
|
|
| EPIC-VT-004 Inventario | Backlog | Si |
|
|
|
|
**Esta epica bloquea:**
|
|
| Epica/Modulo | Razon |
|
|
|--------------|-------|
|
|
| EPIC-VT-006 Templado | Requiere piezas cortadas |
|
|
|
|
---
|
|
|
|
## Desglose Tecnico
|
|
|
|
**Database:**
|
|
- [ ] Schema: `cutting`
|
|
- [ ] Tablas: 5 (cutting_plans, plan_pieces, remnants, machines, cut_logs)
|
|
- [ ] Funciones: 2 (calculate_waste, register_remnant)
|
|
- [ ] Indices: Por lámina, orden, estado
|
|
|
|
**Backend:**
|
|
- [ ] Modulo: `cutting`
|
|
- [ ] Entities: 4 (CuttingPlan, PlanPiece, Remnant, CutLog)
|
|
- [ ] Services: NestingService (algoritmo)
|
|
- [ ] Endpoints: 12
|
|
- [ ] Tests: 25
|
|
|
|
**Frontend:**
|
|
- [ ] Paginas: 3 (CuttingPlans, PlanViewer, Remnants)
|
|
- [ ] Componentes: 10 (CuttingCanvas, PieceEditor, WasteMetrics, etc.)
|
|
- [ ] Stores: 1 (cuttingStore)
|
|
|
|
---
|
|
|
|
## Endpoints API
|
|
|
|
| Metodo | Endpoint | Descripcion |
|
|
|--------|----------|-------------|
|
|
| POST | /api/cutting/plans | Crear plan de corte |
|
|
| GET | /api/cutting/plans/:id | Ver plan de corte |
|
|
| POST | /api/cutting/plans/:id/optimize | Ejecutar nesting |
|
|
| PATCH | /api/cutting/plans/:id/pieces | Ajustar posiciones |
|
|
| POST | /api/cutting/plans/:id/execute | Ejecutar corte |
|
|
| POST | /api/cutting/plans/:id/pieces/:pieceId/cut | Marcar pieza cortada |
|
|
| GET | /api/cutting/remnants | Listar retazos |
|
|
| POST | /api/cutting/remnants | Registrar retazo |
|
|
| GET | /api/cutting/metrics | Métricas de desperdicio |
|
|
|
|
---
|
|
|
|
## Riesgos
|
|
|
|
| Riesgo | Probabilidad | Impacto | Mitigacion |
|
|
|--------|--------------|---------|------------|
|
|
| Algoritmo no óptimo | Media | Alto | Benchmarks vs soluciones comerciales |
|
|
| Rotación incorrecta de piezas | Media | Medio | Considerar dirección del vidrio |
|
|
| Retazos no aprovechados | Alta | Medio | Alertas de retazos disponibles |
|
|
|
|
---
|
|
|
|
## Nota Técnica
|
|
|
|
Este módulo es **100% nuevo** y no tiene equivalente en el ERP-Core. El algoritmo de nesting es específico para la industria del vidrio y debe considerar:
|
|
|
|
- Dirección del vidrio (no todas las piezas pueden rotar)
|
|
- Margen de corte (kerf) variable por máquina
|
|
- Dimensiones máximas de láminas estándar
|
|
- Retazos mínimos aprovechables
|
|
|
|
---
|
|
|
|
## Definition of Ready (DoR)
|
|
|
|
- [x] Historias de usuario definidas
|
|
- [x] Criterios de aceptacion claros
|
|
- [x] Dependencias identificadas
|
|
- [x] Estimacion completada
|
|
- [ ] Investigación de algoritmos de nesting
|
|
- [ ] Definición de tamaño mínimo de retazo
|
|
|
|
## Definition of Done (DoD)
|
|
|
|
- [ ] Algoritmo de nesting funcionando
|
|
- [ ] Visualización gráfica de planes
|
|
- [ ] Registro de retazos operativo
|
|
- [ ] Métricas de aprovechamiento
|
|
- [ ] Tests de algoritmo
|
|
- [ ] 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
|