Ejemplo n.º 1
0
 public function sincronizacao6_atualiza_alunos_afa($page = 'sincronizacao6_atualiza_alunos_afa')
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 3;
     $data['abaPage'] = $page;
     // Se a sessão de 'array_turmas' não estiver definida, reencaminha para o método de definição
     if (!is_array($_SESSION['array_turmas_atualiza'])) {
         $this->load->library('util');
         $data['redirect_delay'] = $this->util->redirect_delay(3, 'import/sincronizacao/sincronizacao2_array_turmas');
     } else {
         // Pega o total de turmas a serem processadas
         $total = count($_SESSION['array_turmas_atualiza']);
         $result = $_SESSION['array_turmas_atualiza'];
     }
     $data['total'] = $total;
     // Se já tiver ocorrido algum redirecionamento, faz um incremento. Caso contrário, inicia a contagem
     if (isset($_GET['counter'])) {
         $counter = $_GET['counter'] + 1;
     } else {
         $counter = 0;
     }
     // carrega a library e envia as variáveis a função "loop_refresh"
     $this->load->library('util');
     $data['redirect_delay'] = $this->util->loop_refresh('1', $this->uri->segment(3), $counter, $total);
     // Se o contador for menor que o total de registros da array, efetua o processamento com base na turma da vez
     if ($counter < $total) {
         // Cria o filtro da turma e o envia a model para listagem dos alunos da referida turma
         $tmacod = $result[$counter];
         $sqlSincronizacao = new SqlSincronizacao();
         $resultModel = $sqlSincronizacao->sincroniza_alunos_listagem($this->session->userdata('unidade'), $tmacod, $data['ano_letivo']);
         // conta quantos dados foram encontrados
         $countArray = count($resultModel);
         // Se houver registros (alunos) na turma da vez...
         if ($countArray > 0) {
             $seq = 0;
             // Cria o loop de atualização nos registros encontrados
             foreach ($resultModel as $row) {
                 // echo $row['alu_mat'].') '.$row['alu_nom'].'<br />';
                 $seq++;
                 $emailTemp = Util::getRandomString(60);
                 $matricula = $row['alu_mat'];
                 $nome = $row['alu_nom'];
                 $data_nasc = $row['alu_dtnasc'];
                 $logradouro = $row['alu_end'];
                 $numero = $row['alu_num'];
                 $complemento = $row['alu_compl'];
                 $bairro = $row['alu_bai'];
                 $cidade = $row['alu_cid'];
                 $uf = $row['alu_uf'];
                 $cep = $row['alu_cep'];
                 $sexo = $row['alu_sexo'];
                 $pai = $row['alu_pai'];
                 $mae = $row['alu_mae'];
                 $responsavel = $row['alu_resp'];
                 // verifica se o aluno já tem cadastro no site
                 $sqlSincronizacao = new SqlSincronizacao();
                 $resultModelAluno = $sqlSincronizacao->busca_aluno($nome, $data_nasc, $matricula, $this->session->userdata('unidade'));
                 $temCadastro = 0;
                 if (count($resultModelAluno) > 0) {
                     similar_text($resultModelAluno[0]['nome'], $nome, $percent);
                     // Se o percentual de similaridade encontrado no nome for superior a 90%, significa que o aluno já tem cadastro,
                     if ($percent > 90) {
                         $temCadastro = 1;
                     }
                 }
                 if ($temCadastro == 1) {
                     $pk_usuario = $resultModelAluno[0]['pk_usuario'];
                 }
                 $sqlSincronizacao = new SqlSincronizacao();
                 $result = $sqlSincronizacao->busca_aluno_turma($this->session->userdata('unidade'), $row['alu_mat'], $tmacod, $data['ano_letivo']);
                 foreach ($result as $var) {
                     $sqlSincronizacao = new SqlSincronizacao();
                     $result = $sqlSincronizacao->checa_afa($var['pk_usuario_aluno']);
                     if (empty($result)) {
                         $sqlSincronizacao = new SqlSincronizacao();
                         $result = $sqlSincronizacao->inclui_aluno_afa($var['pk_usuario_aluno']);
                     }
                 }
             }
             // fim de 'foreach ($resultModel as $row){'
         }
         // fim de 'if ($countArray > 0){'
     } else {
         //                // Carrega a library "útil" e o método que redireciona a próxima página com um delay pré-definido
         //                $this->load->library('util');
         //                $data['redirect_delay'] = $this->util->redirect_delay(3, 'import/sincronizacao/desabilita_cancelados');
     }
     // fim de if ($counter < $total){
     $this->load->view($this->load->getUrlTema(), $data);
 }