public function cadastrar_parecer($limiteInicial = 0, $limiteFinal = 0, $qtdPorPagina = 1) { $msg = null; $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['msg'] = $msg; $data['abaAtiva'] = 8; $data['abaAtivaMae'] = 1; $data['subAbaAtiva'] = 1; $data['abaPage'] = 'cadastrar_parecer'; $data['alias'] = 'cadastrar_parecer'; if ($_SERVER['REQUEST_METHOD'] == "POST") { try { // View::validarFormAntInjection($data['alias']); for ($i = 0; $i < $this->input->post('n_professores'); $i++) { $i2 = $i + 1; $variaveis = explode('#', $this->input->post('resposta' . $i2)); if (count($variaveis) > 1) { $sqlParecer = new SqlParecer(); $sqlParecer->cadastrar_resposta_coordenador($variaveis[0], $variaveis[1], $variaveis[2], $variaveis[3], $variaveis[4]); } } if ($this->input->post('processa') == 1) { redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processa_parecer/' . $this->input->post('pk_par_pesquisa') . '?coordenador=1'); } else { redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/' . $this->input->post('pagina') . '?pk_par_pesquisa=' . $this->input->post('pk_par_pesquisa')); } return false; } catch (Exception $e) { $msg = '<p class="alert erro">' . $e->getMessage() . '</p>'; } } $sqlParecer = new SqlParecer(); $result = $sqlParecer->listar_questoes($limiteInicial, $qtdPorPagina); $data['questao'] = $result['registros']; $total = $result['total']; $pagina = $this->uri->segment(4) != '' ? $this->uri->segment(4) + 1 : 1; if ($pagina < $total) { $data['pagina'] = $pagina; } else { $data['pagina'] = ''; } $pk_par_questao = $data['questao'][0]['pk_par_questao']; if (empty($data['turmas'])) { $data['total'] = 0; $data['msg'] = '<div class="alert atencao">Ainda não constam turmas associadas ao coordenador logado. Verifique as grades das turmas vinculadas a coordenação atual.</div>'; } else { $sqlGrade = new SqlGrade(); $result = $sqlGrade->listar_professores_coordenacao($data['turmas'], $data['ano_letivo']); if ($result['total'] > 0) { $this->load->library('table'); $arrHead[] = 'Professor'; $arrHead[] = 'Disciplina'; $arrHead[] = 'Parecer'; $this->table->set_heading($arrHead); $count = 0; foreach ($result['registros'] as $row) { $count++; // Verifica se os registros de resposta já foram incluídos no sistema anteriormente. $sqlParecer = new SqlParecer(); $respostas = $sqlParecer->checa_resposta_coordenador($row['fk_materia_vin'], $row['fk_usuario_professor'], $data['idUsuarioCoordenador']); if ($respostas['total'] == 0) { $data['msg'] = '<div class="alert informacao">Avalie sua equipe de professores seguindo os oito passos indicados abaixo:</div>'; } // pega as alternativas da questão atual $sqlParecer = new SqlParecer(); $alternativas = $sqlParecer->get_alternativas($pk_par_questao); $select = '<select name="resposta' . $count . '" class="required">'; $select .= '<option value=""></option>'; foreach ($alternativas['registros'] as $alternativa) { $selected = ''; foreach ($respostas['registros'] as $resposta) { if ($resposta['fk_par_alternativa'] == $alternativa['pk_par_alternativa']) { $selected = ' selected'; break; } else { $selected = ''; } } // $selected_final = ($selected == '') && ? $select .= '<option value="' . $row['fk_materia_vin'] . '#' . $row['fk_usuario_professor'] . '#' . $data['idUsuarioCoordenador'] . '#' . $pk_par_questao . '#' . $alternativa['pk_par_alternativa'] . '" ' . $selected . '>' . $alternativa['par_alternativa'] . '</option>'; } $select .= '</select>'; $tmpl = Util::zebrar($count, count($result['registros'])); if ($row['fk_materia_vin'] != 0) { $this->table->add_row($row['professor_nome'], $row['materia_nome'], $select); } } $data['n_professores'] = $count; $this->table->set_template($tmpl); } else { $data['msg'] = '<div class="alert atencao">Nenhum registro encontrado</div>'; $data['total'] = $result['total']; } $this->load->library('pagination'); $querystring = $_SERVER['QUERY_STRING'] != '' ? '?' . $_SERVER['QUERY_STRING'] : ''; $config['base_url'] = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/'; $config['total_rows'] = $total; $config['per_page'] = $qtdPorPagina; // $config['add_attr'] = 'class="carregarConteudo" data-content="inc"'; $config['anchor_class'] = $querystring; $config['num_links'] = 10; $data['totalRegistros'] = View::paginacao($total); $data['total'] = $total; if ($limiteInicial + 1 == $total) { $data['processa'] = 1; } else { $data['processa'] = 0; } $this->pagination->initialize($config); } if ($this->input->is_ajax_request()) { echo json_encode(array('content' => $this->load->view($this->uri->segment(3), $data, true))); } else { $this->load->view($this->load->getUrlTema(), $data); } }