erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-002-ordenes-servicio/historias-usuario/US-MMD002-011-estados-personalizados.md

120 lines
2.8 KiB
Markdown

# US-MMD002-011: Configurar Estados Personalizados
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | US-MMD002-011 |
| **Epica** | EPIC-MMD-002 - Ordenes de Servicio |
| **Modulo** | ordenes-servicio |
| **Prioridad** | P2 |
| **Story Points** | 3 |
| **Sprint** | Sprint 6 |
| **Estado** | Backlog |
---
## Historia de Usuario
**Como** administrador,
**quiero** configurar estados personalizados de orden,
**para** adaptar el flujo de trabajo a mi proceso especifico.
## Descripcion Detallada
Cada taller puede tener procesos ligeramente diferentes. Permitir personalizar los estados y sus transiciones da flexibilidad sin perder control.
---
## Criterios de Aceptacion
**Escenario 1: Ver estados actuales**
```gherkin
DADO que accedo a configuracion de estados
CUANDO veo la lista
ENTONCES veo los estados predefinidos:
| Estado | Color | Orden | Editable |
| RECIBIDO | Gris | 1 | No |
| EN_DIAGNOSTICO | Azul | 2 | Si |
| COTIZADO | Amarillo | 3 | Si |
| APROBADO | Verde | 4 | Si |
| EN_REPARACION | Naranja | 5 | Si |
| LISTO | Verde | 6 | No |
| ENTREGADO | Gris | 7 | No |
```
**Escenario 2: Agregar estado personalizado**
```gherkin
DADO que mi proceso incluye "Control de Calidad"
CUANDO agrego nuevo estado:
| Nombre | CONTROL_CALIDAD |
| Etiqueta | Control de Calidad |
| Color | Morado |
| Despues de | EN_REPARACION |
ENTONCES el nuevo estado aparece en el flujo
```
**Escenario 3: Configurar transiciones**
```gherkin
DADO que configure el estado CONTROL_CALIDAD
CUANDO defino transiciones:
| Desde | Hacia |
| EN_REPARACION | CONTROL_CALIDAD |
| CONTROL_CALIDAD | LISTO |
| CONTROL_CALIDAD | EN_REPARACION |
ENTONCES solo esas transiciones son permitidas
```
**Escenario 4: Renombrar estado**
```gherkin
DADO que quiero cambiar etiqueta
CUANDO renombro "EN_DIAGNOSTICO" a "Evaluacion Inicial"
ENTONCES se muestra con el nuevo nombre
Y el codigo interno no cambia
```
---
## Estados Base (No editables)
| Estado | Razon |
|--------|-------|
| RECIBIDO | Inicio del flujo |
| LISTO | Trigger de notificacion |
| ENTREGADO | Cierre del flujo |
| CANCELADO | Estado terminal |
---
## Tareas Tecnicas
**Database:**
- [ ] DB-063: Crear tabla `order_status_config`
- [ ] DB-064: Crear tabla `status_transitions`
**Backend:**
- [ ] BE-127: CRUD de estados personalizados
- [ ] BE-128: Validar transiciones configuradas
- [ ] BE-129: Proteger estados base
**Frontend:**
- [ ] FE-128: Crear StatusConfigPage
- [ ] FE-129: Editor visual de flujo
- [ ] FE-130: Selector de colores
---
## Definition of Done (DoD)
- [ ] Ver estados configurados
- [ ] Agregar estado personalizado
- [ ] Configurar transiciones
- [ ] Renombrar etiquetas
- [ ] Estados base protegidos
- [ ] Tests pasando
---
**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06