erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-002-ordenes-servicio/historias-usuario/US-MMD002-007-tablero-kanban.md

6.0 KiB

US-MMD002-007: Ver Tablero Kanban de Ordenes

Metadata

Campo Valor
ID US-MMD002-007
Epica EPIC-MMD-002 - Ordenes de Servicio
Modulo ordenes-servicio
Prioridad P0
Story Points 8
Sprint Sprint 5
Estado Backlog

Historia de Usuario

Como jefe de taller, quiero ver un tablero Kanban con todas las ordenes activas, para tener visibilidad del estado de cada servicio y detectar cuellos de botella.

Descripcion Detallada

El tablero Kanban muestra las ordenes agrupadas por estado en columnas. Permite visualizar rapidamente cuantas ordenes hay en cada etapa y su tiempo de permanencia. Opcionalmente permite arrastrar ordenes entre columnas.


Criterios de Aceptacion

Escenario 1: Ver tablero con columnas de estado

DADO que accedo al tablero Kanban
CUANDO se carga la vista
ENTONCES veo columnas para cada estado:
  | RECIBIDO | EN_DIAGNOSTICO | COTIZADO | APROBADO | EN_REPARACION | LISTO |
Y cada columna muestra el conteo de ordenes

Escenario 2: Ver tarjeta de orden

DADO que veo una orden en el tablero
CUANDO observo su tarjeta
ENTONCES veo:
  | Folio | OS-2025-0042 |
  | Vehiculo | Kenworth T680 - ABC-123 |
  | Cliente | Transportes del Norte |
  | Mecanico | Juan Perez |
  | Tiempo en estado | 2h 30m |

Escenario 3: Indicador de tiempo excedido

DADO que una orden lleva mas de 24h en un estado
CUANDO veo el tablero
ENTONCES la tarjeta tiene indicador rojo
Y muestra alerta "Atencion requerida"

Escenario 4: Filtrar por mecanico

DADO que quiero ver ordenes de un mecanico especifico
CUANDO filtro por "Juan Perez"
ENTONCES solo veo ordenes asignadas a Juan

Escenario 5: Arrastrar orden entre columnas

DADO que una orden esta en EN_REPARACION
CUANDO la arrastro a LISTO
ENTONCES el sistema valida que puede cambiar a ese estado
Y actualiza el estado de la orden
Y registra el cambio en historial

Escenario 6: Abrir detalle de orden

DADO que hago clic en una tarjeta
CUANDO se abre el detalle
ENTONCES veo informacion completa de la orden
Y puedo editar o agregar trabajos

Layout del Tablero

┌─────────────────────────────────────────────────────────────────────────┐
│ TABLERO DE ORDENES                          Filtros: [Mecanico ▼] [Hoy]│
├───────────┬───────────┬───────────┬───────────┬───────────┬───────────┤
│ RECIBIDO  │ DIAGNOST  │ COTIZADO  │ APROBADO  │ REPARANDO │ LISTO     │
│    (3)    │    (2)    │    (1)    │    (2)    │    (4)    │    (1)    │
├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
│ ┌───────┐ │ ┌───────┐ │ ┌───────┐ │ ┌───────┐ │ ┌───────┐ │ ┌───────┐ │
│ │OS-042 │ │ │OS-040 │ │ │OS-038 │ │ │OS-035 │ │ │OS-030 │ │ │OS-028 │ │
│ │Kenw...│ │ │Freig..│ │ │Volvo..│ │ │Inter..│ │ │Hino..│ │ │Scania│ │
│ │2h 30m │ │ │4h 15m │ │ │🔴1d  │ │ │30min │ │ │3h    │ │ │15min │ │
│ └───────┘ │ └───────┘ │ └───────┘ │ └───────┘ │ └───────┘ │ └───────┘ │
│ ┌───────┐ │ ┌───────┐ │           │ ┌───────┐ │ ┌───────┐ │           │
│ │OS-041 │ │ │OS-039 │ │           │ │OS-034 │ │ │OS-031 │ │           │
│ │Mack..│ │ │Peter..│ │           │ │Volvo..│ │ │Kenw..│ │           │
│ │45min │ │ │2h    │ │           │ │1h 20m │ │ │5h 45m│ │           │
│ └───────┘ │ └───────┘ │           │           │ └───────┘ │           │
└───────────┴───────────┴───────────┴───────────┴───────────┴───────────┘

Tareas Tecnicas

Backend:

  • BE-055: Endpoint GET /api/orders/kanban (agrupado por estado)
  • BE-056: Calcular tiempo en estado actual
  • BE-057: Endpoint PATCH /api/orders/:id/move (mover entre estados)
  • BE-058: Validar transiciones de estado permitidas

Frontend:

  • FE-053: Crear KanbanBoard component
  • FE-054: Crear KanbanColumn component
  • FE-055: Crear OrderCard component
  • FE-056: Implementar drag & drop (react-beautiful-dnd)
  • FE-057: Indicadores visuales de tiempo
  • FE-058: Filtros por mecanico, fecha, cliente

Transiciones de Estado Permitidas

Desde Hacia Permitido
RECIBIDO EN_DIAGNOSTICO, CANCELADO
EN_DIAGNOSTICO COTIZADO, EN_REPARACION, CANCELADO
COTIZADO APROBADO, RECHAZADO
APROBADO EN_REPARACION, CANCELADO
EN_REPARACION LISTO, ESPERANDO_REFACCIONES
ESPERANDO_REFACCIONES EN_REPARACION
LISTO ENTREGADO

Dependencias

Depende de:

  • US-MMD002-001: Crear orden
  • US-MMD002-003: Asignar orden

Bloquea:

  • Ninguno (vista de monitoreo)

Definition of Done (DoD)

  • Tablero con columnas por estado
  • Tarjetas con info de orden
  • Indicadores de tiempo
  • Drag & drop funcional
  • Filtros operativos
  • Responsive (tablet)
  • Tests pasando

Creada por: Requirements-Analyst Fecha: 2025-12-06