4.8 KiB
4.8 KiB
US-MMD001-007: Importar Catalogos desde Excel
Metadata
| Campo | Valor |
|---|---|
| ID | US-MMD001-007 |
| Epica | EPIC-MMD-001 - Fundamentos |
| Modulo | fundamentos |
| Prioridad | P1 |
| Story Points | 5 |
| Sprint | Sprint 2 |
| Estado | Backlog |
| Asignado a | Por asignar |
Historia de Usuario
Como administrador del taller, quiero importar catalogos de servicios y refacciones desde archivos Excel, para poblar rapidamente el sistema con mis datos existentes.
Descripcion Detallada
Muchos talleres ya tienen sus catalogos en hojas de Excel. El sistema debe permitir importar estos datos de forma masiva, validando el formato y mostrando errores antes de confirmar la importacion.
Criterios de Aceptacion
Escenario 1: Descargar plantilla Excel
DADO que quiero importar servicios
CUANDO hago clic en "Descargar plantilla"
ENTONCES se descarga un archivo Excel con las columnas correctas:
| Columna | Descripcion |
| codigo | Codigo del servicio |
| nombre | Nombre del servicio |
| categoria | Categoria (DIAGNOSTICO, MOTOR, etc.) |
| unidad | Unidad de medida |
| precio | Precio unitario |
Escenario 2: Validar archivo antes de importar
DADO que subo un archivo Excel con 100 servicios
CUANDO el sistema procesa el archivo
ENTONCES muestra un resumen de validacion:
| Validos | 95 |
| Con errores | 5 |
| Total | 100 |
Y muestra los errores especificos por fila
Escenario 3: Importar registros validos
DADO que tengo 95 registros validos y 5 con errores
CUANDO confirmo la importacion
ENTONCES el sistema importa los 95 validos
Y muestra reporte: "95 servicios importados exitosamente"
Y los 5 con errores quedan pendientes de corregir
Escenario 4: Detectar duplicados
DADO que importo servicios y uno ya existe (mismo codigo)
CUANDO el sistema valida
ENTONCES marca el registro como "Duplicado"
Y permite elegir: Omitir, Actualizar, o Crear nuevo
Escenario 5: Importar refacciones
DADO que quiero importar refacciones
CUANDO subo archivo Excel con columnas:
| codigo | descripcion | categoria | unidad | costo | precio | stock_minimo |
ENTONCES el sistema valida e importa las refacciones
Plantillas Excel
Plantilla Servicios
| Columna | Tipo | Requerido | Ejemplo |
|---|---|---|---|
| codigo | texto | Si | SRV-001 |
| nombre | texto | Si | Diagnostico Computarizado |
| descripcion | texto | No | Escaneo completo... |
| categoria | texto | Si | DIAGNOSTICO |
| unidad | texto | Si | evento |
| precio | numero | Si | 500.00 |
| tiempo_estimado | numero | No | 60 |
Plantilla Refacciones
| Columna | Tipo | Requerido | Ejemplo |
|---|---|---|---|
| codigo | texto | Si | INY-0001 |
| descripcion | texto | Si | Inyector Cummins ISX |
| categoria | texto | Si | INY |
| marca | texto | No | Cummins |
| numero_oem | texto | No | 4954434 |
| unidad | texto | Si | PZA |
| costo | numero | Si | 2500.00 |
| precio | numero | Si | 3500.00 |
| stock_minimo | numero | Si | 2 |
| ubicacion | texto | No | A-01-03 |
Tareas Tecnicas
Backend:
- BE-023: Endpoint POST /api/services/import
- BE-024: Endpoint POST /api/parts/import
- BE-025: Servicio de parsing Excel (xlsx)
- BE-026: Validador de datos con reglas por tipo
- BE-027: Manejo de duplicados (omitir/actualizar)
- BE-028: Endpoint GET /api/templates/:type (descarga plantilla)
Frontend:
- FE-020: Crear ImportWizard component
- FE-021: Vista de preview con errores
- FE-022: Selector de accion para duplicados
- FE-023: Barra de progreso para importacion
- FE-024: Reporte de resultados
Dependencias
Depende de:
- US-MMD001-001: Configurar taller
- US-MMD001-003: Catalogo de servicios
Bloquea:
- Ninguno (funcionalidad de carga inicial)
Notas Tecnicas
Endpoints:
| Metodo | Endpoint | Descripcion |
|---|---|---|
| GET | /api/templates/services | Descargar plantilla servicios |
| GET | /api/templates/parts | Descargar plantilla refacciones |
| POST | /api/services/import/validate | Validar sin importar |
| POST | /api/services/import | Importar servicios |
| POST | /api/parts/import/validate | Validar sin importar |
| POST | /api/parts/import | Importar refacciones |
Librerias sugeridas:
- Backend:
xlsxoexceljspara parsing - Frontend:
react-dropzonepara upload
Limites:
- Maximo 1000 registros por archivo
- Tamanio maximo archivo: 5MB
Definition of Done (DoD)
- Plantillas descargables
- Validacion previa a importacion
- Preview de errores
- Importacion exitosa con reporte
- Manejo de duplicados
- Tests pasando
Creada por: Requirements-Analyst Fecha: 2025-12-06