Exemple #1
0
 /**
  * Método que gera formulário do plantão pedagógico
  * @param pk_aluno
  */
 public function form_plantao($pk_aluno = null, $grupoFocal = null)
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'admin';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 'Mae3';
     $data['abaPage'] = 'form_plantao';
     $sqlPlantao = new SqlPlantaoPedagogico();
     $data['alternativas'] = array();
     $ano = $data['ano_letivo'];
     $data['aluno'] = $sqlPlantao->get_aluno($pk_aluno, $ano);
     //verifica etapas do questionário que já foram respondidas
     $data['etapasRespondidas'] = $sqlPlantao->get_etapas_respondidas($pk_aluno, $grupoFocal);
     //variavel de etapa padrão
     $etapa = 1;
     //faz tratamento na etapa padrão de acordo com as etapas já respondidas
     if (count($data['etapasRespondidas']) == 1) {
         $etapa = 2;
     } elseif (count($data['etapasRespondidas']) == 2) {
         $etapa = 3;
     } elseif (count($data['etapasRespondidas']) == 3) {
         $etapa = 4;
     }
     //consulta questões de acordo com a etapa atual
     $data['questoes'] = $sqlPlantao->get_questoes($etapa);
     $data['grupoFocal'] = $grupoFocal;
     //consulta alternativas de todas as questões e alimento array de alternativas
     foreach ($data['questoes'] as $row) {
         $data['consultaAlternativas'] = $sqlPlantao->get_alternativas($row[0]);
         foreach ($data['consultaAlternativas'] as $key) {
             $alternativas = array('0' => $key[0], '1' => $key[1], '2' => $key[2]);
             array_push($data['alternativas'], $alternativas);
         }
     }
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             //recebe dados do formulário
             $aluno = $this->input->post('aluno');
             $etapa = $this->input->post('etapa');
             $usuarioAtual = $data['idUsuario'];
             $grupo = $this->input->post('grupo');
             $continuacao = $this->input->post('prosseguir');
             // var_dump($grupo);
             // die();
             //consulta questões de acordo com a etapa atual
             $data['questoes'] = $sqlPlantao->get_questoes($etapa);
             //cria array para receber respostas tratadas
             $respostasTratadas = array();
             foreach ($data['questoes'] as $key) {
                 //adiciona chave da questão para receber dados do form
                 $questao = $this->input->post('questao' . $key[0]);
                 foreach ($questao as $q) {
                     array_push($respostasTratadas, $q);
                 }
             }
             //cadastra respostas do banco de dados
             foreach ($respostasTratadas as $row) {
                 $data['cadastraRespostas'] = $sqlPlantao->cadastraRespostas($row, $usuarioAtual, $aluno, $grupo);
             }
             //registra etapa do plantao para o aluno
             $data['registraEtapa'] = $sqlPlantao->registraEtapa($etapa, $aluno, $grupo);
             //se for clicado o botão de enviar e voltar para o grupo focal
             if ($continuacao == 1) {
                 if ($etapa == 3) {
                     $msg = '<p class="alert ok">Parte III do formulário respondida com sucesso!</p>';
                     echo $this->session->set_flashdata('msg', $msg);
                     redirect(base_url() . 'alunos/plantao/professores_plantao/' . $grupo . '/' . $aluno);
                 } else {
                     $msg = '<p class="alert ok">Etapa do formulário respondida com sucesso!</p>';
                     echo $this->session->set_flashdata('msg', $msg);
                     redirect(base_url() . 'alunos/grupos_focais/membros_grupo_focal/' . $grupo);
                 }
             } elseif ($continuacao == 2) {
                 if ($etapa == 1) {
                     $msg = '<p class="alert ok">Parte I do formulário respondida com sucesso!</p>';
                     echo $this->session->set_flashdata('msg', $msg);
                     redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/form_plantao/' . $aluno . '/' . $grupo);
                 } elseif ($etapa == 2) {
                     $msg = '<p class="alert ok">Parte II do formulário respondida com sucesso!</p>';
                     echo $this->session->set_flashdata('msg', $msg);
                     redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/form_plantao/' . $aluno . '/' . $grupo);
                 } elseif ($etapa == 3) {
                     $msg = '<p class="alert ok">Parte III do formulário respondida com sucesso!</p>';
                     echo $this->session->set_flashdata('msg', $msg);
                     redirect(base_url() . 'alunos/plantao/professores_plantao/' . $grupo . '/' . $aluno);
                 } elseif ($etapa == 4) {
                     $msg = '<p class="alert ok">Parte IV do formulário respondida com sucesso!< /p>';
                     echo $this->session->set_flashdata('msg', $msg);
                     redirect(base_url() . 'alunos/plantao/professores_plantao/' . $grupo . '/' . $aluno);
                 }
             }
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
     $this->load->view($this->load->getUrlTema(), $data);
 }