<?php

class Notificaciones extends Conexion {

    public function DatosPerfilPersona($usuariodbk) {
        $conectar = parent::conectar();
        parent::set_names();
        $sql = "
                SELECT count(*)AS cantidad FROM usuario
                INNER JOIN persona ON personadbk = persona
                WHERE personadbk = ?
                AND tipoDocumentoID != ''
                AND sexoId != ''
                AND estadoCivilId != ''
                ";
        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $usuariodbk);
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }

    public function ConsultarTotalNotificaciones($usuariodbk) {
        $conectar = parent::conectar();
        parent::set_names();
        $sql = "
                SELECT count(*)AS total FROM notificaciones                
                WHERE not_usuariodbk = ?                
                ";
        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $usuariodbk);
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }
    
    public function ConsultarNotificaciones($usuariodbk) {
        $conectar = parent::conectar();
        parent::set_names();
        $sql = "
                SELECT * FROM notificaciones                
                WHERE not_usuariodbk = ?                
                ";
        $sql = $conectar->prepare($sql);
        $sql->bindValue(1, $usuariodbk);
        $sql->execute();
        return $resultado = $sql->fetchAll();
    }

    public function InsertarNotificacionPerfil($usuariodbk, $personadbk) {
        $conectar = parent::conectar();
        parent::set_names();
        //NOTIFICACION PERFIL PERSONA
        $sql_persona = "SELECT count(*)AS cantidad FROM usuario
                        INNER JOIN persona ON personadbk = persona
                        WHERE personadbk = ?
                        AND tipoDocumentoID != 0
                        AND sexoId != 0
                        AND estadoCivilId != 0";
        $sql_persona = $conectar->prepare($sql_persona);
        $sql_persona->bindValue(1, $usuariodbk);
        $sql_persona->execute();
        $res = $sql_persona->fetchAll();
        if (is_array($res) == true and count($res) <> 0) {
            foreach ($res as $tot) {
                $cantidad = $tot["cantidad"];
            }
        }
        if ($cantidad == 0) {
            $sql_existe = "SELECT count(*)AS total FROM notificaciones 
                           WHERE not_usuariodbk= ?
                           AND not_tipo = 'PERFIL PERSONA'";
            $sql_existe = $conectar->prepare($sql_existe);
            $sql_existe->bindValue(1, $usuariodbk);
            $sql_existe->execute();
            $res = $sql_existe->fetchAll();
            foreach ($res as $row) {
                $existepersona = $row["total"];
            }
            if ($existepersona == 0) {
                $sql = "
                    INSERT INTO notificaciones 
                    (not_usuariodbk,
                    not_fecha,
                    not_hora,
                    not_mensaje,
                    not_linkrespuesta,
                    not_estado,
                    not_tipo) 
                    VALUES(?,?,?,?,?,?,?);
                    ";
                $sql = $conectar->prepare($sql);
                $sql->bindValue(1, $usuariodbk);
                $sql->bindValue(2, date("Y-m-d"));
                $sql->bindValue(3, time());
                $sql->bindValue(4, "Por favor actualice su información de perfil en la pestaña PERSONAL");
                $sql->bindValue(5, "../UsuPerfil");
                $sql->bindValue(6, "ACTIVO");
                $sql->bindValue(7, "PERFIL PERSONA");
                $sql->execute();
            }
        } else {
            $sql = "DELETE FROM notificaciones 
                    WHERE not_usuariodbk = ?
                    AND not_tipo ='PERFIL PERSONA'";
            $sql = $conectar->prepare($sql);
            $sql->bindValue(1, $usuariodbk);
            $sql->execute();
        }
        //NOTIFICACION PERFIL ACADEMICO
        $sql_academico = "SELECT count(*)AS cantidad FROM academico                        
                        WHERE aca_personadbk = ?
                        ";
        $sql_academico = $conectar->prepare($sql_academico);
        $sql_academico->bindValue(1, $personadbk);
        $sql_academico->execute();
        $res = $sql_academico->fetchAll();
        if (is_array($res) == true and count($res) <> 0) {
            foreach ($res as $tot) {
                $cantidad = $tot["cantidad"];
            }
        }
        if ($cantidad == 0) {
            $sql_existe = "SELECT count(*)AS total FROM notificaciones 
                           WHERE not_usuariodbk= ?
                           AND not_tipo = 'PERFIL ACADEMICO'";
            $sql_existe = $conectar->prepare($sql_existe);
            $sql_existe->bindValue(1, $usuariodbk);
            $sql_existe->execute();
            $res = $sql_existe->fetchAll();
            foreach ($res as $row) {
                $existepersona = $row["total"];
            }
            if ($existepersona == 0) {
                $sql = "
                    INSERT INTO notificaciones 
                    (not_usuariodbk,
                    not_fecha,
                    not_hora,
                    not_mensaje,
                    not_linkrespuesta,
                    not_estado,
                    not_tipo) 
                    VALUES(?,?,?,?,?,?,?);
                    ";
                $sql = $conectar->prepare($sql);
                $sql->bindValue(1, $usuariodbk);
                $sql->bindValue(2, date("Y-m-d"));
                $sql->bindValue(3, time());
                $sql->bindValue(4, "Por favor actualice su información de perfil en la pestaña ACADEMICO");
                $sql->bindValue(5, "../UsuPerfil");
                $sql->bindValue(6, "ACTIVO");
                $sql->bindValue(7, "PERFIL ACADEMICO");
                $sql->execute();
            }
        } else {
            $sql = "DELETE FROM notificaciones 
                    WHERE not_usuariodbk = ?
                    AND not_tipo ='PERFIL ACADEMICO'";
            $sql = $conectar->prepare($sql);
            $sql->bindValue(1, $usuariodbk);
            $sql->execute();
        }
        //NOTIFICACION PERFIL DISCAPACIDAD
        $sql_discapacidad = "SELECT count(*)AS cantidad FROM discapacidad                        
                        WHERE dis_personadbk = ?
                        ";
        $sql_discapacidad = $conectar->prepare($sql_discapacidad);
        $sql_discapacidad->bindValue(1, $personadbk);
        $sql_discapacidad->execute();
        $res = $sql_discapacidad->fetchAll();
        if (is_array($res) == true and count($res) <> 0) {
            foreach ($res as $tot) {
                $cantidad = $tot["cantidad"];
            }
        }
        if ($cantidad == 0) {
            $sql_existe = "SELECT count(*)AS total FROM notificaciones 
                           WHERE not_usuariodbk= ?
                           AND not_tipo = 'PERFIL DISCAPACIDAD'";
            $sql_existe = $conectar->prepare($sql_existe);
            $sql_existe->bindValue(1, $usuariodbk);
            $sql_existe->execute();
            $res = $sql_existe->fetchAll();
            foreach ($res as $row) {
                $existepersona = $row["total"];
            }
            if ($existepersona == 0) {
                $sql = "
                    INSERT INTO notificaciones 
                    (not_usuariodbk,
                    not_fecha,
                    not_hora,
                    not_mensaje,
                    not_linkrespuesta,
                    not_estado,
                    not_tipo) 
                    VALUES(?,?,?,?,?,?,?);
                    ";
                $sql = $conectar->prepare($sql);
                $sql->bindValue(1, $usuariodbk);
                $sql->bindValue(2, date("Y-m-d"));
                $sql->bindValue(3, time());
                $sql->bindValue(4, "Por favor actualice su información de perfil en la pestaña DISCAPACIDAD");
                $sql->bindValue(5, "../UsuPerfil");
                $sql->bindValue(6, "ACTIVO");
                $sql->bindValue(7, "PERFIL DISCAPACIDAD");
                $sql->execute();
            }
        } else {
            $sql = "DELETE FROM notificaciones 
                    WHERE not_usuariodbk = ?
                    AND not_tipo ='PERFIL DISCAPACIDAD'";
            $sql = $conectar->prepare($sql);
            $sql->bindValue(1, $usuariodbk);
            $sql->execute();
        }
        //NOTIFICACION PERFIL RESIDENCIA      
        $sql_residencia = "SELECT count(*)AS cantidad FROM residencia                        
                        WHERE res_personadbk = ?
                        ";
        $sql_residencia = $conectar->prepare($sql_residencia);
        $sql_residencia->bindValue(1, $personadbk);
        $sql_residencia->execute();
        $res = $sql_residencia->fetchAll();
        if (is_array($res) == true and count($res) <> 0) {
            foreach ($res as $tot) {
                $cantidad = $tot["cantidad"];
            }
        }
        if ($cantidad == 0) {
            $sql_existe = "SELECT count(*)AS total FROM notificaciones 
                           WHERE not_usuariodbk= ?
                           AND not_tipo = 'PERFIL RESIDENCIA'";
            $sql_existe = $conectar->prepare($sql_existe);
            $sql_existe->bindValue(1, $usuariodbk);
            $sql_existe->execute();
            $res = $sql_existe->fetchAll();
            foreach ($res as $row) {
                $existepersona = $row["total"];
            }
            if ($existepersona == 0) {
                $sql = "
                    INSERT INTO notificaciones 
                    (not_usuariodbk,
                    not_fecha,
                    not_hora,
                    not_mensaje,
                    not_linkrespuesta,
                    not_estado,
                    not_tipo) 
                    VALUES(?,?,?,?,?,?,?);
                    ";
                $sql = $conectar->prepare($sql);
                $sql->bindValue(1, $usuariodbk);
                $sql->bindValue(2, date("Y-m-d"));
                $sql->bindValue(3, time());
                $sql->bindValue(4, "Por favor actualice su información de perfil en la pestaña RESIDENCIA");
                $sql->bindValue(5, "../UsuPerfil");
                $sql->bindValue(6, "ACTIVO");
                $sql->bindValue(7, "PERFIL RESIDENCIA");
                $sql->execute();
            }
        } else {
            $sql = "DELETE FROM notificaciones 
                    WHERE not_usuariodbk = ?
                    AND not_tipo ='PERFIL RESIDENCIA'";
            $sql = $conectar->prepare($sql);
            $sql->bindValue(1, $usuariodbk);
            $sql->execute();
        }
        //NOTIFICACION PERFIL PROCEDENCIA
        $sql_procedencia = "SELECT count(*)AS cantidad FROM procedencia          
                        WHERE proc_personadbk = ?
                        ";
        $sql_procedencia = $conectar->prepare($sql_procedencia);
        $sql_procedencia->bindValue(1, $personadbk);
        $sql_procedencia->execute();
        $res = $sql_procedencia->fetchAll();
        if (is_array($res) == true and count($res) <> 0) {
            foreach ($res as $tot) {
                $cantidad = $tot["cantidad"];
            }
        }
        if ($cantidad == 0) {
            $sql_existe = "SELECT count(*)AS total FROM notificaciones 
                           WHERE not_usuariodbk= ?
                           AND not_tipo = 'PERFIL PROCEDENCIA'";
            $sql_existe = $conectar->prepare($sql_existe);
            $sql_existe->bindValue(1, $usuariodbk);
            $sql_existe->execute();
            $res = $sql_existe->fetchAll();
            foreach ($res as $row) {
                $existepersona = $row["total"];
            }
            if ($existepersona == 0) {
                $sql = "
                    INSERT INTO notificaciones 
                    (not_usuariodbk,
                    not_fecha,
                    not_hora,
                    not_mensaje,
                    not_linkrespuesta,
                    not_estado,
                    not_tipo) 
                    VALUES(?,?,?,?,?,?,?);
                    ";
                $sql = $conectar->prepare($sql);
                $sql->bindValue(1, $usuariodbk);
                $sql->bindValue(2, date("Y-m-d"));
                $sql->bindValue(3, time());
                $sql->bindValue(4, "Por favor actualice su información de perfil en la pestaña PROCEDENCIA");
                $sql->bindValue(5, "../UsuPerfil");
                $sql->bindValue(6, "ACTIVO");
                $sql->bindValue(7, "PERFIL PROCEDENCIA");
                $sql->execute();
            }
        } else {
            $sql = "DELETE FROM notificaciones 
                    WHERE not_usuariodbk = ?
                    AND not_tipo ='PERFIL PROCEDENCIA'";
            $sql = $conectar->prepare($sql);
            $sql->bindValue(1, $usuariodbk);
            $sql->execute();
        }        
    }    
}

?>
