예제 #1
0
 public function listar_inscritos($fk_rec_modulo, $limiteInicial = 0, $qtdPorPagina = 200)
 {
     $msg = null;
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $msg;
     $data['abaAtiva'] = 17;
     $data['abaPage'] = 'listar_inscritos';
     $data['alias'] = 'listar_inscritos';
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             // $this->load->validarFormAntInjection($data['alias']);
             // ATUALIZAÇÃO DAS PRESENCAS
             // pega as pk dos dias de aula para resetar
             $sqlRecuperacao = new SqlRecuperacao();
             $aulas = $sqlRecuperacao->get_dias_aulas($this->input->post('pk_rec_modulo'));
             foreach ($aulas as $row) {
                 // reseta os campos presenca de cada dia para atualizar na sequencia com os novos valores
                 $sqlRecuperacao = new SqlRecuperacao();
                 $sqlRecuperacao->reset_presenca($row['pk_rec_dia_aula']);
             }
             // Atualiza os campos presença da matéria 1
             $presenca_mat1 = 0;
             if ($this->input->post('mat1') != FALSE) {
                 foreach ($this->input->post('mat1') as $mat1) {
                     $divide = explode('#', $mat1);
                     $pk_rec_dia_aula = $divide[0];
                     $pk_usuario_aluno = $divide[1];
                     $presenca_mat1 = $sqlRecuperacao = new SqlRecuperacao();
                     $result = $sqlRecuperacao->update_presenca($pk_rec_dia_aula, $pk_usuario_aluno);
                 }
             }
             // Atualiza os campos presença da matéria 2
             if ($this->input->post('mat2') != FALSE) {
                 foreach ($this->input->post('mat2') as $mat2) {
                     $divide = explode('#', $mat2);
                     $pk_rec_dia_aula = $divide[0];
                     $pk_usuario_aluno = $divide[1];
                     $sqlRecuperacao = new SqlRecuperacao();
                     $result = $sqlRecuperacao->update_presenca($pk_rec_dia_aula, $pk_usuario_aluno);
                 }
             }
             // Atualiza os campos presença da matéria 3
             if ($this->input->post('mat3') != FALSE) {
                 foreach ($this->input->post('mat3') as $mat3) {
                     $divide = explode('#', $mat3);
                     $pk_rec_dia_aula = $divide[0];
                     $pk_usuario_aluno = $divide[1];
                     $sqlRecuperacao = new SqlRecuperacao();
                     $result = $sqlRecuperacao->update_presenca($pk_rec_dia_aula, $pk_usuario_aluno);
                 }
             }
             $this->session->set_flashdata('msg', '<div class="alert ok">Atualizações efetuadas 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));
     $data['modulo'] = $result[0]['titulo_modulo'];
     $data['serie'] = $result[0]['serie_nome'];
     $data['referencia'] = $result[0]['referencia'];
     $data['fk_serie'] = $result[0]['fk_serie'];
     $data['fk_unidade'] = $result[0]['fk_unidade'];
     $sqlRecuperacao = new SqlRecuperacao();
     $result = $sqlRecuperacao->listar_inscritos($this->uri->segment(4), $limiteInicial, $qtdPorPagina, $data['referencia']);
     $data['total'] = $result['total'];
     if ($data['total'] > 0) {
         $sqlRecuperacao = new SqlRecuperacao();
         $aulas = $sqlRecuperacao->get_dias_aulas($this->uri->segment(4));
         $tabela = '<table>';
         if ($data['fk_serie'] > 9) {
             $tabela .= '<tr>
                         <th rowspan="2">Alunos</th>
                         <th colspan="3">Presença</th>
                       </tr>
                       <tr>';
         } else {
             $tabela .= '<tr>
                         <th rowspan="2">Alunos</th>
                         <th colspan="3">Presença</th>
                       </tr>
                       <tr>';
         }
         if ($data['fk_serie'] > 9) {
             foreach ($aulas as $item) {
                 $tabela .= '<th class="w30">' . substr($item['mat_discod'], 0, 3) . '</th>';
             }
         } else {
             $tabela .= '<th class="w30">Aula 1</th>';
             $tabela .= '<th class="w30">Aula 2</th>';
             $tabela .= '<th class="w30">Aula 3</th>';
         }
         $tabela .= '</tr>';
         foreach ($result['registros'] as $row) {
             $divide = explode(',', $row['arr_presenca']);
             $check_mat1 = $divide[0];
             $check_mat2 = $divide[1];
             $check_mat3 = $divide[2];
             $tabela .= '<tr>
                         <td>' . $row['nome'] . '</td>';
             // checkboxes da presença
             $i = 0;
             foreach ($aulas as $item) {
                 $i++;
                 if ($i == 1) {
                     $checked = $check_mat1 == 1 ? 'checked' : '';
                 } else {
                     if ($i == 2) {
                         $checked = $check_mat2 == 1 ? 'checked' : '';
                     } else {
                         if ($i == 3) {
                             $checked = $check_mat3 == 1 ? 'checked' : '';
                         }
                     }
                 }
                 $tabela .= '<td class="tcenter"><input type="checkbox" name="mat' . $i . '[]" value="' . $item['pk_rec_dia_aula'] . '#' . $row['pk_usuario_aluno'] . '" ' . $checked . '></td>';
             }
             $tabela .= '</tr>';
         }
         $tabela .= '</table>';
         $data['tabela'] = $tabela;
     } else {
         $data['msg'] = '<div class="alert atencao">Nenhum aluno inscrito neste módulo. Para incluir alunos <a class="link" href="' . base_url() . 'recuperacao/paralela/cadastrar_alunos/' . $this->uri->segment(4) . '?fk_unidade=' . $data['fk_unidade'] . '&fk_serie=' . $data['fk_serie'] . '">clique aqui</a></div>';
         $data['total'] = $result['total'];
     }
     $this->load->view($this->load->getUrlTema(), $data);
 }