/**
  * Transforma un array asociativo a un objeto del tipo Empleado
  *
  * @author Jonathan Sandoval     <*****@*****.**>
  * @param  Array $array          Arreglo Asociativo con los datos de una Empleado
  * @return Empleado              Objeto de tipo Empleado con datos del array recibido
  **/
 static function array_Empleado($array = array())
 {
     //Nombre de las tablas
     $tablaCiudad = constant('TABLA_CIUDAD');
     $tablaTurno = constant('TABLA_TURNO');
     $tablaTipo = constant('TABLA_TIPOEMPLEADO');
     $tablaSuc = constant('TABLA_SUCURSAL');
     //Nombre de las abrebviaturas de cada objeto de la tabla
     $abreviaturaCiudad = $array["Ciudad"];
     $abreviaturaTipo = $array["Tipo_Empleado"];
     $abreviaturaTurno = $array["Turno"];
     isset($array["ID_Sucursal"]) ? $idSucursal = $array["ID_Sucursal"] : ($idSucursal = 0);
     //Objetos Provisionales
     $ciudad = NULL;
     $turno = NULL;
     $tipo = NULL;
     $objeto = new Empleado();
     //Establece datos de la instancia del empleado
     $objeto->setID($array["ID"]);
     $objeto->setCURP($array["CURP"]);
     $objeto->setNombre($array["Nombre"]);
     $objeto->setSegundoNombre($array["Segundo_Nombre"]);
     $objeto->setApellidoPaterno($array["Apellido_Paterno"]);
     $objeto->setApellidoMaterno($array["Apellido_Materno"]);
     $objeto->setCalle($array["Calle"]);
     $objeto->setColonia($array["Colonia"]);
     $objeto->setNoCasaExt($array["NoCasa_Ext"]);
     $objeto->setNoCasaInt($array["NoCasa_Int"]);
     $objeto->setPassword($array["Password"]);
     //Establece un objeto de tipo ciudad
     $consulta = "SELECT *\n                         FROM {$tablaCiudad}\n                         WHERE Abreviatura = '{$abreviaturaCiudad}'";
     $res = ControladorBaseDatos::query($consulta);
     if ($row = $res->fetch_assoc()) {
         $ciudad = new Ciudad();
         $ciudad->setAbreviatura($row["Abreviatura"]);
         $ciudad->setNombre($row["Nombre"]);
     }
     $objeto->setCiudad($ciudad);
     //Establece un objeto de tipo 'Tipo'
     $consulta = "SELECT *\n                         FROM {$tablaTipo}\n                         WHERE Abreviatura = '{$abreviaturaTipo}'";
     $res = ControladorBaseDatos::query($consulta);
     if ($row = $res->fetch_assoc()) {
         $tipo = new TipoEmpleado();
         $tipo->setAbreviatura($row["Abreviatura"]);
         $tipo->setNombre($row["Nombre"]);
         $tipo->setComision($row["Comision"]);
     }
     $objeto->setTipoEmpleado($tipo);
     //Establece un objeto de tipo Turno
     $consulta = "SELECT *\n                         FROM {$tablaTurno}\n                         WHERE Abreviatura = '{$abreviaturaTurno}'";
     $res = ControladorBaseDatos::query($consulta);
     if ($row = $res->fetch_assoc()) {
         $turno = new Turno();
         $turno->setAbreviatura($row["Abreviatura"]);
         $turno->setNombre($row["Nombre"]);
         $turno->setHoras($row["Horas"]);
         $turno->setInicio($row["Inicio"]);
     }
     $objeto->setTurno($turno);
     //Establece un objeto de tipo Sucursal
     $sucursal = ControladorSucursal::obtenerSucursalID($idSucursal);
     $objeto->setSucursal($sucursal);
     return $objeto;
 }