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); }