<?php 

require_once "conexion.php";

class ModeloEmpleado {

    static public function MdlMostrarEmpleado($tabla, $item, $valor){

        if($item != null){

            $stmt = Conexion:: conectar()->prepare("SELECT * FROM $tabla WHERE $item = :$item");

            $stmt -> bindParam(":".$item, $valor, PDO::PARAM_STR);
            
            $stmt -> execute();

            return $stmt -> fetch();

        }else {

            $stmt = Conexion:: conectar()->prepare("SELECT * FROM $tabla WHERE estado = '1' ");
            
            $stmt -> execute();

            return $stmt -> fetchAll();
        }

        $stmt -> close();

        $stmt = null;
    }
    
    static public function MdlMostrarEmpleadoU($tabla, $item, $valor){


        if($item != null){

            $stmt = Conexion:: conectar()->prepare("SELECT a.*, b.id_empleado, CASE WHEN b.id_empleado IS null then 0 else 1 end as flag from empleado a left join usuario b on a.id = b.id_empleado WHERE a.estado = 1");

            $stmt -> execute();

            return $stmt -> fetch();

        }else {

            $stmt = Conexion:: conectar()->prepare("SELECT a.*, b.id_empleado, CASE WHEN b.id_empleado IS null then 0 else 1 end as flag from empleado a left join usuario b on a.id = b.id_empleado WHERE a.estado = 1 ");

            $stmt -> execute();

            return $stmt -> fetchAll();
        }

        $stmt -> close();

        $stmt = null;
    }

    static public function MdlMostrarEmpleado1($tabla, $item, $valor){

        $item1 = "chofer";
        $valor1 = "1";

        if($item != null){

            $stmt = Conexion:: conectar()->prepare("SELECT * FROM $tabla WHERE $item = :$item");

            $stmt -> bindParam(":".$item, $valor, PDO::PARAM_STR);
            
            
            $stmt -> execute();

            return $stmt -> fetch();

        }else {

            $stmt = Conexion:: conectar()->prepare("SELECT * FROM $tabla WHERE $item1 = :$item1");

            $stmt -> bindParam(":".$item1, $valor1, PDO::PARAM_STR);

            $stmt -> execute();

            return $stmt -> fetchAll();
        }

        $stmt -> close();

        $stmt = null;
    }
    /** Registro de sucursal */

    static public function mdlIngresarEmpleado($tabla, $datos){

        $stmt = Conexion:: conectar()->prepare("INSERT INTO $tabla(num_documento, nombre, direccion, telefono, email, fecha_ingreso, estado) VALUES (:num_documento, :nombre, :direccion, :telefono, :email, :fecha_ingreso, :estado)");
        
        $stmt -> bindParam(":num_documento", $datos["num_documento"], PDO::PARAM_STR);
        $stmt -> bindParam(":nombre", $datos["nombre"], PDO::PARAM_STR);
        $stmt -> bindParam(":direccion", $datos["direccion"], PDO::PARAM_STR);
        $stmt -> bindParam(":telefono", $datos["telefono"], PDO::PARAM_STR);
        $stmt -> bindParam(":email", $datos["email"], PDO::PARAM_STR);
        $stmt -> bindParam(":fecha_ingreso", $datos["fecha_ingreso"], PDO::PARAM_STR);
        $stmt -> bindParam(":estado", $datos["estado"], PDO::PARAM_STR);
 
 

        if($stmt -> execute()){
            return "ok";
        }else{
            return "error";
        }
        
        $stmt -> close();

        $stmt = null;

        
    }

    static public function mdlEditarEmpleado($tabla, $datos){

        $stmt = Conexion::conectar()->prepare("UPDATE $tabla SET num_documento = :num_documento, nombre = :nombre, direccion = :direccion, telefono =:telefono, email =:email, fecha_ingreso =:fecha_ingreso, estado =:estado WHERE id = :id");

        $stmt -> bindParam(":id", $datos["id"], PDO::PARAM_STR);
		$stmt -> bindParam(":num_documento", $datos["num_documento"], PDO::PARAM_STR);
        $stmt -> bindParam(":nombre", $datos["nombre"], PDO::PARAM_STR);
        $stmt -> bindParam(":direccion", $datos["direccion"], PDO::PARAM_STR);
        $stmt -> bindParam(":telefono", $datos["telefono"], PDO::PARAM_STR);
        $stmt -> bindParam(":email", $datos["email"], PDO::PARAM_STR);
        $stmt -> bindParam(":fecha_ingreso", $datos["fecha_ingreso"], PDO::PARAM_STR);
        $stmt -> bindParam(":estado", $datos["estado"], PDO::PARAM_STR);

		if($stmt -> execute()){

			return "ok";
            
		
		}else{

			return "error";	

		}

		$stmt -> close();

		$stmt = null;

    }

     /*=============================================
	BORRAR SUCURSAL
	=============================================*/

	static public function mdlBorrarEmpleado($tabla, $datos){

		$stmt = Conexion::conectar()->prepare("UPDATE $tabla SET estado = '0' WHERE id = :id");

		$stmt -> bindParam(":id", $datos, PDO::PARAM_INT);

		if($stmt -> execute()){

			return "ok";
		
		}else{

			return "error";	

		}

		$stmt -> close();

		$stmt = null;


	}

}