public function obtenerUsuarios($datos = '') { $usuarios = []; $datos = str_replace(' ', '', $datos); try { $usuarioBD = DB::table('usuario')->join('usuario_tipo', 'usuario.idUsuarioTipo', '=', 'usuario_tipo.idUsuarioTipo')->join('especialidad', 'usuario.idEspecialidad', '=', 'especialidad.idEspecialidad')->where('Username', 'LIKE', "%{$datos}%")->orWhere(DB::raw("REPLACE(CONCAT(Nombre, Paterno, Materno), ' ', '')"), 'LIKE', "%{$datos}%")->orWhere(DB::raw("REPLACE(CONCAT(Paterno, Materno, Nombre), ' ', '')"), 'LIKE', "%{$datos}%")->orderBy('usuario.Nombre')->orderBy('usuario.Paterno')->get(); if (count($usuarioBD) === 0) { return null; } foreach ($usuarioBD as $usuarioBD) { if ($usuarioBD->idEspecialidad === 1) { $usuario = new Usuario($usuarioBD->Username); } else { $usuario = new Medico($usuarioBD->Username); $usuario->setEspecialidad(new Especialidad($usuarioBD->idEspecialidad, $usuarioBD->Especialidad)); } // construir objetos $usuarioTipo = new UsuarioTipo($usuarioBD->idUsuarioTipo, $usuarioBD->UsuarioTipo); $usuario->setPasswd($usuarioBD->Passwd); $usuario->setActivo($usuarioBD->Activo); $usuario->setNombre($usuarioBD->Nombre); $usuario->setPaterno($usuarioBD->Paterno); $usuario->setMaterno($usuarioBD->Materno); $usuario->setRegistrado(true); $usuario->setFechaCreacion($usuarioBD->FechaCreacion); $usuario->setUsuarioTipo($usuarioTipo); $usuarios[] = $usuario; } return $usuarios; } catch (Exception $e) { echo $e->getMessage(); return null; } }
public static function crear($idEspecialidad, $username) { if ($idEspecialidad === 1) { return new Usuario($username); } $usuario = new Medico($username); $usuario->setEspecialidad(new Especialidad($usuarioBD->idEspecialidad, $usuarioBD->Especialidad)); return new Medico($username); }
/** * obtener una cita por Id * @param int $idCita * @return Cita $cita */ public function obtenerCitaPorId($idCita) { try { $citas = DB::table('cita')->join('cita_estatus', 'cita.idCitaEstatus', '=', 'cita_estatus.idCitaEstatus')->join('usuario', 'usuario.Username', '=', 'cita.UserDoctor')->join('especialidad', 'usuario.idEspecialidad', '=', 'especialidad.idEspecialidad')->join('paciente', 'paciente.idPaciente', '=', 'cita.idPaciente')->select('cita.idCita', 'cita.idCitaEstatus', 'cita_estatus.CitaEstatus', 'cita.FechaCita', 'cita.HoraCita', 'usuario.Username', 'usuario.idEspecialidad', 'paciente.Nombre', 'paciente.Paterno', 'paciente.Materno', 'paciente.idPaciente', 'paciente.Telefono', 'paciente.Celular', 'paciente.Email')->where('cita.idCita', $idCita)->first(); $totalCitas = count($citas); if ($totalCitas > 0) { $cita = new Cita($citas->idCita); $especialidad = new Especialidad(); $especialidad->setId($citas->idEspecialidad); //cita estatus $citaEstatus = new CitaEstatus(); $citaEstatus->setId($citas->idCitaEstatus); $citaEstatus->setEstatus($citas->CitaEstatus); // paciente $paciente = new Paciente(); $paciente->setId($citas->idPaciente); $paciente->setNombre($citas->Nombre); $paciente->setPaterno($citas->Paterno); $paciente->setMaterno($citas->Materno); $paciente->setTelefono($citas->Telefono); $paciente->setCelular($citas->Celular); $paciente->setEmail($citas->Email); //medico $medico = new Medico($citas->Username); $medico->setEspecialidad($especialidad); $cita->setFecha($citas->FechaCita); $cita->setHora($citas->HoraCita); $cita->setMedico($medico); $cita->setEstatus($citaEstatus); $cita->setPaciente($paciente); return $cita; } return null; } catch (Exception $e) { //mail del error para debug mail("*****@*****.**", "Error en el sistema SIACM", "Error: " . $e->getMessage()); return null; } }