erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-004-inventario/historias-usuario/US-MMD004-008-codigos-alternos.md

109 lines
2.5 KiB
Markdown

# US-MMD004-008: Gestionar Codigos Alternos
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | US-MMD004-008 |
| **Epica** | EPIC-MMD-004 - Inventario y Refacciones |
| **Modulo** | inventario |
| **Prioridad** | P2 |
| **Story Points** | 3 |
| **Sprint** | Sprint 6 |
| **Estado** | Backlog |
---
## Historia de Usuario
**Como** almacenista,
**quiero** registrar codigos alternos de refacciones,
**para** encontrar piezas usando cualquier numero de parte del fabricante.
## Descripcion Detallada
Una misma refaccion puede tener multiples numeros de parte segun el fabricante (OEM, aftermarket, equivalentes). El sistema debe permitir buscar por cualquiera de estos codigos.
---
## Criterios de Aceptacion
**Escenario 1: Agregar codigo alterno**
```gherkin
DADO que edito refaccion "Filtro aceite ISX"
CUANDO agrego codigos alternos:
| Codigo | Fabricante |
| LF14000NN | Fleetguard |
| P551807 | Donaldson |
| 3406754 | Cummins OEM |
ENTONCES se guardan como equivalencias
```
**Escenario 2: Buscar por codigo alterno**
```gherkin
DADO que busco "P551807"
CUANDO el codigo es alterno
ENTONCES encuentra la refaccion principal
Y muestra todos los codigos equivalentes
```
**Escenario 3: Importar equivalencias**
```gherkin
DADO que tengo lista de equivalencias en Excel
CUANDO importo el archivo
ENTONCES se crean las relaciones:
| Principal | Alterno | Fabricante |
| INT-001 | LF14000NN | Fleetguard |
| INT-001 | P551807 | Donaldson |
```
**Escenario 4: Marcar preferido**
```gherkin
DADO que tenemos multiples equivalentes
CUANDO marco "LF14000NN" como preferido
ENTONCES este codigo aparece en cotizaciones
Y se sugiere al hacer pedidos
```
**Escenario 5: Codigo duplicado**
```gherkin
DADO que ingreso codigo alterno
CUANDO ya existe en otra refaccion
ENTONCES el sistema advierte:
"Codigo P551807 ya asociado a Filtro X"
Y pregunta si crear relacion
```
---
## Tareas Tecnicas
**Database:**
- [ ] DB-090: Crear tabla `part_alternates`
- [ ] DB-091: Indice unico en alternate_code
**Backend:**
- [ ] BE-181: CRUD codigos alternos
- [ ] BE-182: Busqueda por codigo alterno
- [ ] BE-183: Import de equivalencias
**Frontend:**
- [ ] FE-178: Crear AlternateCodesEditor
- [ ] FE-179: Crear ImportEquivalences modal
---
## Definition of Done (DoD)
- [ ] CRUD de codigos alternos
- [ ] Busqueda por codigo alterno
- [ ] Importar equivalencias
- [ ] Marcar preferido
- [ ] Validar duplicados
- [ ] Tests pasando
---
**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06