erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-004-inventario/historias-usuario/US-MMD004-009-ubicaciones.md

128 lines
2.6 KiB
Markdown

# US-MMD004-009: Gestionar Ubicaciones de Almacen
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | US-MMD004-009 |
| **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** definir ubicaciones de almacen,
**para** localizar rapidamente las refacciones.
## Descripcion Detallada
El sistema de ubicaciones permite organizar fisicamente el almacen con un esquema jerarquico (zona, pasillo, anaquel, nivel) para localizar rapidamente cualquier refaccion.
---
## Criterios de Aceptacion
**Escenario 1: Crear estructura de ubicaciones**
```gherkin
DADO que configuro el almacen
CUANDO defino estructura:
| Zona | Descripcion |
| A | Filtros y lubricantes |
| B | Inyectores y bombas |
| C | Partes electricas |
ENTONCES se crea el arbol de ubicaciones
```
**Escenario 2: Ubicacion completa**
```gherkin
DADO que creo ubicacion
CUANDO defino "A-01-03"
ENTONCES significa:
| Parte | Valor | Descripcion |
| Zona | A | Filtros |
| Pasillo | 01 | Pasillo 1 |
| Nivel | 03 | Tercer nivel |
```
**Escenario 3: Asignar refaccion a ubicacion**
```gherkin
DADO que tengo refaccion sin ubicar
CUANDO asigno ubicacion "B-02-01"
ENTONCES la refaccion queda ubicada
Y aparece en busqueda por ubicacion
```
**Escenario 4: Mapa visual de almacen**
```gherkin
DADO que accedo al mapa de almacen
CUANDO veo zona A
ENTONCES muestra layout visual:
- Pasillos con ocupacion
- Niveles con codigo de color
- Click para ver contenido
```
**Escenario 5: Ubicacion multiple**
```gherkin
DADO que una refaccion esta en varias ubicaciones
CUANDO consulto
ENTONCES veo todas:
| Ubicacion | Cantidad |
| A-01-03 | 10 |
| A-02-01 | 5 |
| Total | 15 |
```
---
## Esquema de Ubicacion
```
[Zona]-[Pasillo]-[Nivel]
Ejemplo: A-01-03
- A: Zona (1 letra)
- 01: Pasillo (2 digitos)
- 03: Nivel (2 digitos)
```
---
## Tareas Tecnicas
**Database:**
- [ ] DB-092: Crear tabla `warehouse_locations`
- [ ] DB-093: Crear tabla `part_locations` (many-to-many)
**Backend:**
- [ ] BE-184: CRUD ubicaciones
- [ ] BE-185: Asignar refacciones a ubicaciones
- [ ] BE-186: Buscar por ubicacion
**Frontend:**
- [ ] FE-180: Crear LocationsManager
- [ ] FE-181: Crear WarehouseMap visual
- [ ] FE-182: Crear LocationPicker
---
## Definition of Done (DoD)
- [ ] CRUD de ubicaciones
- [ ] Estructura jerarquica
- [ ] Asignar refacciones
- [ ] Vista de mapa (basico)
- [ ] Multi-ubicacion
- [ ] Tests pasando
---
**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06