Esempio n. 1
0
 public function loginUsuario($tipoLogin = 0, $pk_usuario = 0, $cod_autenticacao = 0, $ano_letivo = 0, $cod_atendente = 0)
 {
     try {
         // Se for do tipo de autenticação extra (facebook, por exemplo)
         if ($tipoLogin == 1) {
             $sqlUsuario = new SqlUsuario();
             $sqlUsuario = $sqlUsuario->validarLoginExtra($this, $pk_usuario, $cod_autenticacao, $cod_atendente);
         } elseif ($tipoLogin == 2) {
             $sqlUsuario = new SqlUsuario();
             $sqlUsuario = $sqlUsuario->validarDependente($pk_usuario, $cod_autenticacao);
         } else {
             $sqlUsuario = new SqlUsuario();
             $sqlUsuario = $sqlUsuario->validarLogin($this);
         }
         $_SESSION['pk_usuario'] = $sqlUsuario[0]['pk_usuario'];
         // Se logou, contabiliza a visita e cria uma sessão com a pk do usuário
         if (count($sqlUsuario) > 0) {
             if ($cod_autenticacao != 1) {
                 $sqlContabiliza = new SqlUsuario();
                 $sqlContabiliza->contabiliza_login($sqlUsuario[0]['pk_usuario']);
             }
         }
         // Se o resultado da consulta retornar uma array e esta for diferente de vazio
         if (is_array($sqlUsuario) && !empty($sqlUsuario)) {
             $i = 0;
             // Cria uma array para armazenar os tipos de usuário aos quais o usuário se enquadra
             $arrTipoUsuario = array();
             foreach ($sqlUsuario as $value) {
                 // Se estiver no primeiro loop seta os dados do usuário
                 if ($i == 0) {
                     $this->set_idUsuario($value['pk_usuario']);
                     $this->set_idUsuarioTipoVin($value['pk_usuario_tipo_vin']);
                     $this->set_nome($value['nome']);
                     $this->set_email($value['email']);
                     $this->set_login($value['login']);
                     $this->set_data_nasc($value['data_nasc']);
                     $this->set_data_cadastro($value['data_cadastro']);
                     $this->set_acessos($value['acessos']);
                     $this->set_ultimoacesso($value['ultimoacesso']);
                     $this->set_sexo($value['sexo']);
                     $this->_senha = null;
                 }
                 // Como um mesmo usuário pode ser cadastrado em mais de um tipo de usuário, setamos os tipos em array
                 $arrTipoUsuario[$i] = new TipoUsuario();
                 $arrTipoUsuario[$i]->set_idTipoUsuario($value['pk_tipo_usuario']);
                 $arrTipoUsuario[$i]->set_nome($value['nome_tipo_usuario']);
                 $arrTipoUsuario[$i]->set_tema($value['tema']);
                 // Se for aluno
                 if ($value['pk_tipo_usuario'] == 6) {
                     // Verifica se existem outros cadastros do mesmo aluno
                     $sqlAutenticacaoAluno = new SqlUsuario();
                     $sqlAutenticacaoAluno = $sqlAutenticacaoAluno->usuarioAutenticacaoAluno($value['pk_usuario']);
                     $i3 = 0;
                     $arrUsuarioAutenticacaoAluno = array();
                     foreach ($sqlAutenticacaoAluno as $row) {
                         $arrUsuarioAutenticacaoAluno[$i3] = new AutenticacaoExtra();
                         $arrUsuarioAutenticacaoAluno[$i3]->set_pk_turma($row['pk_turma']);
                         $arrUsuarioAutenticacaoAluno[$i3]->set_turma_nome($row['turma_nome']);
                         $arrUsuarioAutenticacaoAluno[$i3]->set_fk_usuario($row['fk_usuario']);
                         $arrUsuarioAutenticacaoAluno[$i3]->set_cod_autenticacao($row['cod_autenticacao']);
                         $i3++;
                     }
                     // Busca os dados da(s) turma(s) do aluno
                     $sqlAlunoTurmas = new SqlUsuario();
                     $sqlAlunoTurmas = $sqlAlunoTurmas->usuarioAlunoTurmas($value['pk_usuario'], $ano_letivo);
                     $i2 = 0;
                     // Cria uma array com os dados da(s) turma(s) do aluno para ser inserida nas personalizações mais adiante
                     $arrUsuarioAlunoTurmas = array();
                     foreach ($sqlAlunoTurmas as $row) {
                         $arrUsuarioAlunoTurmas[$i2] = new Turmas();
                         $arrUsuarioAlunoTurmas[$i2]->set_pk_turma($row['pk_turma']);
                         $arrUsuarioAlunoTurmas[$i2]->set_turma_nome($row['turma_nome']);
                         $arrUsuarioAlunoTurmas[$i2]->set_tmacod($row['tmacod']);
                         $arrUsuarioAlunoTurmas[$i2]->set_fk_serie($row['fk_serie']);
                         $arrUsuarioAlunoTurmas[$i2]->set_fk_unidade($row['fk_unidade']);
                         $arrUsuarioAlunoTurmas[$i2]->set_ano_letivo($row['ano']);
                         $arrUsuarioAlunoTurmas[$i2]->set_pk_usuario_aluno($row['pk_usuario_aluno']);
                         $i2++;
                     }
                     // Cria uma nova instância da classe SqlUsuario e busca os dados específicos na tabela 'usuario_aluno'
                     $sqlAluno = new SqlUsuario();
                     $sqlAluno = $sqlAluno->usuarioAluno($value['pk_usuario'], $ano_letivo);
                     // se a(s) turma(s) foram desabilitadas, redireciona para a página de login.
                     if (count($sqlAluno) == 0) {
                         redirect(base_url());
                         break;
                     }
                     // Cria uma array com os dados encontrados e seta-os no objeto 'UsuarioPersonalizacoes', o qual está atrelado a objeto 'TipoUsuario', que está atrelado ao objeto 'Usuario'
                     $i1 = 0;
                     $arrUsuarioAluno = array();
                     foreach ($sqlAluno as $row) {
                         $arrUsuarioAluno[$i1] = new UsuarioPersonalizacoes();
                         $arrUsuarioAluno[$i1]->set_pk_usuario_aluno($row['pk_usuario_aluno']);
                         $arrUsuarioAluno[$i1]->set_matricula($row['matricula']);
                         $arrUsuarioAluno[$i1]->set_ano_mat($row['ano_mat']);
                         $arrUsuarioAluno[$i1]->set_data_mat($row['data_mat']);
                         $arrUsuarioAluno[$i1]->set_turmas($arrUsuarioAlunoTurmas);
                         $arrUsuarioAluno[$i1]->set_autenticacao($arrUsuarioAutenticacaoAluno);
                         $i1++;
                     }
                     // Seta a array criada nas personalizações
                     $arrTipoUsuario[$i]->set_personalizacoes($arrUsuarioAluno);
                     // Cria uma array para preencher a classe de aluno ativo
                     $i1 = 0;
                     $arrUsuarioAluno = array();
                     foreach ($sqlAluno as $row) {
                         $arrUsuarioAluno[$i1] = new AlunoAtivo();
                         $arrUsuarioAluno[$i1]->set_pk_usuario($row['fk_usuario']);
                         $arrUsuarioAluno[$i1]->set_nome($row['nome']);
                         $arrUsuarioAluno[$i1]->set_pk_usuario_aluno($row['pk_usuario_aluno']);
                         $arrUsuarioAluno[$i1]->set_matricula($row['matricula']);
                         $arrUsuarioAluno[$i1]->set_ano_mat($row['ano_mat']);
                         $arrUsuarioAluno[$i1]->set_pk_turma($row['fk_turma']);
                         $arrUsuarioAluno[$i1]->set_turma_nome($row['turma_nome']);
                         $arrUsuarioAluno[$i1]->set_tmacod($row['tmacod']);
                         $arrUsuarioAluno[$i1]->set_pk_serie($row['fk_serie']);
                         $arrUsuarioAluno[$i1]->set_pk_unidade($row['fk_unidade']);
                         $i1++;
                     }
                     $arrTipoUsuario[$i]->set_alunoAtivo($arrUsuarioAluno);
                 }
                 // Se for administrador
                 if ($value['pk_tipo_usuario'] == 1) {
                     // Busca as turmas relacionadas ao usuário para serem inseridas nas personalizações mais adiante
                     $sqlUsuarioTurmas = new SqlUsuario();
                     $sqlUsuarioTurmas = $sqlUsuarioTurmas->usuarioTurmasAdmin($ano_letivo);
                     $i6 = 0;
                     $arrUsuarioTurmas = array();
                     foreach ($sqlUsuarioTurmas['registros'] as $row) {
                         $arrUsuarioTurmas[$i6] = new Turmas();
                         $arrUsuarioTurmas[$i6]->set_pk_turma($row['pk_turma']);
                         $arrUsuarioTurmas[$i6]->set_turma_nome($row['turma_nome']);
                         $arrUsuarioTurmas[$i6]->set_tmacod($row['tmacod']);
                         $arrUsuarioTurmas[$i6]->set_fk_serie($row['fk_serie']);
                         $arrUsuarioTurmas[$i6]->set_fk_unidade($row['fk_unidade']);
                         $i6++;
                     }
                     $sqlUnidades = new SqlUsuario();
                     $sqlUnidades = $sqlUnidades->usuarioUnidades($value['pk_usuario'], 0);
                     $i4 = 0;
                     $arrUsuarioUnidades = array();
                     foreach ($sqlUnidades['registros'] as $row) {
                         $arrUsuarioUnidades[$i4] = new Unidades();
                         $arrUsuarioUnidades[$i4]->set_unidade($row['fk_unidade']);
                         $i4++;
                     }
                     // Inclui as turmas e unidades na classe Usuario personalizacoes
                     $arrUsuarioPersonalizacoes = array();
                     $arrUsuarioPersonalizacoes[1] = new UsuarioPersonalizacoes();
                     $arrUsuarioPersonalizacoes[1]->set_turmas($arrUsuarioTurmas);
                     $arrUsuarioPersonalizacoes[1]->set_unidades($arrUsuarioUnidades);
                     // Seta a array criada nas personalizações
                     $arrTipoUsuario[$i]->set_personalizacoes($arrUsuarioPersonalizacoes);
                 }
                 // Se for gestor
                 if ($value['pk_tipo_usuario'] == 2) {
                     // Busca as turmas vinculadas ao tipo de usuário para serem inseridas nas personalizações mais adiante
                     $sqlUsuarioTurmas = new SqlUsuario();
                     $sqlUsuarioTurmas = $sqlUsuarioTurmas->usuarioTurmas($value['pk_usuario_tipo_vin'], $value['pk_tipo_usuario'], $ano_letivo);
                     $i6 = 0;
                     $arrUsuarioTurmas = array();
                     foreach ($sqlUsuarioTurmas['registros'] as $row) {
                         $arrUsuarioTurmas[$i6] = new Turmas();
                         $arrUsuarioTurmas[$i6]->set_pk_turma($row['pk_turma']);
                         $arrUsuarioTurmas[$i6]->set_turma_nome($row['turma_nome']);
                         $arrUsuarioTurmas[$i6]->set_tmacod($row['tmacod']);
                         $arrUsuarioTurmas[$i6]->set_fk_serie($row['fk_serie']);
                         $arrUsuarioTurmas[$i6]->set_fk_unidade($row['fk_unidade']);
                         $i6++;
                     }
                     $sqlUnidades = new SqlUsuario();
                     $sqlUnidades = $sqlUnidades->usuarioUnidades($value['pk_usuario'], $value['pk_tipo_usuario']);
                     $i4 = 0;
                     $arrUsuarioUnidades = array();
                     foreach ($sqlUnidades['registros'] as $row) {
                         $arrUsuarioUnidades[$i4] = new Unidades();
                         $arrUsuarioUnidades[$i4]->set_unidade($row['fk_unidade']);
                         $i4++;
                     }
                     // Inclui as turmas e unidades na classe Usuario personalizacoes
                     $arrUsuarioPersonalizacoes = array();
                     $arrUsuarioPersonalizacoes[1] = new UsuarioPersonalizacoes();
                     $arrUsuarioPersonalizacoes[1]->set_turmas($arrUsuarioTurmas);
                     $arrUsuarioPersonalizacoes[1]->set_unidades($arrUsuarioUnidades);
                     // Seta a array criada nas personalizações
                     $arrTipoUsuario[$i]->set_personalizacoes($arrUsuarioPersonalizacoes);
                 }
                 // Se for coordenador
                 if ($value['pk_tipo_usuario'] == 3) {
                     // Busca as turmas
                     $sqlUsuarioTurmas = new SqlUsuario();
                     $sqlUsuarioTurmas = $sqlUsuarioTurmas->usuarioTurmas($value['pk_usuario_tipo_vin'], $value['pk_tipo_usuario'], $ano_letivo);
                     $i6 = 0;
                     // Cria uma array com os dados da(s) turma(s) do aluno para ser inserida nas personalizações mais adiante
                     $arrUsuarioTurmas = array();
                     foreach ($sqlUsuarioTurmas['registros'] as $row) {
                         $arrUsuarioTurmas[$i6] = new Turmas();
                         $arrUsuarioTurmas[$i6]->set_pk_turma($row['pk_turma']);
                         $arrUsuarioTurmas[$i6]->set_turma_nome($row['turma_nome']);
                         $arrUsuarioTurmas[$i6]->set_tmacod($row['tmacod']);
                         $arrUsuarioTurmas[$i6]->set_fk_serie($row['fk_serie']);
                         $arrUsuarioTurmas[$i6]->set_fk_unidade($row['fk_unidade']);
                         $i6++;
                     }
                     // Cria uma nova instância da classe SqlUsuario e busca os dados específicos na tabela 'usuario_coordenador'
                     $sqlCoordenador = new SqlUsuario();
                     $sqlCoordenador = $sqlCoordenador->usuarioCoordenador($value['pk_usuario']);
                     $_SESSION['tipo_coordenador'] = $sqlCoordenador[0]['tipo'];
                     // Cria uma array com os dados encontrados e seta-os no objeto 'UsuarioPersonalizacoes', o qual está atrelado a objeto 'TipoUsuario', que está atrelado ao objeto 'Usuario'
                     $arrUsuarioCoordenador = array();
                     foreach ($sqlCoordenador as $row) {
                         $pk_usuario_coordenador = $row['pk_usuario_coordenador'];
                     }
                     $sqlUnidades = new SqlUsuario();
                     $sqlUnidades = $sqlUnidades->usuarioUnidades($value['pk_usuario'], $value['pk_tipo_usuario']);
                     $i4 = 0;
                     $arrUsuarioUnidades = array();
                     foreach ($sqlUnidades['registros'] as $row) {
                         $arrUsuarioUnidades[$i4] = new Unidades();
                         $arrUsuarioUnidades[$i4]->set_unidade($row['fk_unidade']);
                         $i4++;
                     }
                     $sqlCoordenacoes = new SqlUsuario();
                     $sqlCoordenacoes = $sqlCoordenacoes->usuarioCoordenacoes($value['pk_usuario'], $value['pk_tipo_usuario']);
                     $i4 = 0;
                     $arrUsuarioCoordenacoes = array();
                     foreach ($sqlCoordenacoes['registros'] as $row) {
                         $arrUsuarioCoordenacoes[$i4] = new Coordenacoes();
                         $arrUsuarioCoordenacoes[$i4]->set_pk_coordenacao($row['pk_coordenacao']);
                         $arrUsuarioCoordenacoes[$i4]->set_coordenacao_nome($row['coordenacao_nome']);
                         $arrUsuarioCoordenacoes[$i4]->set_fk_unidade($row['fk_unidade']);
                         $i4++;
                     }
                     $arrUsuarioCoordenador[1] = new UsuarioPersonalizacoes();
                     $arrUsuarioCoordenador[1]->set_pk_usuario_coordenador($pk_usuario_coordenador);
                     $arrUsuarioCoordenador[1]->set_turmas($arrUsuarioTurmas);
                     $arrUsuarioCoordenador[1]->set_unidades($arrUsuarioUnidades);
                     $arrUsuarioCoordenador[1]->set_coordenacoes($arrUsuarioCoordenacoes);
                     // Seta a array criada nas personalizações
                     $arrTipoUsuario[$i]->set_personalizacoes($arrUsuarioCoordenador);
                 }
                 // Se for responsável
                 if ($value['pk_tipo_usuario'] == 11) {
                     // Cria uma nova instância da classe SqlUsuario e busca os dados específicos na tabela 'usuario_responsavel'
                     $sqlResponsavel = new SqlUsuario();
                     $sqlResponsavel = $sqlResponsavel->usuarioResponsavel($value['pk_usuario']);
                     foreach ($sqlResponsavel as $row) {
                         $pk_usuario_responsavel = $row['pk_usuario_responsavel'];
                     }
                     // Busca os dependentes relacionados ao responsável
                     $sqlDependentes = new SqlUsuario();
                     $sqlDependentes = $sqlDependentes->usuarioDependentes($pk_usuario_responsavel, $ano_letivo);
                     // se não encontrou depentendetes no ano letivo atual, procura no ano seguinte
                     if ($sqlDependentes['total'] == 0) {
                         $ano_proximo = (int) $ano_letivo + 1;
                         // Busca os dependentes relacionados ao responsável
                         $sqlDependentes = new SqlUsuario();
                         $sqlDependentes = $sqlDependentes->usuarioDependentes($pk_usuario_responsavel, $ano_proximo);
                     }
                     $i4 = 0;
                     $arrUsuarioDependentes = array();
                     foreach ($sqlDependentes['registros'] as $row) {
                         $arrUsuarioDependentes[$i4] = new Dependentes();
                         $arrUsuarioDependentes[$i4]->set_dep_pk_usuario($row['pk_usuario']);
                         $arrUsuarioDependentes[$i4]->set_dep_nome($row['nome']);
                         $arrUsuarioDependentes[$i4]->set_dep_pk_usuario_aluno($row['pk_usuario_aluno']);
                         $arrUsuarioDependentes[$i4]->set_dep_matricula($row['matricula']);
                         $arrUsuarioDependentes[$i4]->set_dep_ano($row['ano_mat']);
                         $arrUsuarioDependentes[$i4]->set_dep_pk_turma($row['pk_turma']);
                         $arrUsuarioDependentes[$i4]->set_dep_turma_nome($row['turma_nome']);
                         $arrUsuarioDependentes[$i4]->set_dep_tmacod($row['tmacod']);
                         $arrUsuarioDependentes[$i4]->set_dep_pk_serie($row['fk_serie']);
                         $arrUsuarioDependentes[$i4]->set_dep_pk_unidade($row['fk_unidade']);
                         $arrUsuarioDependentes[$i4]->set_dep_status_matricula($row['status_matricula']);
                         $i4++;
                     }
                     // Cria uma array com os dados encontrados e seta-os no objeto 'UsuarioPersonalizacoes', o qual está atrelado a objeto 'TipoUsuario', que está atrelado ao objeto 'Usuario'
                     $i4 = 0;
                     $arrUsuarioResponsavel = array();
                     foreach ($sqlResponsavel as $row) {
                         $arrUsuarioResponsavel[$i4] = new UsuarioPersonalizacoes();
                         $arrUsuarioResponsavel[$i4]->set_pk_usuario_responsavel($row['pk_usuario_responsavel']);
                         $arrUsuarioResponsavel[$i4]->set_dependentes($arrUsuarioDependentes);
                         $i4++;
                     }
                     // Seta a array criada nas personalizações
                     $arrTipoUsuario[$i]->set_personalizacoes($arrUsuarioResponsavel);
                 }
                 // Se for professor
                 if ($value['pk_tipo_usuario'] == 15) {
                     // pega a pk_usuario_professor
                     $sqlProfessor = new SqlUsuario();
                     $sqlProfessor = $sqlProfessor->usuarioProfessor($value['pk_usuario']);
                     $pk_usuario_professor = $sqlProfessor[0]['pk_usuario_professor'];
                     // busca a pk_usuario_professor nos vículos de matéria e serie
                     $sqlMaterias = new SqlGrade();
                     $result = $sqlMaterias->listar_materias_serie_professor($pk_usuario_professor, $ano_letivo);
                     $i5 = 0;
                     $arrUsuarioProfessorMaterias = array();
                     foreach ($result['registros'] as $row) {
                         $arrUsuarioProfessorMaterias[$i5] = new MateriasVin();
                         $arrUsuarioProfessorMaterias[$i5]->set_pk_materia_vin($row['fk_materia_vin']);
                         $arrUsuarioProfessorMaterias[$i5]->set_materia_nome($row['materia_nome']);
                         $arrUsuarioProfessorMaterias[$i5]->set_serie_nome($row['serie_nome']);
                         $arrUsuarioProfessorMaterias[$i5]->set_pk_serie($row['fk_serie']);
                         $arrUsuarioProfessorMaterias[$i5]->set_pk_materia($row['fk_materia']);
                         $arrUsuarioProfessorMaterias[$i5]->set_pk_materia_mae($row['fk_materia_mae']);
                         $i5++;
                     }
                     // Busca as turmas nas quais o professor está vinculado
                     $sqlUsuarioTurmas = new SqlUsuario();
                     $sqlUsuarioTurmas = $sqlUsuarioTurmas->usuarioTurmasProfessor($pk_usuario_professor, $ano_letivo);
                     $i6 = 0;
                     // Cria uma array com os dados da(s) turma(s) do aluno para ser inserida nas personalizações mais adiante
                     $arrUsuarioTurmas = array();
                     foreach ($sqlUsuarioTurmas['registros'] as $row) {
                         $arrUsuarioTurmas[$i6] = new Turmas();
                         $arrUsuarioTurmas[$i6]->set_pk_turma($row['pk_turma']);
                         $arrUsuarioTurmas[$i6]->set_turma_nome($row['turma_nome']);
                         $arrUsuarioTurmas[$i6]->set_tmacod($row['tmacod']);
                         $arrUsuarioTurmas[$i6]->set_fk_serie($row['fk_serie']);
                         $arrUsuarioTurmas[$i6]->set_fk_unidade($row['fk_unidade']);
                         $i6++;
                     }
                     // Cria uma array com as séries do professor
                     $arrUsuarioSeries = array();
                     $i7 = 0;
                     $_SESSION['distinct_serie'] = '';
                     foreach ($sqlUsuarioTurmas['registros'] as $row) {
                         if ($row['fk_serie'] != $_SESSION['distinct_serie']) {
                             $arrUsuarioSeries[$i7] = new Series();
                             $arrUsuarioSeries[$i7]->set_pk_serie($row['fk_serie']);
                             $i7++;
                         }
                         $_SESSION['distinct_serie'] = $row['fk_serie'];
                     }
                     // Cria uma array com as unidades do professor
                     $arrUsuarioUnidades = array();
                     $i8 = 0;
                     $_SESSION['distinct_unidade'] = '';
                     foreach ($sqlUsuarioTurmas['registros'] as $row) {
                         if ($row['fk_unidade'] != $_SESSION['distinct_unidade']) {
                             $arrUsuarioUnidades[$i8] = new Unidades();
                             $arrUsuarioUnidades[$i8]->set_unidade($row['fk_unidade']);
                             $i8++;
                         }
                         $_SESSION['distinct_unidade'] = $row['fk_unidade'];
                     }
                     // Seta as personalizações do usuário professor
                     $arrUsuarioProfessor[0] = new UsuarioPersonalizacoes();
                     $arrUsuarioProfessor[0]->set_pk_usuario_professor($pk_usuario_professor);
                     $arrUsuarioProfessor[0]->set_materias_vin($arrUsuarioProfessorMaterias);
                     $arrUsuarioProfessor[0]->set_turmas($arrUsuarioTurmas);
                     $arrUsuarioProfessor[0]->set_series($arrUsuarioSeries);
                     $arrUsuarioProfessor[0]->set_unidades($arrUsuarioUnidades);
                     // Seta as personalizações no objeto Usuário
                     $arrTipoUsuario[$i]->set_personalizacoes($arrUsuarioProfessor);
                 }
                 // Se for atendente
                 if ($value['pk_tipo_usuario'] == 18) {
                     $sqlAtendente = new SqlUsuario();
                     $result = $sqlAtendente->usuarioAtendenteUnidade($value['pk_usuario']);
                     $arrUsuarioUnidades = array();
                     $i10 = 0;
                     foreach ($result['registros'] as $row) {
                         $arrUsuarioUnidades[$i10] = new Unidades();
                         $arrUsuarioUnidades[$i10]->set_unidade($row['fk_unidade']);
                         $i10++;
                     }
                     $arrUsuarioAtendente[0] = new UsuarioPersonalizacoes();
                     $arrUsuarioAtendente[0]->set_unidades($arrUsuarioUnidades);
                     // Seta as personalizações no objeto Usuário
                     $arrTipoUsuario[$i]->set_personalizacoes($arrUsuarioAtendente);
                 }
                 // Se for tesoureira
                 if ($value['pk_tipo_usuario'] == 19) {
                     // Busca as turmas
                     $sqlUsuarioTurmas = new SqlUsuario();
                     $sqlUsuarioTurmas = $sqlUsuarioTurmas->usuarioTurmas($value['pk_usuario_tipo_vin'], $value['pk_tipo_usuario'], $ano_letivo);
                     $i12 = 0;
                     // Cria uma array com os dados da(s) turma(s) do aluno para ser inserida nas personalizações mais adiante
                     $arrUsuarioTurmas = array();
                     foreach ($sqlUsuarioTurmas['registros'] as $row) {
                         $arrUsuarioTurmas[$i12] = new Turmas();
                         $arrUsuarioTurmas[$i12]->set_pk_turma($row['pk_turma']);
                         $arrUsuarioTurmas[$i12]->set_turma_nome($row['turma_nome']);
                         $arrUsuarioTurmas[$i12]->set_tmacod($row['tmacod']);
                         $arrUsuarioTurmas[$i12]->set_fk_serie($row['fk_serie']);
                         $arrUsuarioTurmas[$i12]->set_fk_unidade($row['fk_unidade']);
                         $i12++;
                     }
                     $sqlAtendente = new SqlUsuario();
                     $result = $sqlAtendente->usuarioTesourariaUnidade($value['pk_usuario']);
                     $arrUsuarioUnidades = array();
                     $i11 = 0;
                     foreach ($result['registros'] as $row) {
                         $arrUsuarioUnidades[$i11] = new Unidades();
                         $arrUsuarioUnidades[$i11]->set_unidade($row['fk_unidade']);
                         $i11++;
                     }
                     $arrUsuarioAtendente[0] = new UsuarioPersonalizacoes();
                     $arrUsuarioAtendente[0]->set_unidades($arrUsuarioUnidades);
                     $arrUsuarioAtendente[0]->set_turmas($arrUsuarioTurmas);
                     // Seta as personalizações no objeto Usuário
                     $arrTipoUsuario[$i]->set_personalizacoes($arrUsuarioAtendente);
                 }
                 $i++;
             }
             // Seta a array com os tipos de usuário
             $this->set_tipoUsuario($arrTipoUsuario);
             return $this;
         }
         return false;
     } catch (Exception $e) {
         //            var_dump($e);
         //            die();
         throw new Exception($e->getMessage());
     }
 }