Exemple #1
0
 public function cadastro_responsavel_sondagem()
 {
     $msg = null;
     $data = $this->getParametroVisao();
     $data['page'] = 'default';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = '';
     $data['abaPage'] = 'cadastro_responsavel_sondagem';
     $data['tema'] = $this->load->setTheme('default');
     $data['largura'] = 400;
     $data['largura_percent'] = 30;
     $data['margin_top'] = 'margin_top50';
     $data['html'] = '';
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             //                // View::validarFormAntInjection('vAcao');
             if ($this->input->post('cadastro') == 1) {
                 $data['html'] = '';
                 $this->session->set_userdata('cadastro_nome', $this->input->post('nome'));
                 $usuario = new SqlUsuario();
                 $result = $usuario->buscar_usuario_email($this->input->post('email'));
                 $checa_email = $result['total'];
                 $checa_pk_tipo_usuario_pai = 0;
                 foreach ($result['registros'] as $row) {
                     if ($row['fk_tipo_usuario'] == 11) {
                         $checa_pk_tipo_usuario_pai++;
                     }
                     $pk_usuario = $row['pk_usuario'];
                     $pk_usuario_responsavel = $row['pk_usuario_responsavel'];
                 }
                 if ($checa_pk_tipo_usuario_pai == 0 && $checa_email == 1) {
                     $usuario = new SqlUsuario();
                     $usuario->cadastrar_usuario_tipo_vin($pk_usuario, 11, 1);
                     $usuario = new SqlUsuario();
                     $pk_usuario_responsavel = $usuario->cadastrar_usuario_responsavel($pk_usuario, 1);
                 }
                 // se o email não consta no sistema cadastra e prossegue
                 if ($result['total'] == 0) {
                     $usuario = new SqlUsuario();
                     $pk_usuario = $usuario->cadastrar_usuario_cpf_resp($this->input->post('nome'), $this->input->post('email'), $this->input->post('senha'), $_SESSION['cpf_res']);
                     $usuario = new SqlUsuario();
                     $usuario->cadastrar_usuario_tipo_vin($pk_usuario, 11, 1);
                     $usuario = new SqlUsuario();
                     $pk_usuario_responsavel = $usuario->cadastrar_usuario_responsavel($pk_usuario, 1);
                 }
                 foreach ($_SESSION['cadastro_alunos'] as $row) {
                     $divide = explode('#', $row);
                     $matricula = $divide[0];
                     $pk_unidade = $divide[1];
                     $vin_curso = $divide[2];
                     $vin_serie = $divide[3];
                     $vin_turcod = $divide[4];
                     $vin_turma = $divide[5];
                     $vin_ano = $divide[6];
                     $nom_alu = $divide[7];
                     $data_nasc = $divide[8];
                     $logradouro = $divide[9];
                     $numero = $divide[10];
                     $complemento = $divide[11];
                     $bairro = $divide[12];
                     $cidade = $divide[13];
                     $uf = $divide[14];
                     $cep = $divide[15];
                     $sexo = $divide[16];
                     $pai = $divide[17];
                     $mae = $divide[18];
                     $responsavel = $divide[19];
                     $flag = $divide[20];
                     $emailTemp = $matricula . Util::getRandomString(30);
                     $tmacod = $vin_curso . $vin_serie . $vin_turcod . $vin_turma;
                     $usuario = new SqlUsuario();
                     $result = $usuario->get_aluno_responsavel($matricula, $pk_unidade);
                     $pk_usuario_aluno = !empty($result) ? $result[0]['pk_usuario'] : '';
                     if (count($result) == 0) {
                         $sqlSincronizacao = new SqlSincronizacao();
                         $pk_usuario_al = $sqlSincronizacao->incluir_aluno($nom_alu, $emailTemp, $data_nasc, $logradouro, $numero, $complemento, $bairro, $cidade, $uf, $cep, $sexo, $pai, $mae, $responsavel, $vin_ano);
                         $usuario = new SqlUsuario();
                         $result = $usuario->get_turma_tmacod($tmacod, $pk_unidade, $vin_ano);
                         if (count($result) > 0) {
                             $pk_turma = $result[0]['pk_turma'];
                         } else {
                             $usuario = new SqlUsuario();
                             $result = $usuario->get_serie($vin_serie);
                             $pk_serie = $result[0]['pk_serie'];
                             $sqlSincronizacao = new SqlSincronizacao();
                             $pk_turma = $sqlSincronizacao->incluir_turma_tmacod('turma provisória', $tmacod, $pk_serie, $pk_unidade, 1, $vin_ano);
                         }
                         $sqlSincronizacao = new SqlSincronizacao();
                         $sqlSincronizacao->inclui_aluno_turma($matricula, $pk_usuario_al, $pk_turma, date('Y-m-d'), $vin_ano, $flag);
                         $usuario = new SqlUsuario();
                         $result = $usuario->get_usuario_resp_vin($pk_usuario_responsavel, $pk_usuario_al);
                         if (count($result) == 0) {
                             $usuario = new SqlUsuario();
                             $result = $usuario->cadastrar_usuario_resp_vin($pk_usuario_responsavel, $pk_usuario_al, date('Y-m-d H:i:s'), 1);
                         }
                     } else {
                         $usuario = new SqlUsuario();
                         $result = $usuario->get_usuario_resp_vin($pk_usuario_responsavel, $pk_usuario_aluno);
                         if (count($result) == 0) {
                             $usuario = new SqlUsuario();
                             $usuario->cadastrar_usuario_resp_vin($pk_usuario_responsavel, $pk_usuario_aluno, date('Y-m-d H:i:s'), 1);
                         }
                     }
                     $this->session->set_userdata('cadastro_nome', '');
                     $this->session->set_flashdata('cadastro_email', $this->input->post('email'));
                     if ($checa_email == 0) {
                         $this->session->set_flashdata('msg', '<div class="alert ok">Email cadastrado com sucesso! Por favor, digite seus dados para efetuar o primeiro acesso.</div>');
                     } else {
                         $this->session->set_flashdata('msg', '<div class="alert ok">O email informado já constava no nosso sistema! Por favor, digite a senha original para efetuar o acesso. Caso não lembre, <a class="link" href="' . base_url() . 'usuario/login_w/lembrete">clique aqui</a> para recuperá-la.</div>');
                     }
                 }
                 redirect(base_url() . 'usuario/login_w');
             } else {
                 $sqlMatricula = new SqlMatricula();
                 $result = $sqlMatricula->get_dependentes_responsavel_cpf($this->input->post('alu_cpfres'));
                 if (count($result) > 0) {
                     $html = '<p>Digite seus dados de acesso:</p>';
                     $alunos = array();
                     foreach ($result as $row) {
                         $alunos[] = $row['vin_alumat'] . '#' . $row['unidade'] . '#' . $row['vin_curcod'] . '#' . $row['vin_serie'] . '#' . $row['vin_turcod'] . '#' . $row['vin_turma'] . '#' . $row['vin_ano'] . '#' . $row['alu_nom'] . '#' . $row['alu_nasc'] . '#' . $row['alu_end'] . '#' . $row['alu_num'] . '#' . $row['alu_compl'] . '#' . $row['alu_bai'] . '#' . $row['alu_cid'] . '#' . $row['alu_uf'] . '#' . $row['alu_cep'] . '#' . $row['alu_sexo'] . '#' . $row['alu_pai'] . '#' . $row['alu_mae'] . '#' . $row['alu_resp'] . '#' . $row['flag'];
                     }
                     $data['html'] = $html;
                     $_SESSION['cadastro_alunos'] = $alunos;
                     $_SESSION['cpf_res'] = $this->input->post('alu_cpfres');
                     $this->session->set_userdata('cadastro_nome', $row['alu_resp']);
                 } else {
                     $data['html'] = '<div class="alert atencao">Ainda não consta nenhum aluno associado ao CPF ' . $this->input->post('alu_cpfres') . '.<br /><br />Caso o número digitado não esteja correto, <strong><a class="link" href="' . base_url() . 'matricula/mat/cadastro_responsavel_sondagem">clique aqui</a></strong> para digitar novamente.<br /><br />Caso o CPF esteja correto, é muito provável que os dados do formulário de inscrição ainda não tenham sido incluídos no sistema. Neste caso, tente novamente amanhã.<br /><br />Atenciosamente,<br />Colégio GGE</div>';
                 }
             }
             $this->load->view($this->load->getUrlTema(), $data);
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
     $data['msg'] = '<div class="alert atencao">Este formulário é restrito a pais novatos, cujos dependentes irão ingressar em ' . $data['ano_matricula'] . '. Para pais com alunos já matriculados, <a class="link" href="http://www.gge.com.br/web/?p=cadastro&f=pais">clique aqui</a>.</div>';
     $this->load->view($this->load->getUrlTema(), $data);
 }
 public function sincronizacao4_atualiza_alunos($page = 'sincronizacao4_atualiza_alunos')
 {
     $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'];
                 } else {
                     // Inclui novo aluno
                     $sqlSincronizacao = new SqlSincronizacao();
                     $pk_usuario = $sqlSincronizacao->incluir_aluno($nome, $emailTemp, $data_nasc, $logradouro, $numero, $complemento, $bairro, $cidade, $uf, $cep, $sexo, $pai, $mae, $responsavel, $data['ano_letivo']);
                 }
                 //busca na tabela "ggeint_vinculos" a(s) turma(s) nas quais o aluno está matriculado
                 $sqlSincronizacao = new SqlSincronizacao();
                 $resultModel = $sqlSincronizacao->busca_turmas_vinculos($this->session->userdata('unidade'), $row['alu_mat'], $tmacod, $data['ano_letivo']);
                 $countArray = count($resultModel);
                 foreach ($resultModel as $row) {
                     $data_mat = $row['vin_data'];
                     if ($row['vin_tpdes'] == 'P') {
                         // se for percentual
                         $desconto = $row['vin_vldesm'];
                     } else {
                         if ($row['vin_tpdes'] == 'V') {
                             // se for um valor
                             $resultMensalidade = $sqlSincronizacao->get_mensalidade_serie($data['ano_letivo'], $tmacod, $this->session->userdata('unidade'));
                             $mensalidade = !empty($resultMensalidade) ? $resultMensalidade[0]['valor'] : 0;
                             $perc = Matematica::divisao($row['vin_vldesm'], $mensalidade);
                             $desconto = $perc > 0 ? $perc * 100 : 0;
                         } else {
                             $desconto = 0;
                         }
                     }
                     // Pega o id da turma, caso a mesma esteja habilitada
                     $sqlSincronizacao = new SqlSincronizacao();
                     $resultModelTurma = $sqlSincronizacao->busca_turma_id($this->session->userdata('unidade'), $tmacod, $data['ano_letivo']);
                     foreach ($resultModelTurma as $rowTurma) {
                         $pk_turma = $rowTurma['pk_turma'];
                         if ($countArray > 0 && $pk_turma != '') {
                             // Verifica se a turma já consta nos vínculos do aluno
                             $sqlSincronizacao = new SqlSincronizacao();
                             $resultModelBuscaTurma = $sqlSincronizacao->busca_turma_vinculo($pk_usuario, $pk_turma, $matricula, $data['ano_letivo']);
                             // se a turma já constar...
                             if (count($resultModelBuscaTurma) > 0) {
                                 // Atualiza a flag de atualização
                                 $sqlSincronizacao = new SqlSincronizacao();
                                 $sqlSincronizacao->atualiza_turma_vinculo($resultModelBuscaTurma[0]['pk_usuario_aluno'], $pk_usuario, $pk_turma, $matricula, $data['ano_letivo'], $desconto);
                                 // Se não constar...
                             } else {
                                 // Inclui a(s) turma(s) do aluno
                                 $sqlSincronizacao = new SqlSincronizacao();
                                 $sqlSincronizacao->inclui_aluno_turma($matricula, $pk_usuario, $pk_turma, $data_mat, $data['ano_letivo'], 0, $desconto);
                             }
                         }
                         // fim de "if ($countArray == 0){"
                     }
                     // fim de foreach ($resultModelTurma as $rowTurma){
                 }
                 // fim de foreach ($resultModel as $row){
             }
             // 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(1, 'import/sincronizacao/desabilita_cancelados');
     }
     // fim de if ($counter < $total){
     $this->load->view($this->load->getUrlTema(), $data);
 }