<?php require_once __DIR__ . '/conexion.php'; class HojaVida { private $conn; public function __construct() { $this->conn = (new Conexion())->getConexion(); } public function obtenerPorCedula($cedula) { $sql = "SELECT h.*, afp.nombre AS afp, eps.nombre AS eps, arl.nombre AS arl, emp.nombre AS empresa, pl.nombre AS planta, e.nombre AS estado FROM hoja_vida h LEFT JOIN afp afp ON afp.id = h.id_afp LEFT JOIN eps eps ON eps.id = h.id_eps LEFT JOIN arl arl ON arl.id = h.id_arl LEFT JOIN empresa emp ON emp.id = h.id_empresa LEFT JOIN planta pl ON pl.id = h.id_planta LEFT JOIN estado e ON e.id = h.id_estado WHERE h.cedula = ? LIMIT 1"; $stmt = $this->conn->prepare($sql); $stmt->bind_param("s", $cedula); $stmt->execute(); $result = $stmt->get_result(); return $result->fetch_assoc(); } public function obtenerListas() { $listas = []; foreach (['afp', 'eps', 'arl', 'empresa', 'planta', 'estado'] as $tabla) { $res = $this->conn->query("SELECT id, nombre FROM $tabla ORDER BY nombre"); $listas[$tabla] = $res->fetch_all(MYSQLI_ASSOC); } return $listas; } public function actualizar($datos) { $sql = "UPDATE hoja_vida SET nombre=?, fecha_nacimiento=?, edad=?, id_estado=?, id_afp=?, id_eps=?, id_arl=?, id_empresa=?, id_planta=?, regional=?, centro_trabajo=?, tipo_contrato=?, fecha_inicio=?, cargo_inicial=?, cargo_reubicado=?, productividad=?, semanas_cotizacion=? WHERE id=?"; $stmt = $this->conn->prepare($sql); $stmt->bind_param( "ssiiiiiiissssssiii", $datos['nombre'], $datos['fecha_nacimiento'], $datos['edad'], $datos['id_estado'], $datos['id_afp'], $datos['id_eps'], $datos['id_arl'], $datos['id_empresa'], $datos['id_planta'], $datos['regional'], $datos['centro_trabajo'], $datos['tipo_contrato'], $datos['fecha_inicio'], $datos['cargo_inicial'], $datos['cargo_reubicado'], $datos['productividad'], $datos['semanas_cotizacion'], $datos['id'] ); return $stmt->execute(); } public function guardar($datos) { $sql = "INSERT INTO hoja_vida ( cedula, nombre, foto, fecha_nacimiento, edad, id_afp, id_eps, id_arl, tipo_contrato, id_empresa, id_planta, regional, centro_trabajo, cargo_inicial, fecha_inicio, tipo_rehabilitacion, cargo_reubicado, productividad, semanas_cotizacion, id_estado ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )"; $stmt = $this->conn->prepare($sql); $stmt->bind_param( "ssssiiiisiissssssdii", $datos['cedula'], // s $datos['nombre'], // s $datos['foto'], // s $datos['fecha_nacimiento'], // s $datos['edad'], // i $datos['afp_id'], // i $datos['eps_id'], // i $datos['arl_id'], // i $datos['tipo_contrato'], // s $datos['empresa_id'], // i $datos['planta_id'], // i $datos['regional'], // s $datos['centro_trabajo'], // s $datos['cargo_inicial'], // s $datos['fecha_inicio'], // s $datos['tipo_rehabilitacion'], // s $datos['cargo_reubicado'], // s $datos['productividad'], // d (decimal) $datos['semanas_cotizacion'], // i $datos['estado_id'] // i ); return $stmt->execute(); } }