- Updated docs and inventory files - Added new architecture docs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
139 lines
5.9 KiB
Markdown
139 lines
5.9 KiB
Markdown
# US-MAI005-007: Dashboard de unidades en tiempo real
|
|
|
|
**ID:** US-MAI005-007
|
|
**Modulo:** MAI-005 (Despacho)
|
|
**Prioridad:** Alta
|
|
**Story Points:** 5
|
|
|
|
---
|
|
|
|
## Historia de Usuario
|
|
|
|
**Como** despachador del centro de control
|
|
**Quiero** ver un mapa con todas las unidades de la flota en tiempo real
|
|
**Para** conocer la ubicacion y estado de cada unidad y tomar decisiones de asignacion rapidas
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion
|
|
|
|
### CA-001: Visualizar mapa con unidades
|
|
**Dado** que accedo al dashboard de despacho
|
|
**Cuando** cargo la vista de mapa
|
|
**Entonces** veo todas las unidades con GPS activo posicionadas en el mapa
|
|
|
|
### CA-002: Identificar estado por color
|
|
**Dado** que veo el mapa con unidades
|
|
**Cuando** observo cada marcador
|
|
**Entonces** el color indica el estado (verde=disponible, azul=asignada, amarillo=en_ruta, rojo=offline)
|
|
|
|
### CA-003: Ver detalle al hacer click
|
|
**Dado** que veo una unidad en el mapa
|
|
**Cuando** hago click en el marcador
|
|
**Entonces** veo popup con: codigo, operador, estado, ultimo reporte, viaje actual (si aplica)
|
|
|
|
### CA-004: Filtrar por estado
|
|
**Dado** que veo el mapa completo
|
|
**Cuando** aplico filtro por estado (ej: solo disponibles)
|
|
**Entonces** solo veo las unidades que cumplen el filtro
|
|
|
|
### CA-005: Filtrar por tipo de unidad
|
|
**Dado** que veo el mapa completo
|
|
**Cuando** aplico filtro por tipo (tractocamion, remolque, caja)
|
|
**Entonces** solo veo las unidades del tipo seleccionado
|
|
|
|
### CA-006: Actualizar en tiempo real
|
|
**Dado** que estoy viendo el mapa
|
|
**Cuando** una unidad reporta nueva ubicacion
|
|
**Entonces** el marcador se mueve a la nueva posicion sin recargar
|
|
|
|
### CA-007: Lista lateral sincronizada
|
|
**Dado** que veo el mapa
|
|
**Cuando** selecciono una unidad de la lista lateral
|
|
**Entonces** el mapa centra en esa unidad y muestra su popup
|
|
|
|
### CA-008: Indicador de antiguedad de posicion
|
|
**Dado** que veo una unidad en el mapa
|
|
**Cuando** la ultima posicion tiene mas de 5 minutos
|
|
**Entonces** el marcador muestra indicador de posicion antigua
|
|
|
|
---
|
|
|
|
## Mockup / UI
|
|
|
|
```
|
|
+-----------------------------------------------------------------------+
|
|
| CENTRO DE DESPACHO - MAPA DE UNIDADES |
|
|
+-----------------------------------------------------------------------+
|
|
| Filtros: [Estado: Todos v] [Tipo: Todos v] [Zona: CDMX v] [Buscar...] |
|
|
+-----------------------------+-----------------------------------------+
|
|
| | |
|
|
| UNIDADES (45/52 visibles) | |
|
|
| | |
|
|
| +------------------------+ | +-----+ |
|
|
| | [*] U-005 Kenworth | | / \ |
|
|
| | Juan Perez | | +---+ [U-005] |
|
|
| | DISPONIBLE | | / \ * |
|
|
| | Hace 2 min | | | CDMX \ |
|
|
| +------------------------+ | | +--+ |
|
|
| | | [U-012] \ |
|
|
| +------------------------+ | \ * | |
|
|
| | [>] U-012 Freightliner | | \ / |
|
|
| | Carlos Lopez | | +---[U-008] |
|
|
| | EN_RUTA | | * | |
|
|
| | Hace 30 seg | | | |
|
|
| +------------------------+ | [U-015] |
|
|
| | * |
|
|
| +------------------------+ | |
|
|
| | [!] U-008 International| | |
|
|
| | Roberto Sanchez | | +------------------+ |
|
|
| | OFFLINE | | | U-005 Kenworth | |
|
|
| | Hace 15 min | | | Juan Perez | |
|
|
| +------------------------+ | | DISPONIBLE | |
|
|
| | | Ult. pos: 2 min | |
|
|
| +------------------------+ | | Cap: 25 TON | |
|
|
| | [=] U-015 Volvo | | | [VER] [ASIGNAR] | |
|
|
| | Maria Garcia | | +------------------+ |
|
|
| | ASIGNADA (VJE-123) | | |
|
|
| | Hace 1 min | | |
|
|
| +------------------------+ | |
|
|
| | Leyenda: |
|
|
| [...mas unidades...] | * Verde = Disponible |
|
|
| | * Azul = Asignada |
|
|
| | * Amarillo = En Ruta |
|
|
| | * Rojo = Offline |
|
|
+-----------------------------+-----------------------------------------+
|
|
| Ultima actualizacion: 10:35:22 | Actualizacion automatica: ON |
|
|
+-----------------------------------------------------------------------+
|
|
```
|
|
|
|
---
|
|
|
|
## Notas Tecnicas
|
|
|
|
- Endpoint: `GET /api/dispatch/units/available` para lista inicial
|
|
- WebSocket para actualizaciones en tiempo real de posiciones
|
|
- Libreria de mapas: Leaflet o Google Maps (segun licencia)
|
|
- Clustering de marcadores si hay mas de 100 unidades en vista
|
|
- Cache de posiciones con TTL de 30 segundos
|
|
- Tabla `unit_status` con ultima posicion y timestamp
|
|
- Threshold de "posicion antigua": 5 minutos configurable
|
|
|
|
---
|
|
|
|
## Definicion de Done
|
|
|
|
- [ ] Mapa con marcadores de unidades implementado
|
|
- [ ] Colores por estado funcionando
|
|
- [ ] Popup con detalle de unidad
|
|
- [ ] Filtros por estado y tipo
|
|
- [ ] WebSocket para actualizaciones en tiempo real
|
|
- [ ] Lista lateral sincronizada con mapa
|
|
- [ ] Indicador de posicion antigua
|
|
- [ ] Clustering para muchas unidades
|
|
- [ ] Tests de integracion con WebSocket
|
|
|
|
---
|
|
|
|
*US-MAI005-007 - Modulo MAI-005 - ERP Transportistas*
|