コード例 #1
0
 function Editar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(642, $this->pessoa_logada, 7, "educar_falta_nota_aluno_lst.php");
     //************************************* EDITA - MATRICULADO NUMA SERIE *************************************//
     if ($this->ref_ref_cod_serie) {
         //			if (is_numeric($this->modulo))
         //			{
         //				$this->mat_modulo = $this->modulo;
         //			}
         if (!$this->reprova_falta) {
             $this->editaSNotasFaltas();
         }
         /**
          * verifica se existem disciplinas sem notas
          *
          */
         $obj_nota_aluno = new clsPmieducarNotaAluno();
         $total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_cod_turma, $this->modulo, $this->ref_ref_cod_escola);
         /* verifica se o aluno está em exame
          * e se todas as matérias do exame estão com notas
          */
         $aluno_esta_em_exame = $_POST["aluno_esta_em_exame"];
         $qtd_disciplinas_aluno_exame = $_POST["qtd_disciplinas_aluno_exame"];
         if ($aluno_esta_em_exame == 1) {
             $sql = "SELECT COUNT(0)\n\t\t\t\t\t\t\t\tFROM pmieducar.nota_aluno na\n\t\t\t\t\t\t\t\t, pmieducar.disciplina d\n\t\t\t\t\t\t\t\t, pmieducar.v_matricula_matricula_turma mmt\n\t\t\t\t\t\t\t\tWHERE na.ref_cod_matricula = '{$this->ref_cod_matricula}'\n\t\t\t\t\t\t\t\tAND na.ref_cod_matricula = mmt.cod_matricula\n\t\t\t\t\t\t\t\tAND mmt.ref_cod_turma = '{$this->ref_cod_turma}'\n\t\t\t\t\t\t\t\tAND na.ativo = 1\n\t\t\t\t\t\t\t\tAND mmt.ativo = 1\n\t\t\t\t\t\t\t\tAND na.ref_cod_disciplina = d.cod_disciplina\n\t\t\t\t\t\t\t\tAND na.ref_cod_serie = '{$this->ref_ref_cod_serie}'\n\t\t\t\t\t\t\t\tAND na.modulo = '{$this->modulo}'";
             $db = new clsBanco();
             $notas_exame_ja_recebidas = $db->CampoUnico($sql);
             if ($qtd_disciplinas_aluno_exame == $notas_exame_ja_recebidas) {
                 $total = 0;
             }
         }
         /**
          * existem disciplinas sem notas
          * somente cadastra e o modulo do aluno
          * continua igual sem calcular nada
          */
         if ($total > 0) {
             /**
              * caso NENHUMA materia tenha nota
              * (por motivo de exclusao) verificar se o modulo da matricula
              * é maior que o ultimo modulo com nota
              * entao decrementar o modulo da matricula
              */
             $ultimo_modulo_matricula = $obj_nota_aluno->getMaxNotas($this->ref_cod_matricula);
             if ($ultimo_modulo_matricula < $this->mat_modulo) {
                 if ($this->nota_foi_removida && $this->pessoa_logada == 184580) {
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                     $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, $this->ref_cod_matricula);
                     if (is_array($lst_hst_escolar)) {
                         $det_hst_escolar = array_shift($lst_hst_escolar);
                         $obj_hd = new clsPmieducarHistoricoDisciplinas();
                         $excluiu_hd = $obj_hd->excluirTodos($this->ref_cod_aluno, $det_hst_escolar["sequencial"]);
                         if (!$excluiu_hd) {
                             $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Disciplina n&atilde;o realizado.<br>";
                             return false;
                         }
                         $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, null, null, null, null, null, null, 0);
                         $excluiu_he = $obj_hst_escolar->excluir();
                         if (!$excluiu_he) {
                             $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                             return false;
                         }
                     }
                 }
                 $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, 3, null, null, null, null, null, $ultimo_modulo_matricula);
                 $editou = $obj->edita();
             }
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         } else {
             //$ultimo_modulo_matricula = $obj_nota_aluno->getMaxNotas($this->ref_cod_matricula);
             //die("$ultimo_modulo_matricula < $this->mat_modulo || $this->modulo");
             if ($this->mat_modulo == $this->modulo) {
                 $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, 3, null, null, null, null, null, $ultimo_modulo_matricula);
                 $editou = $obj->avancaModulo();
             }
         }
         $aprovado = 3;
         if ($this->qtd_modulos <= $this->mat_modulo) {
             $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
             $det_curso = $obj_curso->detalhe();
             $frequencia_minima = $det_curso["frequencia_minima"];
             $hora_falta = $det_curso["hora_falta"];
             $carga_horaria_curso = $det_curso["carga_horaria"];
             $obj_esd = new clsPmieducarEscolaSerieDisciplina();
             $lst_esd = $obj_esd->lista($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, 1);
             if (is_array($lst_esd)) {
                 $obj_nota_aluno = new clsPmieducarNotaAluno();
                 $max_nota = $obj_nota_aluno->getMaxNotas($this->ref_cod_matricula);
                 $obj_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
                 $det_serie = $obj_serie->detalhe();
                 $media_especial = $det_serie['media_especial'];
                 foreach ($lst_esd as $campo) {
                     $obj_nota_aluno = new clsPmieducarNotaAluno();
                     $obj_nota_aluno->setOrderby("modulo ASC");
                     $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $campo["ref_cod_disciplina"], $this->ref_cod_matricula, null, null, null, null, null, null, 1);
                     // so busca as notas da disciplina se nao for media especial
                     if (is_array($lst_nota_aluno) && !dbBool($media_especial)) {
                         foreach ($lst_nota_aluno as $key => $nota_aluno) {
                             if ($nota_aluno['nota']) {
                                 $soma_notas[$campo["ref_cod_disciplina"]][$key] = $nota_aluno['nota'] * 2;
                             } else {
                                 $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]);
                                 $det_avaliacao_valores = $obj_avaliacao_valores->detalhe();
                                 $soma_notas[$campo["ref_cod_disciplina"]][$key] = $det_avaliacao_valores["valor"];
                             }
                         }
                     }
                     if (!$this->falta_ch_globalizada) {
                         $obj_falta_aluno = new clsPmieducarFaltaAluno();
                         $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $campo["ref_cod_disciplina"], $this->ref_cod_matricula, null, null, null, null, null, 1);
                         if (is_array($lst_falta_aluno)) {
                             foreach ($lst_falta_aluno as $key => $falta_aluno) {
                                 $soma_faltas[$campo["ref_cod_disciplina"]][$key] = $falta_aluno["faltas"];
                             }
                         }
                     }
                 }
                 if (is_array($soma_faltas)) {
                     foreach ($soma_faltas as $disciplina => $faltas) {
                         foreach ($faltas as $falta) {
                             $faltas_media_aluno[$disciplina] += $falta;
                         }
                     }
                 }
             }
             if (is_array($faltas_media_aluno)) {
                 foreach ($faltas_media_aluno as $disciplina => $faltas) {
                     $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                     $det_disciplina = $obj_disciplina->detalhe();
                     $carga_horaria_disciplina = $det_disciplina["carga_horaria"];
                     // calcula o maximo de horas q o aluno pode faltar na disciplina
                     $max_falta = $carga_horaria_disciplina * $frequencia_minima / 100;
                     $max_falta = $carga_horaria_disciplina - $max_falta;
                     // calcula a quantidade de faltas por hora do aluno na disciplina
                     $faltas *= $hora_falta;
                     if ($faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             } else {
                 $obj_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
                 $det_serie = $obj_serie->detalhe();
                 $carga_horaria_serie = $det_serie["carga_horaria"];
                 // calcula o maximo de horas q o aluno pode faltar na serie
                 $max_falta = $carga_horaria_serie * $frequencia_minima / 100;
                 $max_falta = $carga_horaria_serie - $max_falta;
                 // calcula a quantidade de faltas por hora do aluno na serie
                 $obj_faltas = new clsPmieducarFaltas();
                 $lst_faltas = $obj_faltas->lista($this->ref_cod_matricula);
                 if (is_array($lst_faltas)) {
                     $total_faltas = 0;
                     foreach ($lst_faltas as $key => $faltas) {
                         $total_faltas += $faltas['falta'];
                     }
                     $total_faltas *= $hora_falta;
                     if ($total_faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$total_faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             }
             /**
              * calculo de media especial
              */
             if (dbBool($media_especial)) {
                 $objNotaAluno = new clsPmieducarNotaAluno();
                 $media = $objNotaAluno->getMediaEspecialAluno($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->qtd_modulos, $this->media);
                 if ($media < $this->media) {
                     //  reprovado direto sem exame
                     $aprovado = 2;
                 }
             }
         }
         $db2 = new clsBanco();
         //retorna quantas matérias o aluno cursa não contabilizando as matérias com dispensa
         $sql = "SELECT COUNT(0) FROM pmieducar.escola_serie_disciplina WHERE ref_ref_cod_serie = {$this->ref_ref_cod_serie} \n\t\t\t\t\tAND ref_ref_cod_escola = {$this->ref_ref_cod_escola} AND escola_serie_disciplina.ativo = 1\n\t\t\t\t\tAND ref_cod_disciplina NOT IN (\n\t\t\t\t\t\tSELECT ref_cod_disciplina\n\t\t\t\t\t\tFROM pmieducar.dispensa_disciplina WHERE \n\t\t\t\t\t\tref_cod_matricula = {$this->ref_cod_matricula} AND ref_cod_serie = {$this->ref_ref_cod_serie}\n\t\t\t\t\t\tAND ref_cod_escola = {$this->ref_ref_cod_escola} AND ativo = 1\n\t\t\t\t\t)";
         $qtd_materias = $db2->CampoUnico($sql);
         //retorna quantas notas notas o aluno possui não contabilizandoa das matérias dispensadas
         $sql = "SELECT COUNT(0) FROM pmieducar.nota_aluno \n\t\t\t\t\tWHERE ref_cod_matricula = {$this->ref_cod_matricula} AND ativo = 1\n\t\t\t\t\tAND ref_cod_disciplina NOT IN (\n\t\t\t\t\t\t\tSELECT ref_cod_disciplina FROM pmieducar.dispensa_disciplina WHERE \n\t\t\t\t\t\t\tref_cod_matricula = {$this->ref_cod_matricula} AND ref_cod_serie = {$this->ref_ref_cod_serie} \n\t\t\t\t\t\t\tAND ref_cod_escola = {$this->ref_ref_cod_escola} AND ativo = 1\n\t\t\t\t\t)";
         //variável em uma edição para verificar se o aluno possui todas as notas
         //para mudar o estado de aprovado dele
         $qtd_notas_possui = $db2->CampoUnico($sql);
         $possui_todas_as_notas = $this->qtd_modulos * $qtd_materias >= $qtd_notas_possui || $aluno_esta_em_exame == 1 ? true : false;
         if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos == $max_nota && !dbBool($media_especial)) {
             if (is_array($soma_notas) && !dbBool($media_especial)) {
                 foreach ($soma_notas as $disciplina => $notas) {
                     foreach ($notas as $nota) {
                         if (dbBool($det_serie["ultima_nota_define"])) {
                             $nota_media_aluno[$disciplina] = $nota;
                         } else {
                             $nota_media_aluno[$disciplina] += $nota;
                         }
                     }
                     if (!dbBool($det_serie["ultima_nota_define"])) {
                         $nota_media_aluno[$disciplina] /= $this->mat_modulo - 1;
                     }
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                     }
                     /**
                      * verifica se existem disciplinas sem notas
                      * somente aprova caso seja zero
                      */
                     //$obj_nota_aluno = new clsPmieducarNotaAluno();
                     //	$total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula,$this->ref_ref_cod_serie,$this->ref_cod_turma,$this->modulo,$this->ref_ref_cod_escola);
                     if ($nota < $this->media && $this->media_exame && !$this->conceitual && $possui_todas_as_notas) {
                         $em_exame = true;
                         // aluno em exame
                     } else {
                         if ($valor < $this->media && !$this->media_exame && !$this->conceitual && $possui_todas_as_notas) {
                             $aprovado = 2;
                             // aluno reprovado direto (n existe exame)
                         }
                     }
                 }
             }
         } else {
             if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos < $max_nota && !dbBool($media_especial)) {
                 //				echo "<pre>"; print_r($soma_notas);
                 foreach ($soma_notas as $disciplina => $notas) {
                     $qtd_notas = 0;
                     foreach ($notas as $nota) {
                         $nota_media_aluno[$disciplina] += $nota;
                         $qtd_notas++;
                     }
                     if ($qtd_notas == $this->modulo) {
                         $nota_media_aluno[$disciplina] /= $this->modulo + 1;
                     } else {
                         $nota_media_aluno[$disciplina] /= $this->modulo - 1;
                     }
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                         if ($valor < $this->media_exame) {
                             $aprovado = 2;
                             // aluno reprovado no exame
                         }
                         /*else if ( ($valor < $this->media) && ($this->qtd_modulos >= $this->modulo) )
                         		$aprovado = 7; // aluno em exame*/
                     }
                 }
             }
         }
         /**
          * verifica se existem disciplinas sem notas
          * somente aprova caso seja zero
          */
         //$obj_nota_aluno = new clsPmieducarNotaAluno();
         //$total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula,$this->ref_ref_cod_serie,$this->ref_cod_turma,$this->modulo,$this->ref_ref_cod_escola);
         if ($this->conceitual) {
             $aprovado = $this->aprovado;
             // situacao definida pelo professor
         } else {
             if (!$em_exame && $this->qtd_modulos <= $this->mat_modulo && $aprovado == 3 && !$this->conceitual && $possui_todas_as_notas) {
                 $aprovado = 1;
                 // aluno aprovado
             }
         }
         $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, $aprovado);
         $editou = $obj->edita();
         //die($aprovado);
         if ($editou) {
             /**
              * aluno reprovado mantem historico
              * 01/03/2006
              */
             if ($aprovado == 2 || $aprovado == 3 || $aprovado == 1) {
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_serie["nm_serie"], $this->ano_letivo, $carga_horaria_serie, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, null, $this->ref_cod_matricula);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj_hd = new clsPmieducarHistoricoDisciplinas();
                     $excluiu_hd = $obj_hd->excluirTodos($this->ref_cod_aluno, $det_hst_escolar["sequencial"]);
                     if (!$excluiu_hd) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Disciplina n&atilde;o realizado.<br>";
                         return false;
                     }
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, null, null, null, null, null, null, 0);
                     $excluiu_he = $obj_hst_escolar->excluir();
                     if (!$excluiu_he) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                         return false;
                     }
                 }
             }
             /*else */
             if ($aprovado == 1 || $aprovado == 2) {
                 $obj_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
                 $det_serie = $obj_serie->detalhe();
                 $carga_horaria_serie = $det_serie["carga_horaria"];
                 $obj_escola = new clsPmieducarEscola($this->ref_ref_cod_escola);
                 $det_escola = $obj_escola->detalhe();
                 $ref_idpes = $det_escola["ref_idpes"];
                 // busca informacoes da escola
                 if ($ref_idpes) {
                     $obj_escola = new clsPessoaJuridica($ref_idpes);
                     $det_escola = $obj_escola->detalhe();
                     $nm_escola = $det_escola["fantasia"];
                     if ($det_escola) {
                         $cidade = $det_escola["cidade"];
                         $uf = $det_escola["sigla_uf"];
                     }
                 } else {
                     if (class_exists("clsPmieducarEscolaComplemento")) {
                         $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola);
                         $det_escola = $obj_escola->detalhe();
                         $nm_escola = $det_escola["nm_escola"];
                         $cidade = $det_escola["municipio"];
                     }
                 }
                 if ($this->padrao_ano_escolar) {
                     $extra_curricular = 0;
                 } else {
                     $extra_curricular = 1;
                 }
                 $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$this->ref_cod_matricula}";
                 $db5 = new clsBanco();
                 $total_faltas = $db5->CampoUnico($sql);
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_serie["nm_serie"], $this->ano_letivo, $carga_horaria_serie, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, null, $this->ref_cod_matricula);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, null, null, $extra_curricular);
                     $editou_he = $obj->edita();
                 } else {
                     $obj = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, null, null, $this->pessoa_logada, $det_serie["nm_serie"], $this->ano_letivo, $carga_horaria_serie, null, $nm_escola, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, $this->ref_cod_instituicao, 0, $extra_curricular, $this->ref_cod_matricula);
                     $cadastrou_he = $obj->cadastra();
                 }
                 if (($editou_he || $cadastrou_he) && !$this->conceitual) {
                     if ($cadastrou_he) {
                         $obj_historico = new clsPmieducarHistoricoEscolar();
                         $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno);
                     } else {
                         $sequencial = $det_hst_escolar["sequencial"];
                     }
                     $historico_disciplina = array();
                     foreach ($nota_media_aluno as $key => $nota) {
                         $historico_disciplina[$key] = array($nota, $faltas_media_aluno[$key]);
                     }
                     foreach ($historico_disciplina as $disciplina => $campo) {
                         $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                         $det_disciplina = $obj_disciplina->detalhe();
                         $nm_disciplina = $det_disciplina["nm_disciplina"];
                         $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                         $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $campo[0], $campo[0]);
                         if (is_array($lst_avaliacao_valores)) {
                             $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                             $nm_nota = $det_avaliacao_valores["nome"];
                             $obj_hd = new clsPmieducarHistoricoDisciplinas();
                             $lst_hd = $obj_hd->lista(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina);
                             if (is_array($lst_hd)) {
                                 $det_hd = array_shift($lst_hd);
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas($det_hd["sequencial"], $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->edita();
                             } else {
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->cadastra();
                             }
                             if (!$hst_disciplina) {
                                 $this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Disciplinas n&atilde;o realizado.<br>";
                                 return false;
                             }
                         } else {
                             $this->mensagem = "N&atilde;o foi poss&iacute;vel encontrar os Valores do Tipo de Avalia&ccedil;&atilde;o.<br>";
                             return false;
                         }
                     }
                 }
                 /*
                 else if( (!$editou_he || !$cadastrou_he) && (!$this->conceitual) )
                 {
                 	$this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                 	return false;
                 }
                 */
             }
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         }
         $this->mensagem = "Edi&ccedil;&atilde;o n&atilde;o realizada (Matr&iacute;cula).<br>";
         echo "<!--\nErro ao editar clsPmieducarMatricula\nvalores obrigatorios\nis_numeric( {$this->ref_cod_matricula} ) && is_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->modulo} )\n-->";
         return false;
     } else {
         if (!$this->reprova_falta) {
             $this->editaCNotasFaltas();
         }
         /**
          * verifica se existem disciplinas sem notas
          *
          */
         $obj_nota_aluno = new clsPmieducarNotaAluno();
         $total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_cod_turma, $this->modulo, $this->ref_ref_cod_escola);
         /**
          * existem disciplinas sem notas
          * somente cadastra e o modulo do aluno
          * continua igual sem calcular nada
          */
         if ($total) {
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         }
         $aprovado = 3;
         if ($this->qtd_modulos <= $this->mat_modulo) {
             $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
             $det_curso = $obj_curso->detalhe();
             $frequencia_minima = $det_curso["frequencia_minima"];
             $hora_falta = $det_curso["hora_falta"];
             $carga_horaria_curso = $det_curso["carga_horaria"];
             $obj_disciplina = new clsPmieducarDisciplina();
             $lst_disciplina = $obj_disciplina->lista(null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_curso);
             if (is_array($lst_disciplina)) {
                 foreach ($lst_disciplina as $campo) {
                     $obj_nota_aluno = new clsPmieducarNotaAluno();
                     $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, null, null, null, $this->ref_cod_matricula, null, null, null, null, null, null, 1, null, $campo["cod_disciplina"]);
                     if (is_array($lst_nota_aluno)) {
                         foreach ($lst_nota_aluno as $key => $nota_aluno) {
                             if ($nota_aluno["nota"]) {
                                 $soma_notas[$campo["cod_disciplina"]][$key] = $nota_aluno["nota"] * 2;
                             } else {
                                 $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]);
                                 $det_avaliacao_valores = $obj_avaliacao_valores->detalhe();
                                 $soma_notas[$campo["cod_disciplina"]][$key] = $det_avaliacao_valores["valor"];
                             }
                         }
                     }
                     if (!$this->falta_ch_globalizada) {
                         $obj_falta_aluno = new clsPmieducarFaltaAluno();
                         $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, null, null, null, $this->ref_cod_matricula, null, null, null, null, null, 1, null, $campo["cod_disciplina"]);
                         if (is_array($lst_falta_aluno)) {
                             foreach ($lst_falta_aluno as $key => $falta_aluno) {
                                 $soma_faltas[$campo["cod_disciplina"]][$key] = $falta_aluno["faltas"];
                             }
                         }
                     }
                 }
                 if (is_array($soma_faltas)) {
                     foreach ($soma_faltas as $disciplina => $faltas) {
                         foreach ($faltas as $falta) {
                             $faltas_media_aluno[$disciplina] += $falta;
                         }
                     }
                 }
             }
             if (is_array($faltas_media_aluno)) {
                 foreach ($faltas_media_aluno as $disciplina => $faltas) {
                     $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                     $det_disciplina = $obj_disciplina->detalhe();
                     $carga_horaria_disciplina = $det_disciplina["carga_horaria"];
                     // calcula o maximo de horas q o aluno pode faltar na disciplina
                     $max_falta = $carga_horaria_disciplina * $frequencia_minima / 100;
                     $max_falta = $carga_horaria_disciplina - $max_falta;
                     // calcula a quantidade de faltas por hora do aluno na disciplina
                     $faltas *= $hora_falta;
                     if ($faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             } else {
                 // calcula o maximo de horas q o aluno pode faltar no curso
                 $max_falta = $carga_horaria_curso * $frequencia_minima / 100;
                 $max_falta = $carga_horaria_curso - $max_falta;
                 // calcula a qtd de faltas por hora do aluno no curso
                 $obj_faltas = new clsPmieducarFaltas();
                 $lst_faltas = $obj_faltas->lista($this->ref_cod_matricula);
                 if (is_array($lst_faltas)) {
                     $total_faltas = 0;
                     foreach ($lst_faltas as $key => $faltas) {
                         $total_faltas += $faltas['falta'];
                     }
                     $total_faltas *= $hora_falta;
                     if ($total_faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$total_faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             }
         }
         if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos == $max_nota) {
             if (is_array($soma_notas)) {
                 foreach ($soma_notas as $disciplina => $notas) {
                     foreach ($notas as $nota) {
                         $nota_media_aluno[$disciplina] += $nota;
                     }
                     $nota_media_aluno[$disciplina] /= $this->mat_modulo - 1;
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                         /*
                         if ( ($valor < $this->media) && $this->media_exame && !$this->conceitual )
                         {
                         	$em_exame = true;
                         }
                         else if ( ($valor < $this->media) && !$this->media_exame && !$this->conceitual )
                         {
                         	$aprovado = 2; // aluno reprovado direto (n existe exame)
                         }
                         */
                     }
                     /**
                      * verifica se existem disciplinas sem notas
                      * somente aprova caso seja zero
                      */
                     $obj_nota_aluno = new clsPmieducarNotaAluno();
                     $total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_cod_turma, $this->modulo, $this->ref_ref_cod_escola);
                     if ($nota < $this->media && $this->media_exame && !$this->conceitual) {
                         $em_exame = true;
                         // aluno em exame
                     } else {
                         if ($valor < $this->media && !$this->media_exame && !$this->conceitual) {
                             $aprovado = 2;
                             // aluno reprovado direto (n existe exame)
                         }
                     }
                 }
             }
         } else {
             if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos < $max_nota) {
                 foreach ($soma_notas as $disciplina => $notas) {
                     $qtd_notas = 0;
                     foreach ($notas as $nota) {
                         $nota_media_aluno[$disciplina] += $nota;
                         $qtd_notas++;
                     }
                     if ($qtd_notas == $this->mat_modulo) {
                         $nota_media_aluno[$disciplina] /= $this->mat_modulo;
                     } else {
                         $nota_media_aluno[$disciplina] /= $this->mat_modulo - 1;
                     }
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                         if ($valor < $this->media_exame) {
                             $aprovado = 2;
                             // aluno reprovado no exame
                         }
                     }
                 }
             }
         }
         /**
          * verifica se existem disciplinas sem notas
          * somente aprova caso seja zero
          */
         //$obj_nota_aluno = new clsPmieducarNotaAluno();
         //$total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula,$this->ref_ref_cod_serie,$this->ref_cod_turma,$this->modulo,$this->ref_ref_cod_escola);
         if ($this->conceitual) {
             $aprovado = $this->aprovado;
             // situacao definida pelo professor
         } else {
             if (!$em_exame && $this->qtd_modulos <= $this->mat_modulo && $aprovado == 3 && !$this->conceitual) {
                 $aprovado = 1;
                 // aluno aprovado
             }
         }
         $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, $aprovado);
         $editou = $obj->edita();
         if ($editou) {
             /**
              * aluno reprovado edita nao remove do historico
              */
             if ($aprovado == 2 || $aprovado == 3) {
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj_hd = new clsPmieducarHistoricoDisciplinas();
                     $excluiu_hd = $obj_hd->excluirTodos($this->ref_cod_aluno, $det_hst_escolar["sequencial"]);
                     if (!$excluiu_hd) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Disciplina n&atilde;o realizado.<br>";
                         return false;
                     }
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, null, null, null, null, null, null, 0);
                     $excluiu_he = $obj_hst_escolar->excluir();
                     if (!$excluiu_he) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                         return false;
                     }
                 }
             }
             /*else*/
             if ($aprovado == 1 || $aprovado == 2) {
                 // busca informacoes da instituicao
                 $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
                 $det_instituicao = $obj_instituicao->detalhe();
                 $nm_instituicao = $det_instituicao["nm_instituicao"];
                 $cidade = $det_instituicao["cidade"];
                 $uf = $det_instituicao["ref_sigla_uf"];
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                 $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$this->ref_cod_matricula}";
                 $db5 = new clsBanco();
                 $total_faltas = $db5->CampoUnico($sql);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, $nm_instituicao, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                     $editou_he = $obj_hst_escolar->edita();
                 } else {
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, null, null, $this->pessoa_logada, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, $nm_instituicao, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                     $cadastrou_he = $obj_hst_escolar->cadastra();
                 }
                 if (($editou_he || $cadastrou_he) && !$this->conceitual) {
                     if ($cadastrou_he) {
                         $obj_historico = new clsPmieducarHistoricoEscolar();
                         $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno);
                     } else {
                         $sequencial = $det_hst_escolar["sequencial"];
                     }
                     $historico_disciplina = array();
                     foreach ($nota_media_aluno as $key => $nota) {
                         $historico_disciplina[$key] = array($nota, $faltas_media_aluno[$key]);
                     }
                     foreach ($historico_disciplina as $disciplina => $campo) {
                         $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                         $det_disciplina = $obj_disciplina->detalhe();
                         $nm_disciplina = $det_disciplina["nm_disciplina"];
                         $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                         $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $campo[0], $campo[0]);
                         if (is_array($lst_avaliacao_valores)) {
                             $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                             $nm_nota = $det_avaliacao_valores["nome"];
                             $obj_hd = new clsPmieducarHistoricoDisciplinas();
                             $lst_hd = $obj_hd->lista(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina);
                             if (is_array($lst_hd)) {
                                 $det_hd = array_shift($lst_hd);
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas($det_hd["sequencial"], $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->edita();
                             } else {
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->cadastra();
                             }
                             if (!$hst_disciplina) {
                                 $this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Disciplinas n&atilde;o realizado.<br>";
                                 return false;
                             }
                         } else {
                             $this->mensagem = "N&atilde;o foi poss&iacute;vel encontrar os Valores do Tipo de Avalia&ccedil;&atilde;o.<br>";
                             return false;
                         }
                     }
                 }
                 /*
                 else if( !$editou_he || !$cadastrou_he )
                 {
                 	$this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                 	return false;
                 }
                 */
             }
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         }
         $this->mensagem = "Edi&ccedil;&atilde;o n&atilde;o realizada (Matr&iacute;cula).<br>";
         echo "<!--\nErro ao editar clsPmieducarMatricula\nvalores obrigatorios\nis_numeric( {$this->ref_cod_matricula} ) && is_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->modulo} )\n-->";
         return false;
     }
 }
コード例 #2
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Hist&oacute;rico Escolar - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val;
     }
     $this->campoOculto("ref_cod_aluno", $this->ref_cod_aluno);
     if (!$this->ref_cod_aluno) {
         header("location: educar_aluno_lst.php");
         die;
     }
     $lista_busca = array("Ano", "Extra-curricular");
     $obj_permissao = new clsPermissoes();
     $nivel_usuario = $obj_permissao->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         if (!$this->extra_curricular) {
             $lista_busca[] = "Escola";
         }
         $lista_busca[] = "Institui&ccedil;&atilde;o";
     } else {
         if ($nivel_usuario == 2) {
             if (!$this->extra_curricular) {
                 $lista_busca[] = "Escola";
             }
         }
     }
     $lista_busca = array_merge($lista_busca, array('Curso', 'Série', 'Registro', 'Livro', 'Folha'));
     $this->addCabecalhos($lista_busca);
     $get_escola = true;
     include "include/pmieducar/educar_campo_lista.php";
     // outros Filtros
     $this->campoNumero("ano", "Ano", $this->ano, 4, 4, false);
     $opcoes = array("" => "Selecione", 2 => "N&atilde;o", 1 => "Sim");
     $this->campoLista("extra_curricular", "Extra-curricular", $opcoes, $this->extra_curricular, "", false, "", "", false, false);
     if ($this->extra_curricular == 2) {
         $this->extra_curricular = 0;
     }
     //		if ($this->ref_cod_escola)
     //		{
     //			$obj_ref_cod_escola = new clsPmieducarEscola( $this->ref_cod_escola );
     //			$det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
     //			$this->escola = $det_ref_cod_escola["nome"];
     //		}
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_historico_escolar = new clsPmieducarHistoricoEscolar();
     $obj_historico_escolar->setOrderby("ano, sequencial ASC");
     $obj_historico_escolar->setLimite($this->limite, $this->offset);
     $lista = $obj_historico_escolar->lista($this->ref_cod_aluno, null, null, null, null, $this->ano, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao, null, $this->extra_curricular, null);
     $total = $obj_historico_escolar->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             if (class_exists("clsPmieducarInstituicao")) {
                 $obj_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                 $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
                 $registro["ref_cod_instituicao"] = $obj_cod_instituicao_det["nm_instituicao"];
             } else {
                 $registro["ref_cod_instituicao"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarInstituicao\n-->";
             }
             if ($registro["extra_curricular"]) {
                 $registro["extra_curricular"] = "Sim";
             } else {
                 $registro["extra_curricular"] = "N&atilde;o";
             }
             $lista_busca = array("<a href=\"educar_historico_escolar_det.php?ref_cod_aluno={$registro["ref_cod_aluno"]}&sequencial={$registro["sequencial"]}\">{$registro["ano"]}</a>", "<a href=\"educar_historico_escolar_det.php?ref_cod_aluno={$registro["ref_cod_aluno"]}&sequencial={$registro["sequencial"]}\">{$registro["extra_curricular"]}</a>");
             if ($nivel_usuario == 1) {
                 if (!$this->extra_curricular) {
                     $lista_busca[] = "<a href=\"educar_historico_escolar_det.php?ref_cod_aluno={$registro["ref_cod_aluno"]}&sequencial={$registro["sequencial"]}\">{$registro["escola"]}</a>";
                 }
                 $lista_busca[] = "<a href=\"educar_historico_escolar_det.php?ref_cod_aluno={$registro["ref_cod_aluno"]}&sequencial={$registro["sequencial"]}\">{$registro["ref_cod_instituicao"]}</a>";
             } else {
                 if ($nivel_usuario == 2) {
                     if (!$this->extra_curricular) {
                         $lista_busca[] = "<a href=\"educar_historico_escolar_det.php?ref_cod_aluno={$registro["ref_cod_aluno"]}&sequencial={$registro["sequencial"]}\">{$registro["escola"]}</a>";
                     }
                 }
             }
             $lista_busca[] = $registro['nm_curso'];
             $lista_busca[] = $registro['nm_serie'];
             $lista_busca[] = $registro['registro'];
             $lista_busca[] = $registro['livro'];
             $lista_busca[] = $registro['folha'];
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_historico_escolar_lst.php", $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7)) {
         $this->acao = "go(\"educar_historico_escolar_cad.php?ref_cod_aluno={$this->ref_cod_aluno}\")";
         $this->nome_acao = "Novo";
     }
     $this->array_botao[] = 'Voltar';
     $this->array_botao_url[] = "educar_aluno_det.php?cod_aluno={$this->ref_cod_aluno}";
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de hist&oacute;ricos escolares"));
     $this->enviaLocalizacao($localizacao->montar());
 }
コード例 #3
0
 function renderHTML()
 {
     @session_start();
     $pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     if ($_GET) {
         foreach ($_GET as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     if (!is_numeric($this->ref_cod_aluno) || !is_numeric($this->ref_cod_escola)) {
         echo "<center>Não existem dados a serem exibidos!</center>";
         echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');}</script>";
         die;
     }
     //		if ($pessoa_logada==184580)
     //		{
     //			$this->verificaHistorico();
     //		}
     $obj_historico_escolar = new clsPmieducarHistoricoEscolar();
     $obj_historico_escolar->setOrderby("ano ASC");
     $lst_historico_escolar = $obj_historico_escolar->lista($this->ref_cod_aluno, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null);
     //, 0 );
     $ultima_mat = count($lst_historico_escolar) - 1;
     $observacao = $lst_historico_escolar[$ultima_mat]['observacao'];
     $obj_escola_instituicao = new clsPmieducarEscola();
     $lst_escola_instituicao = $obj_escola_instituicao->lista($this->ref_cod_escola, null, null, $this->ref_cod_instituicao, null, null, null, null, null, null, 1);
     $this->pdf = new clsPDF("Histórico Escolar", "Histórico Escolar", "A4", "", false, false);
     $this->pdf->OpenPage();
     //***************INICIO CABECALHO
     $obj_aluno = new clsPmieducarAluno($this->ref_cod_aluno);
     $det_aluno = $obj_aluno->detalhe();
     $obj_matricula = new clsPmieducarMatricula();
     $lst_matriculas = $obj_matricula->lista(null, null, $this->ref_cod_escola, null, null, null, $this->ref_cod_aluno, array(1, 2), null, null, null, null, 1, null, null, $this->ref_cod_instituicao, 1, null, null, null, null, null, null, null, null);
     if ($lst_matriculas) {
         $cod_matricula = $lst_matriculas[0]['cod_matricula'];
     }
     $obj_pessoa = new clsPessoa_($det_aluno['ref_idpes']);
     $det_pessoa = $obj_pessoa->detalhe();
     // NOME DO ALUNO
     $nm_aluno = str2upper($det_pessoa['nome']);
     $obj_fisica = new clsFisica($det_aluno['ref_idpes']);
     $det_fisica = $obj_fisica->detalhe();
     // SEXO
     $sexo = $det_fisica["sexo"];
     if ($sexo == "M") {
         $sexo = "MASCULINO";
     } else {
         $sexo = "FEMININO";
     }
     // DATA DE NASCIMENTO
     $dt_nasc = dataToBrasil($det_fisica["data_nasc"]);
     $dia = substr($dt_nasc, 0, 2);
     $mes = substr($dt_nasc, 3, 2);
     $meses = array("01" => "Janeiro", "02" => "Fevereiro", "03" => "Março", "04" => "Abril", "05" => "Maio", "06" => "Junho", "07" => "Julho", "08" => "Agosto", "09" => "Setembro", "10" => "Outubro", "11" => "Novembro", "12" => "Dezembro");
     $ano = substr($dt_nasc, 6, 4);
     // NATURALIDADE
     $idmun_nascimento = $det_fisica["idmun_nascimento"]->idmun;
     $obj_mun_nasc = new clsMunicipio($idmun_nascimento);
     $det_mun_nasc = $obj_mun_nasc->detalhe();
     $naturalidade = str2upper($det_mun_nasc['nome']);
     if ($det_mun_nasc['sigla_uf']) {
         $naturalidade_uf = $det_mun_nasc['sigla_uf']->detalhe();
         $naturalidade_uf = $naturalidade_uf['nome'];
     }
     // NACIONALIDADE
     $nacionalidade = $det_fisica["nacionalidade"];
     if ($nacionalidade == 1) {
         $nacionalidade = "Brasileira";
     } else {
         if ($nacionalidade == 2) {
             $nacionalidade = "Naturalizado(a) Brasileiro(a)";
         } else {
             if ($nacionalidade == 3) {
                 $nacionalidade = "Estrangeira";
             }
         }
     }
     $nm_pai = str2upper($det_aluno["nm_pai"]);
     $nm_mae = str2upper($det_aluno['nm_mae']);
     if (!$nm_pai || !$nm_mae) {
         $obj_fisica = new clsFisica($det_aluno['ref_idpes']);
         $det_fisica = $obj_fisica->detalhe();
         if (!$nm_pai) {
             $nm_pai = str2upper($det_fisica["nome_pai"]);
         }
         if (!$nm_mae) {
             $nm_mae = str2upper($det_fisica["nome_mae"]);
         }
         if (!$nm_pai) {
             $obj_pessoa = new clsPessoa_($det_fisica["idpes_pai"]);
             $det_pessoa = $obj_pessoa->detalhe();
             // NOME DO PAI
             $nm_pai = str2upper($det_pessoa['nome']);
         }
         if (!$nm_mae) {
             $obj_pessoa = new clsPessoa_($det_fisica["idpes_mae"]);
             $det_pessoa = $obj_pessoa->detalhe();
             // NOME DA MAE
             $nm_mae = str2upper($det_pessoa['nome']);
         }
     }
     $obj_escola_complemento = new clsPmieducarEscolaComplemento($this->ref_cod_escola);
     $det_escola_complemento = $obj_escola_complemento->detalhe();
     if ($det_escola_complemento) {
         // NOME DA ESCOLA
         $nm_escola = str2upper($det_escola_complemento['nm_escola']);
         // ENDERECO DA ESCOLA
         $logradouro = str2upper($det_escola_complemento['logradouro']);
         $numero = $det_escola_complemento['numero'];
         $complemento = str2upper($det_escola_complemento['complemento']);
         $bairro = str2upper($det_escola_complemento['bairro']);
         $municipio = str2upper($det_escola_complemento['municipio']);
         $cep = $det_escola_complemento['cep'];
         $cep = int2CEP($cep);
         $this->endereco = "{$logradouro} {$complemento},{$numero} CEP {$cep} {$municipio}";
     } else {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $obj_juridica = new clsJuridica($det_escola['ref_idpes']);
         $det_juridica = $obj_juridica->detalhe();
         $nm_escola = $det_juridica['fantasia'];
         if (!$nm_escola) {
             $obj_pessoa_ = new clsPessoa_($det_escola['ref_idpes']);
             $det_pessoa_ = $obj_pessoa_->detalhe();
             $nm_escola = $det_pessoa_['nome'];
         }
         $this->nm_escola = $nm_escola;
         $obj_endereco = new clsPessoaEndereco($det_escola["ref_idpes"]);
         if (class_exists("clsPessoaEndereco")) {
             $tipo = 1;
             $endereco_lst = $obj_endereco->lista($det_escola["ref_idpes"]);
             if ($endereco_lst) {
                 foreach ($endereco_lst as $endereco) {
                     $cep = $endereco["cep"]->cep;
                     $idlog = $endereco["idlog"]->idlog;
                     $obj = new clsLogradouro($idlog);
                     $obj_det = $obj->detalhe();
                     $logradouro = $obj_det["nome"];
                     $idtlog = $obj_det["idtlog"]->detalhe();
                     $tipo_logradouro = strtoupper($idtlog["descricao"]);
                     $bairro = $idbai = $endereco["idbai"]->detalhe();
                     $idbai = $idbai['nome'];
                     $numero = $endereco["numero"];
                     $complemento = $endereco["complemento"];
                     $andar = $endereco["andar"];
                 }
                 $obj_log = new clsLogradouro($idlog);
                 $obj_log_det = $obj_log->detalhe();
                 if ($obj_log_det) {
                     $logradouro = str2upper($obj_log_det["nome"]);
                     $obj_mun = new clsMunicipio($obj_log_det["idmun"]);
                     $det_mun = $obj_mun->detalhe();
                     if ($det_mun) {
                         $municipio = str2upper($det_mun["nome"]);
                     }
                     $estado = $det_mun['sigla_uf']->sigla_uf;
                 }
                 $cep = int2CEP($cep);
                 $this->endereco = "{$tipo_logradouro} {$logradouro} {$complemento},{$numero} CEP {$cep} {$municipio} {$estado}";
             } else {
                 if (class_exists("clsEnderecoExterno")) {
                     $tipo = 2;
                     $obj_endereco = new clsEnderecoExterno();
                     $endereco_lst = $obj_endereco->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $det_escola["ref_idpes"]);
                     if ($endereco_lst) {
                         foreach ($endereco_lst as $endereco) {
                             $cep = $endereco["cep"];
                             $estado = $endereco["sigla_uf"]->sigla_uf;
                             $sigla_uf = $endereco["sigla_uf"]->detalhe();
                             $sigla_uf = $sigla_uf["nome"];
                             $cidade = $endereco["cidade"];
                             $idtlog = $endereco["idtlog"]->detalhe();
                             $tipo_logradouro = $idtlog["descricao"];
                             $logradouro = $endereco["logradouro"];
                             $bairro = $endereco["bairro"];
                             $numero = $endereco["numero"];
                             $complemento = $endereco["complemento"];
                             $andar = $endereco["andar"];
                             $municipio = str2upper($endereco['cidade']);
                             $bairro = str2upper($endereco_lst['bairro']);
                         }
                     }
                     $cep = int2CEP($cep);
                     $this->endereco = "{$tipo_logradouro} {$logradouro} {$complemento},{$numero}{$bairro} CEP {$cep} {$municipio} - {$sigla_uf}";
                 }
             }
         }
     }
     if ($dt_nasc) {
         $nascimento = ", nascido(a) em {$dia} de {$meses[$mes]} de {$ano}";
     }
     if ($naturalidade) {
         $natural = " natural de {$naturalidade},";
         if ($naturalidade_uf) {
             $natural_uf = " Estado de(o) {$naturalidade_uf}";
         }
     }
     if ($nacionalidade) {
         $nacional = " de nacionalidade {$nacionalidade}";
     }
     $naturalidade = ", {$natural}{$natural_uf}{$nacional}";
     $gruda_pai = ", filho(a) de ";
     if ($nm_pai) {
         $pais = "{$gruda_pai}{$nm_pai}";
         $gruda_pai = " e de ";
     }
     if ($nm_mae) {
         $pais .= "{$gruda_pai}{$nm_mae}";
     }
     if ($sexo) {
         $sexo = ", do sexo {$sexo}";
     }
     if ($cod_matricula) {
         $cod_matricula = ", matrícula {$cod_matricula}";
     }
     $serie_concluiu = ", cursou em {$lst_historico_escolar[$ultima_mat]['ano']}, o(a) {$lst_historico_escolar[$ultima_mat]['nm_serie']} do Ensino Fundamental";
     $this->addCabecalho($nm_aluno, $cod_matricula, $naturalidade, $sexo, $nascimento, $pais, $serie_concluiu);
     //*************** FIM CABECALHO
     if ($lst_historico_escolar) {
         //*************** INICIO NOTAS
         $db = new clsBanco();
         /**
          * busca nome das series e fonetiza
          * para tentar remover duplicidades
          */
         $consulta = "SELECT nm_serie\n\t\t\t\t\t\t\t\t,sequencial\n\t\t\t\t\t\t\t\t,CASE WHEN faltas_globalizadas IS NOT NULL THEN\n\t\t\t\t\t\t\t\t\t100::float -  (faltas_globalizadas::float / dias_letivos::float )::float * 100\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tcarga_horaria\n\t\t\t\t\t\t\t\tEND AS frequencia\n\t\t\t\t\t\t\t\t,CASE WHEN faltas_globalizadas IS NULL THEN\n\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\t\tEND AS faltas_globalizadas\n\t\t\t\t\t\t   FROM pmieducar.historico_escolar\n\t\t\t\t\t\t  WHERE ref_cod_aluno = '{$this->ref_cod_aluno}'\n\t\t\t\t\t\t    AND ativo = 1\n\t\t\t\t\t\t  ORDER BY ano";
         $db->Consulta($consulta);
         if ($db->Num_Linhas()) {
             $series = array();
             while ($db->ProximoRegistro()) {
                 $registro = $db->Tupla();
                 $registro['total_faltas'] = 0;
                 $series[] = $registro;
                 //['nm_serie'];
             }
             $serie_fonetizada = array();
             foreach ($series as $serie) {
                 $fonetiza = fonetiza_palavra($serie['nm_serie']);
                 $serie_fonetizada["{$fonetiza}"] = $serie;
             }
             $lst_series = array();
             foreach ($serie_fonetizada as $key => $serie) {
                 $lst_series[$key] = $serie;
                 $lst_series[$key]['nm_serie'] = $serie['nm_serie'];
                 $frequencia[$key] = $serie['frequencia'] != '' ? number_format($serie['frequencia'], 1, '.', '') . "%" : $serie['frequencia'];
             }
             $consulta = "SELECT nm_disciplina\n\t\t\t\t\t\t\t   FROM pmieducar.historico_disciplinas\n\t\t\t\t\t\t\t  WHERE ref_ref_cod_aluno = '{$this->ref_cod_aluno}'\n\t\t\t\t\t\t\t  AND nm_disciplina IS NOT NULL\n\t\t\t\t\t\t\t  AND nm_disciplina != ''\n\t\t\t\t\t\t\t  AND nota IS NOT NULL\n\t\t\t\t\t\t\t  AND nota != ''\n\t\t\t\t\t\t\t ORDER BY 1";
             $db->Consulta($consulta);
             if ($db->Num_Linhas()) {
                 $disciplinas = array();
                 while ($db->ProximoRegistro()) {
                     $registro = $db->Tupla();
                     $disciplinas[] = $registro;
                 }
                 $disciplina_fonetizada = array();
                 foreach ($disciplinas as $disciplina) {
                     $fonetiza = fonetiza_palavra($disciplina['nm_disciplina']);
                     $disciplina_fonetizada["{$fonetiza}"] = $disciplina;
                 }
                 $lst_disciplinas = array();
                 foreach ($disciplina_fonetizada as $disciplina) {
                     $lst_disciplinas[] = $disciplina;
                 }
             }
             /**
              * cabecalho com todas as series
              */
             $this->novaLinha($lst_series, 's');
             $notas = array();
             $possui_eja = false;
             foreach ($lst_disciplinas as $key => $disciplina) {
                 foreach ($lst_series as $key2 => $serie) {
                     $consulta = "SELECT nm_disciplina\n\t\t\t\t\t\t\t\t\t       ,nota\n\t\t\t\t\t\t\t\t\t       ,faltas\n\t\t\t\t\t\t\t\t\t  FROM pmieducar.historico_disciplinas\n\t\t\t\t\t\t\t\t\t WHERE ref_ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t   AND ref_sequencial = {$serie['sequencial']}\n\t\t\t\t\t\t\t\t\t   AND nm_disciplina IS NOT NULL\n\t\t\t\t\t\t\t\t\t   AND nm_disciplina != ''\n\t\t\t\t\t\t\t\t\t   AND nota IS NOT NULL\n\t\t\t\t\t\t\t\t\t   AND nota != ''\n\t\t\t\t\t\t\t\t\tORDER BY 1";
                     $db->Consulta($consulta);
                     if ($db->Num_Linhas()) {
                         while ($db->ProximoRegistro()) {
                             $registro = $db->Tupla();
                             if (fonetiza_palavra($disciplina['nm_disciplina']) == fonetiza_palavra($registro['nm_disciplina'])) {
                                 if (is_numeric(substr($registro["nota"], 0, 1)) || is_numeric(substr($registro["nota"], strpos($registro["nota"], ",") + 1, 1))) {
                                     $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = number_format(str_replace(",", ".", $registro['nota']), 2, ".", '');
                                 } else {
                                     if ($extra_curricular) {
                                         $possui_eja = true;
                                     }
                                     $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = $registro["nota"];
                                 }
                                 //									$notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = number_format(str_replace(",",".",$registro['nota']),2,".",'');
                                 //$falta += $registro['faltas'];
                                 if (!$serie['faltas_globalizadas']) {
                                     $lst_series[$key2]['total_faltas'] += $registro['faltas'];
                                 }
                                 break;
                             } else {
                                 $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = "- -";
                             }
                         }
                     } else {
                         $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = "";
                     }
                 }
             }
             foreach ($notas as $key => $nota) {
                 $nota['nm_disciplina'] = $disciplina_fonetizada[$key]['nm_disciplina'];
                 $this->novaLinha($nota, 'n');
             }
         }
         //*************** FIM NOTAS
         //*************** FREQUENCIA
         foreach ($lst_series as $key => $serie) {
             if (!$serie['faltas_globalizadas']) {
                 $frequencia[$key] = 100 - $serie['total_faltas'] / $serie['frequencia'] * 100;
             }
             if ($frequencia[$key]) {
                 $frequencia[$key] .= "%";
             }
         }
         $this->novaLinha($frequencia, 'f');
         //*************** FREQUENCIA
         $this->page_y += 5;
         $this->cor_fundo = "";
         $this->linhaHistorico(array(), true);
         //*************** INICIO HISTORICO
         $consulta = "SELECT nm_serie\n\t\t\t\t\t\t        ,ano\n\t\t\t\t\t\t        ,escola\n\t\t\t\t\t\t        ,escola_cidade\n\t\t\t\t\t\t        ,escola_uf\n\t\t\t\t\t\t        ,CASE aprovado\n\t\t\t\t\t\t          \t  WHEN 1 THEN 'APROVADO'\n\t\t\t\t\t\t              WHEN 2 THEN 'REPROVADO'\n\t\t\t\t\t\t\t \t END\n\t\t\t\t\t\t\t \t,observacao\n\t\t\t\t\t\t   FROM pmieducar.historico_escolar\n\t\t\t\t\t\t  WHERE ref_cod_aluno = '{$this->ref_cod_aluno}'\n\t\t\t\t\t\t    AND ativo = 1\n\t\t\t\t\t\t  ORDER BY ano";
         $observacao = '';
         $db->Consulta($consulta);
         $qtd_observacoes = 0;
         if ($db->Num_Linhas()) {
             while ($db->ProximoRegistro()) {
                 $registro = $db->Tupla();
                 if ($registro[6]) {
                     $qtd_observacoes++;
                     $observacao .= "{$registro[1]} - {$registro[6]}\n";
                 }
                 $registro = array($registro[0], $registro[1], $registro[5], $registro[2], $registro[3], $registro[4]);
                 $this->linhaHistorico($registro);
             }
         }
         //*************** FIM HISTORICO
     }
     if ($qtd_observacoes < 3) {
         $this->observacao($observacao);
     } else {
         $this->observacao($observacao, 100);
     }
     if ($possui_eja) {
         $tabela_conversao = "\nConversão de Valores das Notas";
         $tabela_conversao .= "\nNRE - Necessita retomar os estudos - abaixo de 5,0";
         $tabela_conversao .= "\nEM   - Evidência Mínima  - 5,0 a 6,9";
         $tabela_conversao .= "\nEP   - Evidência Parcial - 7,0 a 8,4";
         $tabela_conversao .= "\nEC   - Evidência Completa - 8,5 a 10,0";
         $this->pdf->quadrado_relativo(20, $this->page_y + 5, 555, 50, 0.1, "#000000", "#FFFFFF");
         $this->pdf->escreve_relativo("{$tabela_conversao}", 23, $this->page_y + 3, 545, 60, $fonte, 8, $corTexto, 'justify');
         $this->page_y += 50;
     }
     $this->rodape(strtoupper("{$municipio} ({$estado})"));
     $this->pdf->CloseFile();
     $this->get_link = $this->pdf->GetLink();
     echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $this->get_link . "'}</script>";
     echo "<html><center>Se o download não iniciar automaticamente <br /><a target='_blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n\t\t\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t<a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br><img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\"></a>\n\t\t\t</span>\n\t\t\t</center>";
     /*else
     		{
     
     			echo "<center>O aluno não possui Histórico Escolar!</center>"	;
     			echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');}</script>";
     			die();
     
     		}*/
 }
コード例 #4
0
 function Novo()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(650, $this->pessoa_logada, 7, "educar_turma_mvto_det.php");
     $this->lst_matriculas = unserialize(urldecode($_POST["lst_matriculas"]));
     $this->cod_disciplinas = unserialize(urldecode($_POST["cod_disciplinas"]));
     $this->lst_apura_falta = unserialize(urldecode($_POST["lst_apura_falta"]));
     if (is_array($this->lst_matriculas)) {
         //			Verifica se o professor aprovou ou reprovou algum aluno
         if ($this->classifica == "S") {
             $obj_nota_aluno = new clsPmieducarNotaAluno();
             $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true, true);
             if ($lst_exame) {
                 foreach ($lst_exame as $exame) {
                     $obj_matricula = new clsPmieducarMatricula($exame["ref_ref_cod_matricula"]);
                     $det_matricula = $obj_matricula->detalhe();
                     if ($det_matricula) {
                         $obj_aluno = new clsPmieducarAluno($det_matricula["ref_cod_aluno"]);
                         $det_aluno = $obj_aluno->detalhe();
                         if ($det_aluno) {
                             $campo_aprovacao = "aprovacao_{$det_aluno["ref_idpes"]}_";
                             $campo_aluno = "nm_aluno_{$det_aluno["ref_idpes"]}";
                         }
                     }
                     if (isset($this->{$campo_aluno})) {
                         //							Verifica se a média é maior ou igual a média mínima e se foi aprovado pelo professor
                         if ($exame["media"] >= $this->media && $this->{$campo_aprovacao} == "on") {
                             //								Verifica se o aluno não foi reprovado ou deixado em exame
                             if ($aprovado[$exame["ref_ref_cod_matricula"]] != "N" && $aprovado[$exame["ref_ref_cod_matricula"]] != "R") {
                                 $aprovado[$exame["ref_ref_cod_matricula"]] = "S";
                             }
                         } else {
                             if ($exame["media"] < $this->media && $this->{$campo_aprovacao} == "on") {
                                 //								Verifica se o aluno não foi reprovado
                                 if ($aprovado[$exame["ref_ref_cod_matricula"]] != "N") {
                                     $aprovado[$exame["ref_ref_cod_matricula"]] = "R";
                                 }
                             } else {
                                 $aprovado[$exame["ref_ref_cod_matricula"]] = "N";
                             }
                         }
                     }
                 }
                 if (is_array($aprovado)) {
                     foreach ($aprovado as $matricula => $verificador) {
                         //							Verifica se o aluno foi aprovado ou deixado em exame
                         if ($verificador == "S" || $verificador == "R") {
                             $obj_matricula = new clsPmieducarMatricula($matricula);
                             $det_matricula = $obj_matricula->detalhe();
                             //								Verifica se a matrícula aida está em andamento
                             if ($det_matricula["aprovado"] == 3) {
                                 $obj_historico = new clsPmieducarHistoricoEscolar();
                                 $lst_historico = $obj_historico->lista($matricula);
                                 $seq = count($lst_historico) + 1;
                                 $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1);
                                 $det_ano_letivo = $obj_ano_letivo->detalhe();
                                 $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola);
                                 $det_escola = $obj_escola->detalhe();
                                 //									Verifica se o aluno foi aprovado
                                 if ($verificador == "S") {
                                     $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 1, null, null, 1);
                                     if ($obj_historico->cadastra()) {
                                         $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 1);
                                         $obj_matricula->edita();
                                     } else {
                                         $this->mensagem = "Falha ao cadastrar o historico!<br>";
                                     }
                                 } else {
                                     if ($verificador == "R") {
                                         $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 7);
                                         if (!$obj_matricula->edita()) {
                                             $this->mensagem = "Falha ao editar a matricula!<br>";
                                         }
                                     }
                                 }
                             }
                         } else {
                             $obj_matricula = new clsPmieducarMatricula($matricula);
                             $det_matricula = $obj_matricula->detalhe();
                             //								Verifica se a matricula ainda está em andamento
                             if ($det_matricula["aprovado"] == 3) {
                                 $obj_historico = new clsPmieducarHistoricoEscolar();
                                 $lst_historico = $obj_historico->lista($matricula);
                                 $seq = count($lst_historico) + 1;
                                 $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1);
                                 $det_ano_letivo = $obj_ano_letivo->detalhe();
                                 $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola);
                                 $det_escola = $obj_escola->detalhe();
                                 //									Verifica se o aluno foi reprovado
                                 if ($verificador == "N") {
                                     $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 2, null, null, 1);
                                     if ($obj_historico->cadastra()) {
                                         $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 2);
                                         if (!$obj_matricula->edita()) {
                                             $this->mensagem = "Falha ao alterar a matricula!<br>";
                                         }
                                     } else {
                                         $this->mensagem = "Falha ao cadastrar o historico!<br>";
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}");
             die;
         } else {
             foreach ($this->lst_matriculas as $matriculas) {
                 //					Verifica se o ano letivo ainda está em andamento
                 if ($this->num_modulo <= $this->qtd_modulos) {
                     //						Verifica se a disciplina apura falta
                     if ($this->lst_apura_falta[$this->ref_cod_disciplina] == 1) {
                         $campo_falta = "faltas_{$matriculas[1]}";
                     } else {
                         if ($this->falta_ch_globalizada == 1) {
                             $campo_falta = "faltas_{$matriculas[1]}";
                         }
                     }
                     $campo_nota = "nota_{$matriculas[1]}";
                     $obj_mat_tur = new clsPmieducarMatriculaTurma();
                     $lst_mat_tur = $obj_mat_tur->lista($matriculas[2], $this->ref_cod_turma, null, null, null, null, null, null, 1);
                     $sequencial = 0;
                     //echo "<pre>";
                     //print_r( $lst_mat_tur );
                     if (is_array($lst_mat_tur)) {
                         foreach ($lst_mat_tur as $registro) {
                             if ($sequencial == 0) {
                                 $sequencial = $registro["sequencial"];
                             } else {
                                 if ($sequencial < $registro["sequencial"]) {
                                     $sequencial = $registro["sequencial"];
                                 }
                             }
                         }
                         //$sequencial = ( count( $lst_mat_tur ) );
                         //$sequencial = $lst_mat_tur["sequencial"];
                     } else {
                         $this->mensagem = "Erro no cadastro de nota!<br>";
                     }
                     $obj_nota_aluno = new clsPmieducarNotaAluno(null, $this->{$campo_nota}, $this->ref_cod_tipo_avaliacao, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $this->ref_cod_turma, $matriculas[2], $this->ref_cod_turma, null, $this->pessoa_logada, null, null, 1, $sequencial);
                     if (!$obj_nota_aluno->cadastra()) {
                         $this->mensagem = "Erro no cadastro de nota!<br>";
                     }
                     //						Verifica se a falta não é globalizada
                     if ($this->falta_ch_globalizada == 0) {
                         //							Verifica se a disciplina apura falta
                         if ($this->lst_apura_falta[$this->ref_cod_disciplina] == 1) {
                             //								Verifica se o aluno possui alguma falta
                             if ($this->{$campo_falta} > 0) {
                                 $obj_falta_aluno = new clsPmieducarFaltaAluno(null, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $this->ref_cod_turma, $this->ref_cod_turma, $matriculas[2], $this->{$campo_falta}, null, null, 1, $sequencial);
                                 if (!$obj_falta_aluno->cadastra()) {
                                     $this->mensagem = "Erro no cadastro de falta!<br>";
                                 }
                             }
                         }
                     } else {
                         if ($this->falta_ch_globalizada == 1) {
                             //							Verifica se o aluno possui alguma falta
                             if ($this->{$campo_falta} > 0) {
                                 $obj_faltas = new clsPmieducarFaltas();
                                 $lst_faltas = $obj_faltas->lista($matriculas[2]);
                                 $sequencial = count($lst_faltas) + 1;
                                 $obj_faltas = new clsPmieducarFaltas($matriculas[2], $sequencial, $this->pessoa_logada, $this->{$campo_falta});
                                 if (!$obj_faltas->cadastra()) {
                                     $this->mensagem = "Erro no cadastro de falta!<br>";
                                 }
                             }
                         }
                     }
                 }
             }
             //				Verifica se a turma está no último módulo
             if ($this->qtd_modulos == $this->num_modulo) {
                 $obj_matricula_turma = new clsPmieducarMatriculaTurma();
                 $lst_matricula_turma = $obj_matricula_turma->lista(null, $this->ref_cod_turma, null, null, null, null, null, null, 1);
                 if ($lst_matricula_turma) {
                     foreach ($lst_matricula_turma as $matricula) {
                         $obj_nota_aluno = new clsPmieducarNotaAluno();
                         //							Busca se todas as notas já foram dadas para o aluno
                         $todas_notas = $obj_nota_aluno->todasNotas($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->num_modulo, $matricula["ref_cod_matricula"]);
                         //							Verifica se todas as notas já foram dadas para o aluno
                         if ($todas_notas == 'S') {
                             if ($this->conceitual == 0) {
                                 //									Carrega as médias de cada disciplina do aluno
                                 $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true);
                                 if ($lst_exame) {
                                     foreach ($lst_exame as $exame) {
                                         if ($exame["ref_ref_cod_matricula"] == $matricula["ref_cod_matricula"]) {
                                             //												Verifica se a média do aluno é igual ou superior a média mínima e se a freqüência do aluno é igual ou maior que a freqüência mínima
                                             if ($exame["media"] >= $this->media && 100 - $exame["faltas"] >= $this->frequencia_minima) {
                                                 //													Verifica se o aluno não foi reprovado ou deixado de recuperação
                                                 if ($aprovado[$exame["ref_ref_cod_matricula"]] != "N" && $aprovado[$exame["ref_ref_cod_matricula"]] != "R") {
                                                     $aprovado[$exame["ref_ref_cod_matricula"]] = "S";
                                                 }
                                             } else {
                                                 if ($exame["media"] < $this->media && 100 - $exame["faltas"] >= $this->frequencia_minima) {
                                                     //													Verifica se o aluno não foi reprovado
                                                     if ($aprovado[$exame["ref_ref_cod_matricula"]] != "N") {
                                                         $aprovado[$exame["ref_ref_cod_matricula"]] = "R";
                                                     }
                                                 } else {
                                                     $aprovado[$exame["ref_ref_cod_matricula"]] = "N";
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                             if ($this->conceitual == 1) {
                                 $obj_aluno = new clsPmieducarAluno($matricula["ref_cod_aluno"]);
                                 $det_aluno = $obj_aluno->detalhe();
                                 $campo_aprovacao = "aprovacao_{$det_aluno["ref_idpes"]}";
                                 if ($this->{$campo_aprovacao} == "S") {
                                     $aprovado[$matricula["ref_cod_matricula"]] = "S";
                                 } elseif ($this->{$campo_aprovacao} == "N") {
                                     $aprovado[$matricula["ref_cod_matricula"]] = "N";
                                 }
                             }
                         }
                     }
                 }
                 if (is_array($aprovado)) {
                     foreach ($aprovado as $matricula => $verificador) {
                         //							Verifica se o aluno foi aprovado ou deixado em exame
                         if ($verificador == "S" || $verificador == "R") {
                             $obj_matricula = new clsPmieducarMatricula($matricula);
                             $det_matricula = $obj_matricula->detalhe();
                             //								Verifica se a matrícula está em andamento
                             if ($det_matricula["aprovado"] == 3) {
                                 $obj_historico = new clsPmieducarHistoricoEscolar();
                                 $lst_historico = $obj_historico->lista($matricula);
                                 $seq = count($lst_historico) + 1;
                                 $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1);
                                 $det_ano_letivo = $obj_ano_letivo->detalhe();
                                 $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola);
                                 $det_escola = $obj_escola->detalhe();
                                 //									Verifica se o aluno foi aprovado
                                 if ($verificador == "S") {
                                     if ($this->falta_ch_globalizada == 1) {
                                         $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 1, null, null, 1, 1);
                                     } else {
                                         $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 1, null, null, 1, 0);
                                     }
                                     if ($obj_historico->cadastra()) {
                                         $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 1);
                                         if ($obj_matricula->edita()) {
                                             $this->mensagem = "Falha ao editar a matricula!<br>";
                                         }
                                     } else {
                                         $this->mensagem = "Falha ao cadastrar o historico!<br>";
                                     }
                                 } else {
                                     if ($verificador == "R") {
                                         $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 7);
                                         if (!$obj_matricula->edita()) {
                                             $this->mensagem = "Falha ao editar a matricula!<br>";
                                         }
                                     }
                                 }
                             }
                         } else {
                             if ($verificador == "N" && $this->conceitual == 1) {
                                 $obj_matricula = new clsPmieducarMatricula($matricula);
                                 $det_matricula = $obj_matricula->detalhe();
                                 if ($det_matricula["aprovado"] == 3) {
                                     $obj_historico = new clsPmieducarHistoricoEscolar();
                                     $lst_historico = $obj_historico->lista($matricula);
                                     $seq = count($lst_historico) + 1;
                                     $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1);
                                     $det_ano_letivo = $obj_ano_letivo->detalhe();
                                     $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola);
                                     $det_escola = $obj_escola->detalhe();
                                     if ($this->falta_ch_globalizada == 1) {
                                         $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 2, null, null, 1, 1);
                                     } else {
                                         $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 2, null, null, 1, 0);
                                     }
                                     if ($obj_historico->cadastra()) {
                                         $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 2);
                                         if ($obj_matricula->edita()) {
                                             $this->mensagem = "Falha ao editar a matricula!<br>";
                                         }
                                     } else {
                                         $this->mensagem = "Falha ao cadastrar o historico!<br>";
                                     }
                                 }
                             }
                         }
                     }
                 }
                 $obj_turma_modulo = new clsPmieducarTurmaModulo();
                 $fimAnoLetivo = $obj_turma_modulo->fimAno($this->ref_cod_turma, $this->qtd_modulos);
                 //					$total_notas = $obj_nota_aluno->retornaTotalNotas( $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma );
                 //					if ( $total_notas == ( $this->qtd_modulos * $this->qtd_disciplinas ) )
                 if ($fimAnoLetivo == "S") {
                     header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}");
                     die;
                 } else {
                     header("location: educar_turma_nota_cad.php?ref_cod_turma={$this->ref_cod_turma}&ref_ref_cod_escola={$this->ref_ref_cod_escola}&ref_ref_cod_serie={$this->ref_ref_cod_serie}&ref_cod_curso={$this->ref_cod_curso}");
                     die;
                 }
             } else {
                 if ($this->exame == "S") {
                     foreach ($this->lst_matriculas as $matriculas) {
                         //						Verifica se todos os módulos já terminaram
                         if ($this->num_modulo > $this->qtd_modulos) {
                             $campo_nota = "nota_{$matriculas[1]}";
                             $obj_mat_tur = new clsPmieducarMatriculaTurma();
                             $lst_mat_tur = $obj_mat_tur->lista($matriculas[2], $this->ref_cod_turma, null, null, null, null, null, null, 1);
                             if (is_array($lst_mat_tur)) {
                                 //$sequencial = ( count( $lst_mat_tur ) );
                                 $sequencial = $lst_mat_tur["sequencial"];
                             } else {
                                 $this->mensagem = "Erro no cadastro de nota!<br>";
                             }
                             $obj_nota_aluno = new clsPmieducarNotaAluno(null, $this->{$campo_nota}, $this->ref_cod_tipo_avaliacao, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $this->ref_cod_turma, $matriculas[2], $this->ref_cod_turma, null, $this->pessoa_logada, null, null, 1, $sequencial);
                             if (!$obj_nota_aluno->cadastra()) {
                                 $this->mensagem = "Erro no cadastro de nota!<br>";
                             }
                             $obj_nota_aluno = new clsPmieducarNotaAluno();
                             $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true, false, true);
                             $obj_turma_disciplina = new clsPmieducarTurmaDisciplina();
                             //							Carrega o código das disciplinas da turma
                             $lst_turma_disciplina = $obj_turma_disciplina->lista($this->ref_cod_turma);
                             if (is_array($lst_turma_disciplina)) {
                                 //								Carrega a quantidade de disciplinas da turma
                                 $this->qtd_disciplinas = count($lst_turma_disciplina);
                                 foreach ($lst_turma_disciplina as $valores) {
                                     $obj_disciplina = new clsPmieducarDisciplina($valores["ref_cod_disciplina"]);
                                     $det_disciplina = $obj_disciplina->detalhe();
                                     if ($det_disciplina) {
                                         $obj_dispensa = new clsPmieducarDispensaDisciplina();
                                         $det_dispensa = $obj_dispensa->lista($this->ref_cod_turma, $matriculas[2], $this->ref_cod_turma, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $det_disciplina["cod_disciplina"], null, null, null, null, null, null, null, 1);
                                         //										Verifica se o aluno não foi dispensado da disciplina
                                         if (!is_array($det_dispensa)) {
                                             $obj_notas = new clsPmieducarNotaAluno();
                                             //											Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina
                                             $lst_notas = $obj_notas->retornaDiscMod($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $det_disciplina["cod_disciplina"], $this->ref_cod_turma, $this->ref_cod_turma, $matriculas[2]);
                                             //											Carrega a média da disciplina
                                             if ($lst_exame) {
                                                 foreach ($lst_exame as $exame) {
                                                     if ($exame["disc_ref_ref_cod_disciplina"] == $det_disciplina["cod_disciplina"] && $exame["ref_ref_cod_matricula"] == $matriculas[2]) {
                                                         $media_disciplina = $exame["media"];
                                                     }
                                                 }
                                             }
                                             if ($lst_notas == $this->qtd_modulos) {
                                                 if ($media_disciplina >= $this->media) {
                                                     $pula_disciplina = false;
                                                 } else {
                                                     $pula_disciplina = true;
                                                 }
                                             } else {
                                                 $pula_disciplina = true;
                                             }
                                             if ($pula_disciplina) {
                                                 if (!is_array($det_dispensa)) {
                                                     //													Verifica se a quantidade de notas por aluno é diferente do número do módulo em que a turma se encontra
                                                     if ($lst_notas == $this->qtd_modulos + 1) {
                                                         if ($salva_historico != "N") {
                                                             $lst_disc_exame[$det_disciplina["cod_disciplina"]] = "S";
                                                             $salva_historico = "S";
                                                         }
                                                     } else {
                                                         $salva_historico = "N";
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                             if ($salva_historico == "S") {
                                 $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos + 1, $this->ref_cod_curso, true, true, false, true);
                                 if ($lst_exame) {
                                     foreach ($lst_exame as $exame) {
                                         if ($exame["ref_ref_cod_matricula"] == $matriculas[2] && $lst_disc_exame[$exame["disc_ref_ref_cod_disciplina"]] == "S") {
                                             //											Verifica se a média do aluno é igual ou superior a média mínima
                                             if ($exame["media"] >= $this->media_exame) {
                                                 //												Verifica se o aluno não foi reprovado
                                                 if ($aprovado[$exame["ref_ref_cod_matricula"]] != "N") {
                                                     $aprovado[$exame["ref_ref_cod_matricula"]] = "S";
                                                 }
                                             } else {
                                                 $aprovado[$exame["ref_ref_cod_matricula"]] = "N";
                                             }
                                         }
                                     }
                                 }
                             }
                             if (is_array($aprovado)) {
                                 foreach ($aprovado as $matricula => $verificador) {
                                     //									Verifica se o aluno foi aprovado
                                     if ($verificador == "S") {
                                         $obj_matricula = new clsPmieducarMatricula($matricula);
                                         $det_matricula = $obj_matricula->detalhe();
                                         //										Verifica se a matrícula está em exame
                                         if ($det_matricula["aprovado"] == 7) {
                                             $obj_historico = new clsPmieducarHistoricoEscolar();
                                             $lst_historico = $obj_historico->lista($matricula);
                                             $seq = count($lst_historico) + 1;
                                             $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1);
                                             $det_ano_letivo = $obj_ano_letivo->detalhe();
                                             $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola);
                                             $det_escola = $obj_escola->detalhe();
                                             //											Verifica se o aluno foi aprovado
                                             if ($verificador == "S") {
                                                 if ($this->falta_ch_globalizada == 1) {
                                                     $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 1, null, null, 1, 1);
                                                 } else {
                                                     $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 1, null, null, 1, 0);
                                                 }
                                                 if ($obj_historico->cadastra()) {
                                                     $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 1);
                                                     if ($obj_matricula->edita()) {
                                                         $this->mensagem = "Falha ao editar a matricula!<br>";
                                                     }
                                                 } else {
                                                     $this->mensagem = "Falha ao cadastrar o historico!<br>";
                                                 }
                                             }
                                         }
                                     }
                                     //									Verifica se o aluno foi reprovado
                                     if ($verificador == "N") {
                                         $obj_historico = new clsPmieducarHistoricoEscolar();
                                         $lst_historico = $obj_historico->lista($matriculas[0]);
                                         $seq = count($lst_historico) + 1;
                                         $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1);
                                         $det_ano_letivo = $obj_ano_letivo->detalhe();
                                         $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola);
                                         $det_escola = $obj_escola->detalhe();
                                         if ($this->falta_ch_globalizada == 1) {
                                             $obj_historico = new clsPmieducarHistoricoEscolar($matriculas[0], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 2, null, null, 1, 1);
                                         } else {
                                             $obj_historico = new clsPmieducarHistoricoEscolar($matriculas[0], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 2, null, null, 1, 0);
                                         }
                                         if ($obj_historico->cadastra()) {
                                             $obj_matricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada, null, null, 2);
                                             if (!$obj_matricula->edita()) {
                                                 $this->mensagem = "Falha ao alterar a matricula!<br>";
                                             }
                                         } else {
                                             $this->mensagem = "Falha ao cadastrar o historico!<br>";
                                         }
                                     }
                                 }
                             }
                             header("location: educar_turma_nota_cad.php?ref_cod_turma={$this->ref_cod_turma}&ref_ref_cod_escola={$this->ref_ref_cod_escola}&ref_ref_cod_serie={$this->ref_ref_cod_serie}&ref_cod_curso={$this->ref_cod_curso}");
                             die;
                         }
                     }
                 }
             }
             header("location: educar_turma_nota_cad.php?ref_cod_turma={$this->ref_cod_turma}&ref_ref_cod_escola={$this->ref_ref_cod_escola}&ref_ref_cod_serie={$this->ref_ref_cod_serie}&ref_cod_curso={$this->ref_cod_curso}");
             die;
         }
     }
 }