Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
casos_medicos1
/
model
:
Ausentismo.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php require_once __DIR__ . '/conexion.php'; class Ausentismo { private $conn; public function __construct() { $db = new Conexion(); $this->conn = $db->getConexion(); } public function buscarEmpleadoPorCedula($cedula) { // Datos de conexión (puedes reutilizar los de tu archivo conexion.php) $servername = "192.200.100.40"; $username = "SANMARINO"; $password = "sanmarino2021*"; $dbname = "almuerzo"; // Conexión a la base de datos "almuerzo" $connAlmuerzo = new mysqli($servername, $username, $password, $dbname); if ($connAlmuerzo->connect_error) { return null; } $sql = "SELECT nombre, ccosto, descripcion, cargo FROM empleados WHERE cedula = ?"; $stmt = $connAlmuerzo->prepare($sql); $stmt->bind_param("s", $cedula); $stmt->execute(); $result = $stmt->get_result(); $empleado = null; if ($row = $result->fetch_assoc()) { $empleado = [ 'nombre' => $row['nombre'], 'ccosto' => $row['ccosto'], 'descripcion' => $row['descripcion'], 'cargo' => $row['cargo'] ]; } $stmt->close(); $connAlmuerzo->close(); return $empleado; } public function guardar($data, $files) { try { // Funciones internas para leer archivos $leerArchivo = function($campo) use ($files) { return (isset($files[$campo]) && $files[$campo]['error'] == 0) ? file_get_contents($files[$campo]['tmp_name']) : null; }; $nombreArchivo = function($campo) use ($files) { return isset($files[$campo]['name']) ? $files[$campo]['name'] : null; }; $sql = "INSERT INTO ausentismo ( cedula, nombre, ccosto, cargo, telefono, correo, tipo_incapacidad, eps, fecha_inicio, fecha_fin, dias, certificado, certificado_nombre, epicrisis, epicrisis_nombre, furips, furips_nombre, registro_civil, registro_civil_nombre, fecha_registro ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())"; $stmt = $this->conn->prepare($sql); if (!$stmt) { throw new Exception('Error al preparar: ' . $this->conn->error); } $values = [ $data['cedula'] ?? null, $data['nombre'] ?? null, $data['ccosto'] ?? null, $data['cargo'] ?? null, $data['telefono'] ?? null, $data['correo'] ?? null, $data['tipo_incapacidad'] ?? null, $data['eps'] ?? null, $data['fecha_inicio'] ?? null, $data['fecha_fin'] ?? null, intval($data['dias'] ?? 0), $leerArchivo('certificado'), $nombreArchivo('certificado'), $leerArchivo('epicrisis'), $nombreArchivo('epicrisis'), $leerArchivo('furips'), $nombreArchivo('furips'), $leerArchivo('registro_civil'), $nombreArchivo('registro_civil') ]; $types = str_repeat('s', count($values)); $stmt->bind_param($types, ...$values); if (!$stmt->execute()) { throw new Exception('Error al ejecutar: ' . $stmt->error); } return true; } catch (Exception $e) { error_log('❌ Error al guardar ausentismo: ' . $e->getMessage()); return false; } } }