File "Ausentismo.php"
Full Path: C:/wamp64/www/casos_medicos1/model/Ausentismo.php
File size: 3.64 KB
MIME-type: text/x-php
Charset: utf-8
<?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;
}
}
}