erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-001-fundamentos/historias-usuario/US-MMD001-008-cambiar-bahia.md

3.2 KiB

US-MMD001-008: Cambiar de Bahia sin Cerrar Sesion

Metadata

Campo Valor
ID US-MMD001-008
Epica EPIC-MMD-001 - Fundamentos
Modulo fundamentos
Prioridad P1
Story Points 3
Sprint Sprint 2
Estado Backlog
Asignado a Por asignar

Historia de Usuario

Como mecanico o jefe de taller, quiero cambiar de bahia de trabajo sin cerrar sesion, para poder moverme entre estaciones y ver las ordenes de cada una rapidamente.

Descripcion Detallada

En talleres grandes, un mecanico puede atender multiples bahias o un supervisor necesita revisar el trabajo en diferentes estaciones. El sistema debe permitir cambiar el contexto de bahia actual sin requerir logout/login.


Criterios de Aceptacion

Escenario 1: Selector de bahia en header

DADO que estoy logueado como mecanico
CUANDO veo el header de la aplicacion
ENTONCES veo un selector con mi bahia actual: "Bahia 1"
Y puedo hacer clic para ver otras bahias disponibles

Escenario 2: Cambiar bahia activa

DADO que estoy en "Bahia 1"
CUANDO selecciono "Bahia 3" del selector
ENTONCES el sistema cambia mi contexto a Bahia 3
Y la vista se actualiza mostrando ordenes de Bahia 3
Y el selector muestra "Bahia 3" como activa

Escenario 3: Ver solo bahias autorizadas

DADO que soy mecanico asignado a Bahia 1 y Bahia 2
CUANDO abro el selector de bahias
ENTONCES solo veo Bahia 1 y Bahia 2
Y no veo Bahia 3 (no estoy autorizado)

Escenario 4: Jefe de taller ve todas las bahias

DADO que soy Jefe de Taller
CUANDO abro el selector de bahias
ENTONCES veo todas las bahias del taller
Y puedo cambiar a cualquiera para supervisar

Escenario 5: Indicador visual de bahia

DADO que cambio a Bahia 3
CUANDO navego por la aplicacion
ENTONCES todas las vistas muestran contexto de Bahia 3
Y hay un indicador visible de la bahia actual

Tareas Tecnicas

Backend:

  • BE-029: Endpoint GET /api/users/me/bays (bahias autorizadas)
  • BE-030: Endpoint POST /api/users/me/current-bay (cambiar bahia)
  • BE-031: Almacenar bahia actual en sesion/token

Frontend:

  • FE-025: Crear BaySelector component en header
  • FE-026: Actualizar contexto global al cambiar bahia
  • FE-027: Refrescar vistas al cambiar bahia
  • FE-028: Indicador visual de bahia actual

Dependencias

Depende de:

  • US-MMD001-002: Configurar roles
  • US-MMD001-005: Configurar bahias

Bloquea:

  • Vista de ordenes filtrada por bahia

Notas Tecnicas

Contexto de bahia:

interface UserContext {
  user_id: string;
  workshop_id: string;
  current_bay_id: string | null;  // Bahia activa
  authorized_bays: string[];       // Bahias autorizadas
}

Almacenamiento:

  • Bahia actual se guarda en localStorage
  • Se envia en header X-Current-Bay-Id en cada request
  • Backend valida que usuario tenga acceso a esa bahia

Definition of Done (DoD)

  • Selector de bahia en header
  • Cambio de bahia sin logout
  • Filtro por bahias autorizadas
  • Contexto persiste en navegacion
  • Tests pasando

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