El módulo de trabajadores permite registrar y administrar todo el personal del taller: mecánicos, electricistas, técnicos especializados y personal de servicio al cliente. Cada trabajador queda vinculado a un cargo que define su rol técnico dentro de la organización. Los cargos se gestionan desde el mismo panel a través de un modal, lo que evita tener que navegar a una sección separada. Este módulo es el punto de partida para organizar al equipo antes de asignar responsabilidades o turnos de atención.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/LVHJ-8/Proyecto_mecanica/llms.txt
Use this file to discover all available pages before exploring further.
Acceso y protección
La página se encuentra enADMIN/trabajadores/CRUDTrabajadores.php. El acceso está restringido por sesión: cualquier usuario cuyo $_SESSION['rol'] sea distinto de admin es redirigido antes de que se renderice cualquier contenido.
Interfaz principal
La página se organiza en dos pestañas y un modal de gestión:- Lista de Trabajadores — tabla con todos los registros actuales.
- Nuevo Trabajador — formulario de alta de personal.
- Gestionar Cargos — botón en la esquina superior derecha de las pestañas que abre un modal sin recargar la página.
Lista de trabajadores
La tabla muestra el personal registrado en orden descendente por ID, junto con su cargo resuelto mediante unLEFT JOIN con la tabla cargos.
| Columna | Fuente | Descripción |
|---|---|---|
| ID | trabajadores.id | Identificador único autoincremental |
| DNI | trabajadores.dni | Documento de identidad (máx. 15 caracteres) |
| Nombre Completo | nombre + apellido | Nombre y apellido concatenados |
| Cargo / Especialidad | cargos.nombre_cargo | Rol técnico asignado |
| Teléfono | trabajadores.telefono | Número de contacto directo |
| Acciones | — | Botones para editar o eliminar |
Acciones disponibles
- Editar → redirige a
editar_trabajador.php?id=Xpara modificar los datos del trabajador. - Eliminar → redirige a
eliminar_trabajador.php?id=Xcon confirmación en JavaScript antes de ejecutar la eliminación permanente.
Registrar un nuevo trabajador
El formulario de alta usaPOST con action = 'guardar_trabajador'. Todos los campos son obligatorios. El campo activo se establece en 1 automáticamente al crear el registro.
Nombre de pila del trabajador.
Apellido del trabajador.
Documento de identidad. Acepta hasta 15 caracteres para admitir distintos formatos nacionales.
Número de teléfono de contacto directo del trabajador.
Clave foránea hacia la tabla
cargos. Se presenta como un selector desplegable poblado con los cargos existentes. Debe existir al menos un cargo antes de poder registrar trabajadores.activo se envía siempre como 1 desde el código; no existe un campo visible para ese parámetro en el formulario.
El campo
activo en la tabla trabajadores se fija en 1 al crear cualquier registro. Para desactivar temporalmente a un trabajador sin eliminar su historial, puedes actualizar ese valor a 0 directamente en la base de datos. El registro se conserva pero puede filtrarse en consultas que solo traigan personal activo.Gestionar cargos
Los cargos (o especialidades) definen el rol técnico de cada trabajador. Se administran desde el modal Gestionar Cargos, que se abre en la misma página sin recarga. Los cargos disponibles aparecen también en el selector del formulario de nuevo trabajador. Ejemplos de cargos típicos en un taller mecánico:Mecánico GeneralElectricista AutomotrizTécnico de FrenosAsesor de Servicio
Crear un cargo
El formulario usaPOST con action = 'guardar_cargo' e inserta el registro en la tabla cargos:
Nombre del cargo o especialidad, por ejemplo
Mecánico General o Electricista Automotriz.Descripción opcional del cargo: responsabilidades, alcance técnico o cualquier observación relevante.
Eliminar un cargo
El formulario de eliminación usaPOST con action = 'eliminar_cargo' e intenta borrar el registro por ID:
Estructura de tablas
La relación entre trabajadores y cargos se resuelve con una clave foránea directa:cargos
| Campo | Tipo | Descripción |
|---|---|---|
id | int, PK | Identificador del cargo |
nombre_cargo | varchar | Nombre del cargo o especialidad |
descripcion | varchar | Descripción del cargo |
trabajadores
| Campo | Tipo | Descripción |
|---|---|---|
id | int, PK | Identificador del trabajador |
cargo_id | int, FK → cargos.id | Cargo asignado |
nombre | varchar | Nombre de pila |
apellido | varchar | Apellido |
dni | varchar(15) | Documento de identidad |
telefono | varchar | Teléfono de contacto |
activo | tinyint | 1 activo, 0 inactivo |