<?php
require_once("../config/conexion.php");
require_once("../models/Biometrico.php");
require_once("../models/Permisos.php");

$biometrico = new Biometrico();

switch ($_GET["op"]) 
{
    case "consultar_biometrico":
        $datos = $biometrico->Biometrico_por_ID($_POST["biometricodbk"]);
        if (is_array($datos) == true and count($datos) <> 0) {
            foreach ($datos as $row) {
                $output["biometricodbk"] = $row["biometricodbk"];
                $output["descripcion"] = $row["descripcion"];
                $output["estado"] = $row["estado"];
                $output["ip"] = $row["ip"];
                $output["puerto"] = $row["puerto"];
                $output["marca"] = $row["marca"];
                $output["modelo"] = $row["modelo"];
                $output["serie"] = $row["serie"];
                $output["creacion"] = $row["creacion"];
            }
            echo json_encode($output);
        }
    break;

    case "guardar":
        if(empty($_POST["biometricodbk"]))
        {
            $datos = array(
                "personabdk" => $_POST["person"],
                "mac" => $_POST["mac"],
                "descripcion" => $_POST["descripcion"],
                "estado" => $_POST["status"],
                "jornadadbk" => $_POST["jornada"]
            );
            
            $respuesta = $biometrico->Guardar($datos);
        }
        else
        {
            $datos = array(
                "biometricodbk" => $_POST["biometricodbk"],
                "personabdk" => $_POST["person"],
                "mac" => $_POST["mac"],
                "descripcion" => $_POST["descripcion"],
                "estado" => $_POST["status"],
                "jornadadbk" => $_POST["jornada"]
            );
    
            $respuesta = $biometrico->Actualizar($datos);
        }
    break;

    case "listar":
        $datos = $biometrico->Consultar($_GET["fil"]);
        $data = Array();
        $permiso = new Permisos();
        $permisos = $permiso->Permisos_por_Perfil("BIOMETRICO", $_SESSION["perfil"]);

        foreach($permisos as $row)
        {
            $estado = $row["estado"];
            $actualizar = $row["actualizar"];
            $eliminar = $row["eliminar"];
            $contacto = $row["contacto"];
            $leer = $row["leer"];
        }

        $accesos = "";

        foreach($datos as $row)
        {
            $sub_array = array();
            $sub_array["id"] = $row["usubiometricodbk"];
            $sub_array["name"] = $row["nombre"];
            $sub_array["status"] = $row["estado"];

            if($estado == 1)
            {
                if($row["estado"] == 1)
                {
                    $sub_array["status"] = '<button class="btn btnStatus btn-success btn-xs" status="1" idBiometrico="'.$row["usubiometricodbk"].'">Activo</button>';
                }
                else
                {
                    $sub_array["status"] = '<button class="btn btnStatus btn-danger btn-xs" status="0" idBiometrico="'.$row["usubiometricodbk"].'">Inactivo</button>';
                }
            }

            if($actualizar == 1)
            {
                $accesos = $accesos." <button class='btn btn-warning btn-icon btn-sm' id=".$row["usubiometricodbk"]." onclick='editar(".$row["usubiometricodbk"].");'><i class='fa fa-edit'></i></button>";
            }

            if($eliminar == 1)
            {
                $accesos = $accesos." <button class='btn btn-danger btn-icon btn-sm' id=".$row["usubiometricodbk"]." onclick='eliminar(".$row["usubiometricodbk"].");'><i class='fa fa-trash'></i></button>";
            }


            $sub_array["access"] = $accesos;
            $data[] = $sub_array;
            $accesos = "";
        }

        $results = array(
            "sEcho" => 1,
            "iTotalRecords" => count($data),
            "iTotalDisplayRecords" => count($data),
            "data" => $data
        );

        header('Content-Type: application/json');
        echo json_encode($results);
    break;

    case "status":
        $datos = array(
            "id" => $_POST["id"],
            "estado" => $_POST["status"]
        );

        $respuesta = $biometrico->Estado($datos);
    break;

    case "mostrar":

        $datos = $biometrico->Biometrico_por_ID($_POST["id"]);

        if (is_array($datos) == true and count($datos) <> 0) {
            foreach ($datos as $row) {
                $output["id"] = $row["usubiometricodbk"];
                $output["person"] = $row["personadbk"];
                $output["mac"] = $row["mac"];
                $output["descripcion"] = $row["descripcion"];
                $output["status"] = $row["estado"];
                $output["usuario"] = $row["usuario"]; 
                $output["jornada"] = $row["jornadadbk"];
            }
            echo json_encode($output);
        }
    break;

    case "mostrar_biometrico":

        $datos = $biometrico->Biometrico_Gestion($_POST["id"]);

        if (is_array($datos) == true and count($datos) <> 0) {
            foreach ($datos as $row) {
                $output["biometricodbk"] = $row["biometricodbk"];
                $output["tipo_registro"] = $row["tipo_registro"];
                $output["fecha_registro"] = $row["fecha_registro"];
                $output["hora_registro"] = $row["hora_registro"];
                $output["nombre"] = $row["nombre"];
                $output["estado"] = $row["estado"];
                $output["observacion"] = $row["observacion"];
                $output["personadbk"] = $row["personadbk"];
            }

            header('Content-Type: application/json');
            echo json_encode($output);
        }

        break;

    case "eliminar":
        $respuesta = $biometrico->Eliminar($_POST["id"]);
        break;

    case "eliminar_registro":
        $res = $biometrico->Eliminar_Registro($_POST["id"]);
        print_r($_POST["id"]);
        break;
    
    case "registro":
        $date = new DateTime();
        $date->setTimezone(new DateTimeZone('America/Guayaquil'));
        
        $fecha = $date->format('Y-m-d');
        $hora = $date->format('H:i:s');
    
        $datos = array(
            "personadbk" => $_POST["personadbk"],
            "fecha" => $fecha,
            "hora" => $hora,
            "tipo" => $_POST["tipo"],
            "admin" => false,
        );

        $respuesta = $biometrico->Registro($datos);

        header('Content-Type: application/json');
        echo json_encode($respuesta);
    break;

    case "registro_admin":
        if(empty($_POST["biometricodbk"]) && empty($_POST["personadbk"]))
        {
            $datos = array(
                "personadbk" => $_POST["empleado"],
                "tipo" => $_POST["tipo"],
                "fecha" => $_POST["fecha"],
                "hora" => $_POST["hora"],
                "estado" => $_POST["status"],
                "observacion" => $_POST["observation"],
                "admin" => true,
                "actualizar" => false
            );

            $respuesta = $biometrico->Registro($datos);

            header('Content-Type: application/json');
            echo json_encode($respuesta);
        }

        if(!empty($_POST["biometricodbk"]) && !empty($_POST["personadbk"]))
        {
            $datos = array(
                "biometricodbk" => $_POST["biometricodbk"],
                "personadbk" => $_POST["personadbk"],
                "tipo" => $_POST["tipo"],
                "fecha" => $_POST["fecha"],
                "hora" => $_POST["hora"],
                "estado" => $_POST["status"],
                "observacion" => $_POST["observation"],
                "admin" => true,
                "actualizar" => true,
            );

            $respuesta = $biometrico->Registro($datos);

            header('Content-Type: application/json');
            echo json_encode($respuesta);
        }

    break;

    case "listar_bio":

        $datos = $biometrico->Listar_Biometrico($_GET["fil"]);
        $data = Array();
        
        foreach($datos as $row)
        {
            $sub_array = array();
            $sub_array["tipo_registro"] = $row["tipo_registro"];
            $sub_array["fecha_registro"] = $row["fecha_registro"];
            $sub_array["hora_registro"] = $row["hora_registro"];
            $sub_array["nombre"] = $row["nombre"];

            $data[] = $sub_array;
        }

        $results = array(
            "sEcho" => 1,
            "iTotalRecords" => count($data),
            "iTotalDisplayRecords" => count($data),
            "data" => $data
        );

        header('Content-Type: application/json');
        echo json_encode($results);
        break;

    case "filter":

        $fil = $_GET["fil"] == "" ? "all" : $_GET["fil"];
        $anio = $_GET["anio"] == "" ? "" : $_GET["anio"];
        $mes = $_GET["mes"] == "" ? "" : $_GET["mes"];
        $dia = $_GET["dia"] == "" ? "" : $_GET["dia"];
        $usuario = $_GET["usuario"] == "" ? "all" : $_GET["usuario"];

        $datos = $biometrico->Listar_Biometrico_Gestion($fil, $anio, $mes, $dia, $usuario);
    
        $data = Array();

        foreach($datos as $row)
        {
            $sub_array = array();
            $sub_array["tipo_registro"] = $row["tipo_registro"];
            $sub_array["fecha_registro"] = $row["fecha_registro"];
            $sub_array["hora_registro"] = $row["hora_registro"];
            $sub_array["nombre"] = $row["nombre"];
            $sub_array["estado"] = $row["estado"];
            $sub_array["observacion"] = $row["observacion"];
            $sub_array["acciones"] = "<button class='btn btn-danger btn-icon btn-xs mr-2' id=".$row["biometricodbk"]." onclick='eliminar(".$row["biometricodbk"].");'><i class='fa fa-trash'></i></button>"
                                    ."<button class='btn btn-warning btn-icon btn-xs' id=".$row["biometricodbk"]." onclick='editar(".$row["biometricodbk"].");'><i class='fa fa-edit'></i></button>";

            $data[] = $sub_array;
        }

        $results = array(
            "sEcho" => 1,
            "iTotalRecords" => count($data),
            "iTotalDisplayRecords" => count($data),
            "data" => $data
        );

        header('Content-Type: application/json');
        echo json_encode($results);
        break;

    case "select_bio":

        $json = array();

        if(!isset($_GET["searchTerm"])){
            $json = [];
            echo json_encode("No hay datos");
        }else{
            $search = $_GET["searchTerm"];
            $fetchData = $biometrico->Select($search);

            foreach($fetchData as $row){
                $data['id'] = $row['personadbk'];
                $data['text'] = $row['papellido']." ".$row['sapellido']." ". $row['pnombre'] ." ".$row['snombre'] ." - ".$row['tipo'];
                array_push($json, $data);
            }
        }

        header('Content-Type: application/json');
        echo json_encode($json);
        break;

    case "reports":

        if(isset($_GET["date_desde"]) && isset($_GET["date_hasta"]) && isset($_GET["usuario"]))
        {
            $datos = array(
                "date_desde" => $_GET["date_desde"],
                "date_hasta" => $_GET["date_hasta"],
                "usuario" => $_GET["usuario"]
            );

            $data = $biometrico->Report($datos);

       
            $results = array(
                "sEcho" => 1,
                "iTotalRecords" => count($data),
                "iTotalDisplayRecords" => count($data),
                "data" => $data
            );
        

            header('Content-Type: application/json');
            echo json_encode($results);
        }
        else
        {
            $datos = array();

            $data = $biometrico->Report($datos);

            $results = array(
                "sEcho" => 1,
                "iTotalRecords" => count($data),
                "iTotalDisplayRecords" => count($data),
                "data" => $data
            );

            header('Content-Type: application/json');
            echo json_encode($results);
        }

        break;


    case "report_fetch":

        $response = $biometrico->Report_Fetch($_GET["date"]);

        $data = Array();

        foreach($response as $row)
        {
            $data[$row["nombre"]][] = array(
                "fecha" => $row["fecha_registro"],
                "tipo" => $row["tipo_registro"],
                "estado" => $row["estado"],
                "usuario" => $row["usubiometricodbk"],
                "nombre" => $row["nombre"],
            );
        }

        header('Content-Type: application/json');
        echo json_encode($data);

        break;

    case "report_details":

        $response = $biometrico->Report_Details($_GET["date"], $_GET["user"]);

        $data = Array();

        foreach($response as $row)
        {
            $data[$row["fecha_registro"]][] = array(
                "tipo" => $row["tipo_registro"],
                "estado" => $row["estado"],
                "hora" => $row["hora_registro"],
                "observacion" => $row["observacion"],
                "nombre" => $row["nombre"],
            );
        }

        header('Content-Type: application/json');
        echo json_encode($data);

        break;
}