Dotación Manual de Carros
El módulo Dotación Manual de Carros arma la tripulación operativa por vehículo para el turno vigente. Es la fuente de verdad para que el Panel de Recursos muestre tripulación y para que Bitácoras pueda prellenar asistentes cuando se despacha un carro en una emergencia.
Propósito
- Armar tripulación por carro en la dotación abierta.
- Separar cada carro en slot Día y slot Noche.
- Copiar la dotación del turno anterior cuando corresponde.
- Cerrar la dotación para dejarla inmutable.
- Mantener historial de asignaciones, movimientos, liberaciones y cierres.
- Alimentar Panel de Recursos y Bitácoras mediante API y WebSocket.
Permisos Requeridos
| Rol | Acceso base |
|---|---|
owner | Completo |
gerencia | Completo |
admin | Completo |
cecom | Completo |
supervisor | Sin acceso base; puede habilitarse por RBAC |
brigadista | Sin acceso |
lider_maquinista | Sin acceso |
viewer | Sin acceso |
La autorización real depende de allowedModules y permisos granulares del módulo manual-dotation. Si el menú no aparece, revise el rol y la sesión del usuario.
Flujo Operativo
flowchart TD
A[Seleccionar empresa y contrato] --> B[Ver dotación abierta]
B --> C{¿Hay dotación previa útil?}
C -->|Sí| D[Copiar turno anterior]
C -->|No| E[Asignar manualmente]
D --> F[Revisar carros]
E --> F
F --> G[Asignar brigadistas a Día o Noche]
G --> H[Panel de Recursos refleja tripulación]
H --> I[Bitácora prellena asistentes al despachar]
F --> J[Cerrar dotación]
J --> K[Dotación inmutable]
Vista Principal
La pantalla muestra:
| Elemento | Descripción |
|---|---|
| Selector de contrato | Obligatorio para owner y gerencia cuando tienen más de un alcance |
| Turno activo | Turno A/B y fecha operacional resuelta por backend |
| Rango diurno | Corte usado para resolver Día/Noche, normalmente 08:00 a 20:00 salvo override de postura |
| Métricas | Carros operativos, carros con tripulación, ocupación Día y ocupación Noche |
| Pool disponible | Brigadistas disponibles para asignar |
| Tarjetas de vehículo | Carro, capacidad, posturas asociadas y slots Día/Noche |
| Historial | Dotaciones y eventos de la dotación |
Asignar Tripulación
- Abrir Dotación Manual de Carros.
- Confirmar que la empresa y el contrato sean correctos.
- Ubicar el carro.
- Elegir slot Día o Noche.
- Arrastrar un brigadista desde el pool o usar el botón de agregar del slot.
- Verificar que el contador del slot no supere la capacidad del carro.
Reglas Vigentes
- Un brigadista no puede quedar asignado a otro carro/slot dentro de la misma dotación abierta.
- La capacidad del vehículo aplica por slot: Día tiene su propia capacidad y Noche también.
- Los brigadistas con jornada
CONTINUOno se asignan desde este módulo a slots Día/Noche. Si participan en una emergencia, se agregan manualmente desde la Bitácora. - Copiar turno anterior solo debe usarse cuando el destino está vacío o cuando operacionalmente corresponda repetir la base del turno previo.
- Al cerrar la dotación, queda inmutable.
Integración con Bitácoras
Cuando un vehículo recibe hora de despacho por primera vez en una emergencia:
- Bitácoras consulta
/api/manual-dotation/vehicles/:vehicleId/crew-for-emergency. - El backend resuelve slot Día/Noche con la hora de la emergencia.
- Se agregan los asistentes encontrados sin duplicar los ya seleccionados.
- Si no hay tripulación, la alerta es informativa y no bloquea el despacho.
Integración con Panel de Recursos
El Panel de Recursos consulta recursos y recibe la dotación asociada como manualDotation cuando existe dotación abierta. Además, escucha eventos:
manual-dotation:dotation.openedmanual-dotation:dotation.closedmanual-dotation:crew.assignedmanual-dotation:crew.movedmanual-dotation:crew.released
Errores Comunes
| Error | Causa | Acción |
|---|---|---|
NO_ACTIVE_SHIFT | No se pudo resolver turno activo | Revisar configuración de turnos del contrato |
ACTIVE_CONTRACT_REQUIRED | Falta contrato activo en la sesión | Seleccionar contrato antes de operar |
SLOT_CAPACITY_FULL | El slot ya alcanzó su capacidad | Liberar cupo o elegir otro carro/slot |
BRIGADISTA_ALREADY_ASSIGNED | El brigadista ya está en la dotación abierta | Moverlo o liberarlo antes de reasignar |
CREW_ASSIGNMENT_STALE | La asignación cambió mientras se operaba | Refrescar la vista y repetir la acción |
CONTINUOUS_NOT_SLOTTABLE | Brigadista continuo no aplica a Día/Noche | Agregarlo manualmente desde la emergencia si participa |
FAQ
¿Se arma la tripulación desde Panel de Recursos?
No. Panel de Recursos solo refleja la dotación y estados operativos. La asignación de brigadistas a carros se hace en Dotación Manual de Carros.
¿Qué pasa si cierro una dotación?
La dotación cerrada queda como historial. No debe editarse; para un nuevo turno se usa una nueva dotación abierta.
¿Por qué no veo un brigadista continuo en el pool?
Porque el módulo arma slots Día/Noche. Los continuos no se asignan automáticamente a esos slots y, si corresponde, se agregan manualmente en la emergencia.
Checklist para el equipo:
- Captura: Dotación abierta con selector de contrato
- Captura: Carro con slots Día/Noche
- Captura: Pool de brigadistas disponibles
- Captura: Historial de dotación
- Captura: Confirmación de cierre