Exemplo n.º 1
0
 public function cadastrar_alunos()
 {
     $msg = null;
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $msg;
     $data['abaAtiva'] = 17;
     $data['abaPage'] = 'cadastrar_alunos';
     $data['alias'] = 'cadastrar_alunos';
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             // $this->load->validarFormAntInjection($data['alias']);
             // reseta a flg de atualização
             $sqlRecuperacao = new SqlRecuperacao();
             $result = $sqlRecuperacao->get_inscritos($this->input->post('pk_rec_modulo'));
             foreach ($result as $row) {
                 $sqlRecuperacao = new SqlRecuperacao();
                 $result = $sqlRecuperacao->reseta_flag_atualizacao($row['fk_rec_dia_aula'], $row['fk_usuario_aluno']);
             }
             $sqlRecuperacao = new SqlRecuperacao();
             $dias_aulas = $sqlRecuperacao->get_dias_aulas($this->input->post('pk_rec_modulo'));
             foreach ($this->input->post('check') as $item) {
                 echo '---' . $item . '<br />';
                 foreach ($dias_aulas as $dia) {
                     $sqlRecuperacao = new SqlRecuperacao();
                     $result = $sqlRecuperacao->checa_inscricao($dia['pk_rec_dia_aula'], $item);
                     // Se não tiver, inclui
                     if ($result['total'] == 0) {
                         echo 'inclui<br/>';
                         $sqlRecuperacao = new SqlRecuperacao();
                         $sqlRecuperacao->insert_aluno($dia['pk_rec_dia_aula'], $item);
                     } else {
                         echo 'atualiza<br/>';
                         $sqlRecuperacao = new SqlRecuperacao();
                         $sqlRecuperacao->update_aluno($dia['pk_rec_dia_aula'], $item);
                     }
                 }
             }
             $sqlRecuperacao = new SqlRecuperacao();
             $result = $sqlRecuperacao->get_inscritos($this->input->post('pk_rec_modulo'));
             foreach ($result as $row) {
                 if ($row['flag_atualiza'] == 0) {
                     $sqlRecuperacao = new SqlRecuperacao();
                     $sqlRecuperacao->delete_inscrito($row['fk_rec_dia_aula'], $row['fk_usuario_aluno']);
                 }
             }
             $this->session->set_flashdata('msg', '<div class="alert ok">Dados atualizados com sucesso!</div>');
             redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_modulos/');
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
     $sqlRecuperacao = new SqlRecuperacao();
     $result = $sqlRecuperacao->get_modulo_tipo($this->uri->segment(4));
     $nota_referencia = strtolower($result[0]['referencia']);
     $data['modulo'] = $result[0]['titulo_modulo'];
     $data['serie'] = $result[0]['serie_nome'];
     $sqlRecuperacao = new SqlRecuperacao();
     $result = $sqlRecuperacao->get_alunos($this->uri->segment(4), $_GET['fk_unidade'], $_GET['fk_serie'], $data['ano_letivo'], $nota_referencia);
     $data['total'] = count($result);
     $marca_checkboxes = count($result) - 50;
     $conta_medias = 0;
     $array_result = array();
     foreach ($result as $row) {
         if ($row['media'] != '-1') {
             $conta_medias++;
         }
         $array_result[] = array('pk_usuario_aluno' => $row['pk_usuario_aluno'], 'nome' => $row['nome'], 'matricula' => $row['matricula'], 'turma_nome' => $row['turma_nome'], 'media' => $row['media'], 'fk_usuario_aluno' => $row['fk_usuario_aluno']);
     }
     //        foreach($array_result as &$ma){
     //            $tmp[] = &$ma["media"];
     //        }
     //
     //        if (count($array_result) > 0)
     //        {
     //            array_multisort($tmp, SORT_DESC, $array_result);
     //        }
     foreach ($array_result as &$ma) {
         $tmp[] =& $ma["nome"];
     }
     if (count($array_result) > 0) {
         array_multisort($tmp, SORT_ASC, $array_result);
     }
     $result['registros'] = $array_result;
     if ($data['total'] > 0) {
         $this->load->library('table');
         $arrHead[] = '';
         $arrHead[] = 'Nota';
         $arrHead[] = 'Matrícula';
         $arrHead[] = 'Aluno';
         $arrHead[] = 'Turma';
         $this->table->set_heading($arrHead);
         $count = 0;
         foreach ($result['registros'] as $row) {
             $count++;
             $tmpl = Util::zebrar($count, count($result));
             $checkboxes = $row['fk_usuario_aluno'] == $row['pk_usuario_aluno'] ? 'checked' : '';
             $checkbox = '<input type="checkbox" name="check[]" value="' . $row['pk_usuario_aluno'] . '" ' . $checkboxes . '>';
             $nota_referencia_final = $row['media'] != '-1' ? number_format($row['media'], 1) : '';
             $media = array('data' => $nota_referencia_final, 'class' => 'tright');
             $this->table->add_row($checkbox, $media, $row['matricula'], $row['nome'], $row['turma_nome']);
         }
         $this->table->set_template($tmpl);
     } else {
         $data['msg'] = '<div class="alert atencao">Nenhum aluno encontrado</div>';
         $data['total'] = $result['total'];
     }
     $this->load->view($this->load->getUrlTema(), $data);
 }