/** * 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; }