# 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** ```gherkin 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** ```gherkin 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** ```gherkin 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** ```gherkin 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** ```gherkin 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** ```gherkin 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