- Updated docs and inventory files - Added new architecture docs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
157 lines
7.1 KiB
Markdown
157 lines
7.1 KiB
Markdown
# US-MAI005-008: Configurar reglas de asignacion
|
|
|
|
**ID:** US-MAI005-008
|
|
**Modulo:** MAI-005 (Despacho)
|
|
**Prioridad:** Media
|
|
**Story Points:** 5
|
|
|
|
---
|
|
|
|
## Historia de Usuario
|
|
|
|
**Como** administrador de operaciones
|
|
**Quiero** definir y configurar los criterios de scoring para asignacion de unidades
|
|
**Para** adaptar el algoritmo a las prioridades del negocio y mejorar la eficiencia operativa
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion
|
|
|
|
### CA-001: Listar reglas existentes
|
|
**Dado** que accedo a la configuracion de despacho
|
|
**Cuando** entro a la seccion de reglas de asignacion
|
|
**Entonces** veo todas las reglas definidas con su nombre, prioridad y estado (activa/inactiva)
|
|
|
|
### CA-002: Crear nueva regla
|
|
**Dado** que quiero personalizar el algoritmo
|
|
**Cuando** creo una nueva regla de asignacion
|
|
**Entonces** puedo definir nombre, condiciones, pesos de criterios y prioridad
|
|
|
|
### CA-003: Definir condiciones de aplicacion
|
|
**Dado** que estoy creando una regla
|
|
**Cuando** defino las condiciones
|
|
**Entonces** puedo especificar: tipos de viaje, clientes, rutas, horarios
|
|
|
|
### CA-004: Ajustar pesos de criterios
|
|
**Dado** que estoy editando una regla
|
|
**Cuando** modifico los pesos
|
|
**Entonces** puedo ajustar el porcentaje de distancia, capacidad, disponibilidad y skills (sumando 100%)
|
|
|
|
### CA-005: Validar suma de pesos
|
|
**Dado** que modifico los pesos de criterios
|
|
**Cuando** la suma no es igual a 100%
|
|
**Entonces** el sistema muestra error y no permite guardar
|
|
|
|
### CA-006: Previsualizar impacto
|
|
**Dado** que modifique los pesos de una regla
|
|
**Cuando** solicito previsualizacion
|
|
**Entonces** veo como cambiarian los scores de viajes recientes con la nueva configuracion
|
|
|
|
### CA-007: Activar/desactivar regla
|
|
**Dado** que tengo una regla creada
|
|
**Cuando** cambio su estado
|
|
**Entonces** la regla se activa o desactiva sin eliminarla
|
|
|
|
### CA-008: Definir prioridad entre reglas
|
|
**Dado** que tengo multiples reglas
|
|
**Cuando** un viaje cumple condiciones de varias reglas
|
|
**Entonces** se aplica la regla con mayor prioridad
|
|
|
|
---
|
|
|
|
## Mockup / UI
|
|
|
|
```
|
|
+-----------------------------------------------------------------------+
|
|
| CONFIGURACION - REGLAS DE ASIGNACION |
|
|
+-----------------------------------------------------------------------+
|
|
| [+ Nueva Regla] Buscar: [_______] |
|
|
+-----------------------------------------------------------------------+
|
|
| |
|
|
| +----------------------------------------------------------------+ |
|
|
| | REGLA: Clientes VIP Prioridad: 1 | |
|
|
| | Estado: ACTIVA | |
|
|
| | Condiciones: Clientes categoria 'VIP' | |
|
|
| | Pesos: Dist 30% | Cap 25% | Disp 25% | Skills 20% | |
|
|
| | [Editar] [Previsualizar] [Desactivar] | |
|
|
| +----------------------------------------------------------------+ |
|
|
| |
|
|
| +----------------------------------------------------------------+ |
|
|
| | REGLA: Cargas HAZMAT Prioridad: 2 | |
|
|
| | Estado: ACTIVA | |
|
|
| | Condiciones: Viajes con skill 'HAZMAT' | |
|
|
| | Pesos: Dist 25% | Cap 20% | Disp 20% | Skills 35% | |
|
|
| | [Editar] [Previsualizar] [Desactivar] | |
|
|
| +----------------------------------------------------------------+ |
|
|
| |
|
|
| +----------------------------------------------------------------+ |
|
|
| | REGLA: Default Prioridad: 99 | |
|
|
| | Estado: ACTIVA (Sistema) | |
|
|
| | Condiciones: Todos los viajes | |
|
|
| | Pesos: Dist 40% | Cap 25% | Disp 20% | Skills 15% | |
|
|
| | [Editar] [Previsualizar] [--] | |
|
|
| +----------------------------------------------------------------+ |
|
|
| |
|
|
+-----------------------------------------------------------------------+
|
|
|
|
+-----------------------------------------------------------------------+
|
|
| EDITAR REGLA: Clientes VIP [X] |
|
|
+-----------------------------------------------------------------------+
|
|
| |
|
|
| Nombre: [Clientes VIP_________________] |
|
|
| Prioridad: [1] |
|
|
| |
|
|
| CONDICIONES (todas deben cumplirse) |
|
|
| +----------------------------------------------------------------+ |
|
|
| | Tipo de viaje: [ ] Todos [x] Nacional [ ] Local | |
|
|
| | Clientes: [x] Solo VIP [ ] Todos | |
|
|
| | Rutas: [ ] Todas [ ] Especificas: [Seleccionar...] | |
|
|
| | Horario: [ ] Todo el dia [x] 06:00 - 18:00 | |
|
|
| +----------------------------------------------------------------+ |
|
|
| |
|
|
| PESOS DE CRITERIOS (Total: 100%) |
|
|
| +----------------------------------------------------------------+ |
|
|
| | Distancia: [====30%====]------- | |
|
|
| | Capacidad: [===25%===]--------- | |
|
|
| | Disponibilidad: [===25%===]--------- | |
|
|
| | Skills: [==20%==]----------- | |
|
|
| +----------------------------------------------------------------+ |
|
|
| | Total: 100% [OK] | |
|
|
| +----------------------------------------------------------------+ |
|
|
| |
|
|
| [Cancelar] [Previsualizar Impacto] [Guardar] |
|
|
| |
|
|
+-----------------------------------------------------------------------+
|
|
```
|
|
|
|
---
|
|
|
|
## Notas Tecnicas
|
|
|
|
- Tabla `dispatch_rules` para persistir reglas
|
|
- Regla "Default" no puede eliminarse ni desactivarse
|
|
- Prioridad menor = mayor importancia (1 es maxima prioridad)
|
|
- Condiciones se almacenan como JSONB
|
|
- Pesos se validan en backend (sum = 100)
|
|
- Cache de reglas con invalidacion al modificar
|
|
- Endpoint `POST /api/dispatch/rules/preview` para simulacion
|
|
|
|
---
|
|
|
|
## Definicion de Done
|
|
|
|
- [ ] CRUD completo de reglas de asignacion
|
|
- [ ] UI de lista de reglas con estado
|
|
- [ ] Formulario de edicion con sliders de pesos
|
|
- [ ] Validacion de suma de pesos = 100%
|
|
- [ ] Editor de condiciones (clientes, rutas, horarios)
|
|
- [ ] Funcion de previsualizacion de impacto
|
|
- [ ] Activar/desactivar reglas
|
|
- [ ] Proteccion de regla Default
|
|
- [ ] Tests unitarios de validaciones
|
|
- [ ] Tests de integracion de CRUD
|
|
|
|
---
|
|
|
|
*US-MAI005-008 - Modulo MAI-005 - ERP Transportistas*
|