File "Incapacidades.php"

Full Path: C:/wamp64/www/casos_medicos1/model/Incapacidades.php
File size: 1.68 KB
MIME-type: text/x-php
Charset: utf-8

<?php
require_once "../model/conexion.php";

class Incapacidad extends Conexion {

    // 🔹 Agregamos método query dentro del modelo
    private function query($sql, $params = []) {
        $stmt = $this->conn->prepare($sql);

        if (!$stmt) {
            die("❌ Error al preparar: " . $this->conn->error);
        }

        if (!empty($params)) {
            $tipos = str_repeat("s", count($params));
            $stmt->bind_param($tipos, ...$params);
        }

        $stmt->execute();
        return $stmt->get_result();
    }

    public function listarPorCedula($cedula) {
        $sql = "SELECT fecha_inicio, fecha_fin, eps, dias, tipo_incapacidad, cargo 
                FROM ausentismo 
                WHERE cedula = ?
                ORDER BY fecha_inicio DESC";
        return $this->query($sql, [$cedula]);
    }

    public function listarDiagnosticos() {
        return $this->query("SELECT id, descripcion FROM diagnostico ORDER BY descripcion");
    }

    public function guardar($data) {
        $sql = "INSERT INTO ausentismo 
                (cedula, fecha_inicio, fecha_fin, eps, dias, tipo_incapacidad, cargo, medico, codigo_diagnostico, observaciones)
                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

        $params = [
            $data['cedula'],
            $data['fecha_inicial'],
            $data['fecha_final'],
            $data['entidad'],
            $data['dias'],
            $data['tipo_incapacidad'] ?? '',
            $data['cargo'] ?? '',
            $data['medico'],
            $data['codigo_diagnostico'],
            $data['observaciones']
        ];

        return $this->query($sql, $params);
    }
}