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ão do Histórico Disciplina nã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ão do Histórico Escolar nã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ão do Histórico Disciplina nã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ão do Histórico Escolar nã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ção do Histórico Disciplinas não realizado.<br>"; return false; } } else { $this->mensagem = "Não foi possível encontrar os Valores do Tipo de Avaliação.<br>"; return false; } } } /* else if( (!$editou_he || !$cadastrou_he) && (!$this->conceitual) ) { $this->mensagem = "Cadastro/Edição do Histórico Escolar nã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ção não realizada (Matrí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ão do Histórico Disciplina nã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ão do Histórico Escolar nã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ção do Histórico Disciplinas não realizado.<br>"; return false; } } else { $this->mensagem = "Não foi possível encontrar os Valores do Tipo de Avaliação.<br>"; return false; } } } /* else if( !$editou_he || !$cadastrou_he ) { $this->mensagem = "Cadastro/Edição do Histórico Escolar nã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ção não realizada (Matrí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; } }
function Gerar() { $this->url_cancelar = "educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}"; $this->nome_url_cancelar = "Cancelar"; // a disciplina vem com a serie junto... vamos separar if (strpos($this->ref_cod_disciplina, "_")) { $arr = explode("_", $this->ref_cod_disciplina); $this->ref_cod_disciplina = $arr[1]; $this->ref_cod_serie_disciplina = $arr[0]; } else { $this->ref_cod_disciplina = $this->ref_cod_disciplina; $this->ref_cod_serie_disciplina = null; } $objTurma = new clsPmieducarTurma($this->ref_cod_turma, null, null, $this->ref_ref_cod_serie); $detalhe_turma = $objTurma->detalhe(); if ($detalhe_turma) { // a turma existe, vamos pegar os dados dela $this->ref_ref_cod_serie = $detalhe_turma["ref_ref_cod_serie"]; $objSerie = new clsPmieducarSerie($this->ref_ref_cod_serie); $detalhe_serie = $objSerie->detalhe(); $this->media_especial = dbBool($detalhe_serie['media_especial']); $this->ref_ref_cod_serie_mult = $detalhe_turma["ref_ref_cod_serie_mult"]; if ($this->ref_ref_cod_serie_mult) { $objSerieMult = new clsPmieducarSerie($this->ref_ref_cod_serie_mult); $detalhe_serie_mult = $objSerieMult->detalhe(); } $this->ref_ref_cod_escola = $detalhe_turma["ref_ref_cod_escola"]; $this->ref_cod_curso = $detalhe_serie["ref_cod_curso"]; $objCurso = new clsPmieducarCurso($this->ref_cod_curso); $detalhe_curso = $objCurso->detalhe(); $objEscolaAnoLetivo = new clsPmieducarEscolaAnoLetivo(); $lstEscolaAnoLetivo = $objEscolaAnoLetivo->lista($this->ref_ref_cod_escola, null, null, null, 1, null, null, null, null, 1); if (is_array($lstEscolaAnoLetivo)) { foreach ($lstEscolaAnoLetivo as $value) { $this->ano_letivo = $value["ano"]; } } $objTipoAvaliacao = new clsPmieducarTipoAvaliacao($detalhe_curso["ref_cod_tipo_avaliacao"]); $detalhe_tipo_avaliacao = $objTipoAvaliacao->detalhe(); $this->conceitual = $detalhe_tipo_avaliacao["conceitual"]; $this->ref_cod_tipo_avaliacao = $detalhe_curso["ref_cod_tipo_avaliacao"]; $this->falta_ch_globalizada = $detalhe_curso["falta_ch_globalizada"]; $this->num_modulo = $objTurma->moduloMinimo(); // se o modulo atual for maior que o maximo o ano acabou $this->max_modulos = $objTurma->maxModulos(); if ($this->num_modulo == $this->max_modulos + 1) { // ve se vai para a pagina de aprovacao/reprovacao ou se mostra as notas do exame if (!is_null($detalhe_curso["media_exame"])) { // essa turma pode ter exame $detalhe_modulo = array(); $detalhe_modulo["nm_tipo"] = "Exame"; // ve se tem algum aluno em exame $a = $objTurma->moduloExameAlunos(); if ($objTurma->moduloExameAlunos()) { // existe algum aluno de exame $this->exame = 1; // vamos ver se tem alguma excessao que precisa de nota de exame $objExcessoes = new clsPmieducarMatriculaExcessao(); $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true, true, IS_NULL); if (is_array($lista_excessoes)) { // existe alguma excessao, mostra a tela de excessoes $this->passo = 2; } else { // nao tem excessao, entao vamos dar as notas do exame // $this->passo = 1; } } else { // poderia ter exame, mas nenhum aluno pegou exame, vamos pra aprova��o if ($this->conceitual) { // conceitual aprova manualmente $this->passo = 3; } else { $objExcessoes = new clsPmieducarMatriculaExcessao(); $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true, false); if (is_array($lista_excessoes)) { // existe alguma excessao para aprovacao, vamos para tela de excessoes $this->passo = 2; } else { // ninguem de exame, a turma nao eh conceitual e nenhuma excessao... todos ja deveriam estar aprovados/reprovados // $this->campoRotulo("alerta","Alerta","Erro: [1] Todos os alunos dessa turma j� foram aprovados/reprovados."); // vamos corrigir o problema aprovando o pessoal que esta na espera (ja que eles nao pegaram exame nem reprovaram por falta) $db2 = new clsBanco(); $db2->Consulta("SELECT cod_matricula FROM pmieducar.v_matricula_matricula_turma WHERE ref_cod_turma = '{$this->ref_cod_turma}' AND aprovado = 3 AND ativo = 1"); while ($db2->ProximoRegistro()) { list($mat) = $db2->Tupla(); $objAprova = new clsPmieducarMatricula($mat, null, null, null, $this->pessoa_logada, null, null, 1); $objAprova->edita(); } header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}"); die; } } } } else { // nao tem exame, fase de aprovacao dos alunos if ($this->conceitual) { // conceitual aprova manualmente $this->passo = 3; } else { // nao conceitual $objExcessoes = new clsPmieducarMatriculaExcessao(); $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true); if (is_array($lista_excessoes)) { // tem excessao, mostra tela de excessoes para aprovacao $this->passo = 2; } else { // ninguem de exame, a turma nao eh conceitual e nenhuma excessao... todos ja deveriam estar aprovados/reprovados // vamos corrigir o problema e aprovar todo mudno que nao pegou exame $db2 = new clsBanco(); $db2->Consulta("SELECT cod_matricula FROM pmieducar.v_matricula_matricula_turma WHERE ref_cod_turma = '{$this->ref_cod_turma}' AND aprovado = 3 AND ativo = 1"); while ($db2->ProximoRegistro()) { list($mat) = $db2->Tupla(); $objAprova = new clsPmieducarMatricula($mat, null, null, null, $this->pessoa_logada, null, null, 1); $objAprova->edita(); } //$this->campoRotulo("alerta","Alerta","Erro: [2] Todos os alunos dessa turma j� foram aprovados/reprovados."); header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}"); die; } } } } else { if ($this->num_modulo > $this->max_modulos) { // jah passou o exame, fase de aprovacao dos alunos $objExcessoes = new clsPmieducarMatriculaExcessao(); $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true); if (is_array($lista_excessoes)) { // ta na fase de aprovacao mas ainda tem alguma excessao $this->passo = 2; } else { // fase de aprovacao e sem excessoes if ($this->conceitual) { $this->passo = 3; } else { // ja acabou o exame, a turma nao eh conceitual e nenhuma excessao... todos ja deveriam estar aprovados/reprovados // $this->campoRotulo("alerta","Alerta","Erro: [3] Todos os alunos dessa turma j� foram aprovados/reprovados."); $db2 = new clsBanco(); $db2->Consulta("SELECT cod_matricula FROM pmieducar.v_matricula_matricula_turma WHERE ref_cod_turma = '{$this->ref_cod_turma}' AND aprovado = 3 AND ativo = 1"); while ($db2->ProximoRegistro()) { list($mat) = $db2->Tupla(); $objAprova = new clsPmieducarMatricula($mat, null, null, null, $this->pessoa_logada, null, null, 1); $objAprova->edita(); } header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}"); die; } } } else { if ($this->ref_cod_disciplina && $this->passo == 1) { if ($this->ultima_disciplina == 1 && $this->conceitual && $this->num_modulo == $this->max_modulos) { $this->pula_passo = true; } } $this->exame = 0; $cod_modulo = 0; $objAnoLetivoModulo = new clsPmieducarAnoLetivoModulo(); $lstAnoLetivoModulo = $objAnoLetivoModulo->lista($this->ano_letivo, $this->ref_ref_cod_escola, $this->num_modulo); if (is_array($lstAnoLetivoModulo)) { foreach ($lstAnoLetivoModulo as $value) { $cod_modulo = $value["ref_cod_modulo"]; $this->ref_cod_modulo = $cod_modulo; } } if (!$objTurma->moduloMinimoDisciplina()) { /** * nao existem disciplinas sem nota redireciona para listagem de nota turma */ if (!$_POST) { echo "<script>alert('Todas as disciplinas já se encontram com nota!');window.location='educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}';</script>"; } else { header("location:educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}"); } die; } $objModulo = new clsPmieducarModulo($cod_modulo); $detalhe_modulo = $objModulo->detalhe(); } } $this->campoRotulo("nm_turma", "Turma", $detalhe_turma["nm_turma"]); $this->campoRotulo("nm_serie", "Série", $detalhe_turma["multiseriada"] ? "{$detalhe_serie["nm_serie"]} e {$detalhe_serie_mult["nm_serie"]}" : $detalhe_serie["nm_serie"]); $this->campoRotulo("nm_modulo", "Módulo", $detalhe_modulo["nm_tipo"]); $this->campoRotulo("num_modulo2", "Número do Módulo", $this->num_modulo . "\n\t\t\t<style>\n\t\t\t\t.cell_normal\n\t\t\t\t{\n\t\t\t\t\tborder:1px;\n\t\t\t\t\tborder-color:#000000;\n\t\t\t\t\tborder-style:solid;\n\t\t\t\t}\n\t\t\t\t.cell_separa\n\t\t\t\t{\n\t\t\t\t\tborder:1px;\n\t\t\t\t\tborder-color:#000000;\n\t\t\t\t\tborder-style:solid;\n\t\t\t\t\tborder-left-width:2px;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t"); if ($this->passo == 0) { // mostra as disciplinas para escolher $opcoes_disciplinas = array("" => "Selecione"); if (!$this->exame) { // modulo normal, acha todas as disciplinas que ainda precisam de nota no menor modulo $disciplinas = $objTurma->moduloMinimoDisciplina(); // print_r($disciplinas); $num_disciplinas = 0; foreach ($disciplinas as $value) { $objDisciplina = new clsPmieducarDisciplina($value["cod_disciplina"]); $det_dis = $objDisciplina->detalhe(); $nm_serie = $value["cod_serie"] == $this->ref_ref_cod_serie ? $detalhe_serie["nm_serie"] : $detalhe_serie_mult["nm_serie"]; $opcoes_disciplinas["{$value["cod_serie"]}_{$value["cod_disciplina"]}"] = $detalhe_turma["multiseriada"] ? "{$nm_serie} - {$det_dis["nm_disciplina"]}" : "{$det_dis["nm_disciplina"]}"; $num_disciplinas++; } if ($num_disciplinas == 1) { $this->campoOculto("ultima_disciplina", 1); } } else { // exame, acha as disciplinas em que os alunos nao atingiram a media $disciplinas = $objTurma->moduloExameDisciplina(true); foreach ($disciplinas as $value) { $objDisciplina = new clsPmieducarDisciplina($value["cod_disciplina"]); $det_dis = $objDisciplina->detalhe(); $nm_serie = $value["cod_serie"] == $this->ref_ref_cod_serie ? $detalhe_serie["nm_serie"] : $detalhe_serie_mult["nm_serie"]; $opcoes_disciplinas["{$value["cod_serie"]}_{$value["cod_disciplina"]}"] = $detalhe_turma["multiseriada"] ? "{$nm_serie} - {$det_dis["nm_disciplina"]}" : "{$det_dis["nm_disciplina"]}"; } } $this->campoLista("ref_cod_disciplina", "Disciplina", $opcoes_disciplinas, $this->ref_cod_disciplina); } else { if ($this->passo == 1) { // mostra os alunos que ainda precisam de nota nessa disciplina (nesse modulo) $objDisciplina = new clsPmieducarDisciplina($this->ref_cod_disciplina); $detalhe_disciplina = $objDisciplina->detalhe(); // print_r($detalhe_disciplina); $this->campoRotulo("disciplina", "Disciplina", "<strong>{$detalhe_disciplina["nm_disciplina"]}</strong>"); $this->campoOculto("ref_cod_disciplina", $this->ref_cod_disciplina); $this->campoOculto("ref_cod_serie_disciplina", $this->ref_cod_serie_disciplina); $this->campoQuebra2(); // seleciona as notas que estilo disponiveis para essa disciplina $objTipoAvaliacaoValor = new clsPmieducarTipoAvaliacaoValores(); $opcoes_notas = array("" => "Selecione"); $objTipoAvaliacaoValor->setOrderby("sequencial ASC"); $lista_notas_valores = $objTipoAvaliacaoValor->lista($detalhe_curso["ref_cod_tipo_avaliacao"]); if (is_array($lista_notas_valores)) { foreach ($lista_notas_valores as $value) { $opcoes_notas[$value["sequencial"]] = $value["nome"]; } } // pega as matriculas que vao receber nota if (!$this->exame) { $matriculas = $objTurma->matriculados_modulo_disciplina_sem_nota($this->ref_cod_disciplina, $this->ref_cod_serie_disciplina, $this->num_modulo); $sql = "SELECT \n\t\t\t\t\t\t\t\tcod_Matricula \n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\tpmieducar.matricula m\n\t\t\t\t\t\t\tWHERE \n\t\t\t\t\t\t\t\tcod_matricula in (" . implode(",", $matriculas) . ")\n\t\t\t\t\t\t\t\tAND ref_ref_cod_serie={$this->ref_cod_serie_disciplina}"; $banco = new clsBanco(); $banco->Consulta($sql); if ($banco->Num_Linhas()) { $matriculas = array(); while ($banco->ProximoRegistro()) { list($cod_matricula) = $banco->Tupla(); $matriculas[$cod_matricula] = $cod_matricula; } } } else { $matriculas = $objTurma->moduloExameAlunos($this->ref_cod_disciplina); /** * gera campo para dizer que as notas sao de exame */ $this->campoOculto("is_nota_exame", true); } if ($matriculas) { $objMat = new clsPmieducarMatricula(); $objMat->setOrderby("nome ASC"); $lista_matriculas = $objMat->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $matriculas); $matriculas_exame_disponivel = false; if (is_array($lista_matriculas)) { foreach ($lista_matriculas as $matricula) { if (!$this->exame) { $this->campoRotulo("matricula[{$matricula["cod_matricula"]}]", "Aluno", "<div style=\"float:left;width:250px;padding-top:2px;\">{$matricula["nome"]}</div>", true); $this->campoLista("nota[{$matricula["cod_matricula"]}]", "Nota", $opcoes_notas, "", "", true, "", "", false, true); } else { $obj_nota_aluno = new clsPmieducarNotaAluno(); $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, null, null, $this->ref_cod_disciplina, $matricula["cod_matricula"], null, null, null, null, null, null, 1, $this->num_modulo); if (!is_array($lst_nota_aluno)) { $matriculas_exame_disponivel = true; $this->campoRotulo("matricula[{$matricula["cod_matricula"]}]", "Aluno", "<div style=\"float:left;width:250px;padding-top:2px;\">{$matricula["nome"]}</div>", true); $this->campoMonetario("nota[{$matricula["cod_matricula"]}]", "Nota", "", 5, 5, true, "", "", "onChange", false, true, "", true); } // $this->campoMonetario("nota[{$matricula["cod_matricula"]}]","Nota","",5,5,true,"","","onChange",false,true,"",true); } if (!$this->exame) { $duplo = false; if ($this->pula_passo) { $duplo = true; } // nao estamos no exame, vamos ver se precisa apurar as faltas if ($detalhe_disciplina["apura_falta"]) { // materia apura falta, vamos ver se eh pra mostrar pra esse aluno if (!$detalhe_curso["falta_ch_globalizada"]) { // se nesse curso a falta nao eh globalizada, exibe um campo de falta para todos os alunos $this->campoTexto("falta[{$matricula["cod_matricula"]}]", " Faltas", "0", 7, 5, true, false, $duplo); } else { // a falta eh globalizada, vamos ver se essa eh a ultima materia (que apura falta) que falta pro aluno // receber nota. Se for a ultima mostra o campo, se nao for deixa sem $objNotaAluno = new clsPmieducarNotaAluno(); $restantes = $objNotaAluno->getQtdRestanteNotasAlunoNaoApuraFaltas($matricula["cod_matricula"], $this->ref_cod_serie_disciplina, $this->ref_cod_turma, $this->num_modulo, $this->ref_ref_cod_escola); if ($restantes == 1) { $this->campoTexto("falta[{$matricula["cod_matricula"]}]", " Faltas", "0", 7, 5, true, false, $duplo, "", "Falta global!"); $this->campoOculto("ultima_nota[{$matricula["cod_matricula"]}]", "1"); } else { $this->campoRotulo("espaco[{$matricula["cod_matricula"]}]", " Faltas", "Falta Globalizada é aplicada na ultima nota do aluno"); } } } else { // a falta eh globalizada, vamos ver se essa eh a ultima materia (que apura falta) que falta pro aluno // receber nota. Se for a ultima mostra o campo, se nao for deixa sem if ($detalhe_curso["falta_ch_globalizada"]) { $objNotaAluno = new clsPmieducarNotaAluno(); $restantes = $objNotaAluno->getQtdRestanteNotasAlunoNaoApuraFaltas($matricula["cod_matricula"], $this->ref_cod_serie_disciplina, $this->ref_cod_turma, $this->num_modulo, $this->ref_ref_cod_escola); if ($restantes == 1) { // eh a ultima disciplina $this->campoTexto("falta[{$matricula["cod_matricula"]}]", " Faltas", "0", 7, 5, true, false, $duplo, "", "Falta global!"); $this->campoOculto("ultima_nota[{$matricula["cod_matricula"]}]", "1"); } else { $this->campoRotulo("espaco[{$matricula["cod_matricula"]}]", " Faltas", "Matéria não apura falta"); } } else { $this->campoRotulo("espaco[{$matricula["cod_matricula"]}]", " Faltas", "Matéria não apura falta"); } } if ($this->pula_passo) { // $opcoes_conceito = array("" => "Selecione", 1 => "Aprovado", 2 => "Reprovado"); // $this->campoLista("conceito[{$matricula["cod_matricula"]}]", " Situação", $opcoes_conceito, ""); $this->campoLista("resultado_final[{$matricula["cod_matricula"]}]", " Resultado final", array("" => "Selecione", "1" => "Aprovado", "2" => "Reprovado"), "", "", false, "", "", false, true); } } else { if (!is_array($lst_nota_aluno)) { // esta no exame, entao nao apura faltas $this->campoRotulo("espaco[{$matricula["cod_matricula"]}]", " Faltas", "Exame não apura falta"); } // esta no exame, entao nao apura faltas // $this->campoRotulo("espaco[{$matricula["cod_matricula"]}]", " Faltas","Exame não apura falta"); } } if (!$matriculas_exame_disponivel && $this->exame) { echo "<script>\n\t\t\t\t\t\t\t\t\t\talert('Todos os alunos estão com notas do exame nessa disciplina');\n\t\t\t\t\t\t\t\t\t\twindow.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}';\n\t\t\t\t\t\t\t\t </script>"; } } } else { $this->mensagem = "Neste módulo não existe nenhum aluno aguardando uma nota nesta disciplina"; $this->url_cancelar = "educar_turma_nota_cad2.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}"; $this->nome_url_cancelar = "Voltar"; $this->botao_enviar = false; } } else { if ($this->passo == 2) { // tela onde o professor confirma excessoes $objTipoAvaliacaoValor = new clsPmieducarTipoAvaliacaoValores(); $this->campoQuebra2(); $this->campoRotulo("media_normal", "Média", $objTipoAvaliacaoValor->nomeNota($detalhe_curso["media"], $detalhe_curso["ref_cod_tipo_avaliacao"])); $this->campoRotulo("media_exame", "Média Exame", $objTipoAvaliacaoValor->nomeNota($detalhe_curso["media_exame"], $detalhe_curso["ref_cod_tipo_avaliacao"])); if ($detalhe_curso["falta_ch_globalizada"]) { $tipo_falta = "Globalizada"; } else { $tipo_falta = "por Disciplina"; } $this->campoRotulo("tipo_falta", "Tipo de Falta", $tipo_falta); $this->campoRotulo("carga_horaria", "Carga Horária", $detalhe_curso["carga_horaria"]); $this->campoRotulo("hora_falta", "Horas por Falta", $detalhe_curso["hora_falta"]); $this->campoRotulo("frequencia_minima1", "Frequencia Máima (%)", $detalhe_curso["frequencia_minima"] . "%"); $this->campoRotulo("frequencia_minima2", "Frequencia Mínima (Horas)", ceil($detalhe_curso["frequencia_minima"] / 100 * $detalhe_curso["carga_horaria"])); if ($detalhe_curso["hora_falta"]) { $maximo_faltas = floor($detalhe_curso["carga_horaria"] / $detalhe_curso["hora_falta"] - $detalhe_curso["frequencia_minima"] / 100 * $detalhe_curso["carga_horaria"] / $detalhe_curso["hora_falta"]); } else { $maximo_faltas = "Ilimitado"; } $this->campoRotulo("frequencia_minima3", "Máximo de faltas (quantidade)", $maximo_faltas); // descobre o ano letivo em andamento $objEscolaAnoLetivo = new clsPmieducarEscolaAnoLetivo(); $objEscolaAnoLetivo->setOrderby("data_cadastro DESC"); $objEscolaAnoLetivo->setLimite(1); $lista_anoletivo = $objEscolaAnoLetivo->lista($this->ref_ref_cod_escola, null, null, null, 1); if (is_array($lista_anoletivo)) { foreach ($lista_anoletivo as $value) { $ano = $value["ano"]; } } $boletim = false; $descricao = ""; $objExcessoes = new clsPmieducarMatriculaExcessao(); $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true, true, IS_NULL); if (is_array($lista_excessoes)) { $this->campoQuebra2(); $this->campoRotulo("descricao", "Aviso", "Existem alunos que reprovaram por falta e pegaram exame.<br>Você deve decidir se permitirá que eles façam exame ou reprovem."); $opcoes_excessao = array("" => "Selecione", "0" => "Reprovar", "1" => "Permitir Exame"); // ainda tem alguma excessao que precisa de exame foreach ($lista_excessoes as $excessao) { $this->campoQuebra2(); $this->campoQuebra2("#E4E9ED", 20); $objMatricula = new clsPmieducarMatricula($excessao["ref_cod_matricula"]); $detalhe_matricula = $objMatricula->detalhe(); $this->campoRotulo("nome[{$excessao["ref_cod_matricula"]}]", "Aluno", "{$detalhe_matricula["nome"]}"); // boletim $boletim = $this->getBoletimAluno($excessao["ref_cod_matricula"], $ano); $this->campoRotulo("boletim[{$excessao["cod_aluno_excessao"]}]", "Boletim", $boletim["boletim"]); $this->campoLista("excessao[{$excessao["cod_aluno_excessao"]}]", "Resultado final", $opcoes_excessao, false, "", false, "", "", false, false); $this->campoRotulo("sugestao[{$excessao["cod_aluno_excessao"]}]", "Automático", $boletim["automatico"]); $this->campoQuebra2("#FFFFFF", 20); } } else { $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true, false); if (is_array($lista_excessoes)) { $this->campoQuebra2(); $this->campoRotulo("descricao", "Aviso", "Existem alunos que reprovaram por falta mas foram aprovados em notas.<br>Você deve decidir se eles ser�o aprovados ou reprovados."); $opcoes_excessao = array("" => "Selecione", "0" => "Reprovar", "2" => "Aprovar"); // so existem excessoes para aprovacao direta foreach ($lista_excessoes as $excessao) { $this->campoQuebra2(); $this->campoQuebra2("#E4E9ED", 20); $objMatricula = new clsPmieducarMatricula($excessao["ref_cod_matricula"]); $detalhe_matricula = $objMatricula->detalhe(); $this->campoRotulo("nome[{$excessao["ref_cod_matricula"]}]", "Aluno", "{$detalhe_matricula["nome"]}"); // boletim $boletim = $this->getBoletimAluno($excessao["ref_cod_matricula"], $ano); $this->campoRotulo("boletim[{$excessao["cod_aluno_excessao"]}]", "Boletim", $boletim["boletim"]); $this->campoLista("excessao[{$excessao["cod_aluno_excessao"]}]", "Resultado final", $opcoes_excessao, false, "", false, "", "", false, false); $this->campoRotulo("sugestao[{$excessao["cod_aluno_excessao"]}]", "Automático", $boletim["automatico"]); $this->campoQuebra2("#FFFFFF", 20); } } else { // por algum motivo ele mandou o cara pra tela de excessoes, mas nao existe nenhuma excessao $this->campoRotulo("alerta", "Alerta", "Erro: [4] Nenhum aluno reprovado por faltas pendente."); // header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}"); // die(); } } } else { if ($this->passo == 3) { // vamos exibir alguns dados extras sobre o curso (padroes de aprovacao / reprovacao) $this->campoQuebra2(); $objTipoAvaliacaoValor = new clsPmieducarTipoAvaliacaoValores(); $this->campoRotulo("media_normal", "Média", $objTipoAvaliacaoValor->nomeNota($detalhe_curso["media"], $detalhe_curso["ref_cod_tipo_avaliacao"])); $this->campoRotulo("media_exame", "Média Exame", $objTipoAvaliacaoValor->nomeNota($detalhe_curso["media_exame"], $detalhe_curso["ref_cod_tipo_avaliacao"])); if ($detalhe_curso["falta_ch_globalizada"]) { $tipo_falta = "Globalizada"; } else { $tipo_falta = "por Disciplina"; } $this->campoRotulo("tipo_falta", "Tipo de Falta", $tipo_falta); $this->campoRotulo("carga_horaria", "Carga Horária", $detalhe_curso["carga_horaria"]); $this->campoRotulo("hora_falta", "Horas por Falta", $detalhe_curso["hora_falta"]); $this->campoRotulo("frequencia_minima1", "Frequencia Mínima (%)", $detalhe_curso["frequencia_minima"] . "%"); $this->campoRotulo("frequencia_minima2", "Frequencia Mínima (Horas)", ceil($detalhe_curso["frequencia_minima"] / 100 * $detalhe_curso["carga_horaria"])); if ($detalhe_curso["hora_falta"]) { $maximo_faltas = floor($detalhe_curso["carga_horaria"] / $detalhe_curso["hora_falta"] - $detalhe_curso["frequencia_minima"] / 100 * $detalhe_curso["carga_horaria"] / $detalhe_curso["hora_falta"]); } else { $maximo_faltas = "Ilimitado"; } $this->campoRotulo("frequencia_minima3", "Máximo de faltas (quantidade)", $maximo_faltas); // mostra a lista de todos alunos e a opcao de aprovar/reprovar (exceto os ja aprovados/reprovados) $matriculas = $objTurma->matriculados(); if ($matriculas) { // descobre o ano letivo em andamento $objEscolaAnoLetivo = new clsPmieducarEscolaAnoLetivo(); $objEscolaAnoLetivo->setOrderby("data_cadastro DESC"); $objEscolaAnoLetivo->setLimite(1); $lista_anoletivo = $objEscolaAnoLetivo->lista($this->ref_ref_cod_escola, null, null, null, 1); if (is_array($lista_anoletivo)) { foreach ($lista_anoletivo as $value) { $ano = $value["ano"]; } } $objMat = new clsPmieducarMatricula(); $objMat->setOrderby("nome ASC"); $lista_matriculas = $objMat->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $matriculas); if (is_array($lista_matriculas)) { foreach ($lista_matriculas as $matricula) { $this->campoQuebra2(); $this->campoQuebra2("#E4E9ED", 20); $this->campoRotulo("nome[{$matricula["cod_matricula"]}]", "Aluno", "{$matricula["nome"]}"); // boletim $boletim = $this->getBoletimAluno($matricula["cod_matricula"], $ano); $this->campoRotulo("boletim[{$matricula["cod_matricula"]}]", "Boletim", $boletim["boletim"]); $this->campoRotulo("sugestao[{$matricula["cod_matricula"]}]", "Automático", $boletim["automatico"]); // if ($this->pula_passo) // $this->campoLista("resultado_final[{$matricula["cod_matricula"]}]","Resultado final",array(""=>"Selecione","1"=>"Aprovado","2"=>"Reprovado"),"","",false,"","",false,true); // else $this->campoLista("resultado_final[{$matricula["cod_matricula"]}]", "Resultado final", array("" => "Selecione", "1" => "Aprovado", "2" => "Reprovado"), "", "", false, "", "", false, false); $this->campoQuebra2("#FFFFFF", 20); } } } else { $this->mensagem = "Erro ao procurar alunos sem nota nessa disciplina"; } } } } } // guardando dados para os outros passos if ($this->pula_passo) { $this->campoOculto("passo", 3); $this->campoOculto("pula_passo", 1); $this->campoOculto("ref_cod_tipo_avaliacao", $this->ref_cod_tipo_avaliacao); // $this->pula_passo = false; } else { $this->campoOculto("passo", $this->passo + 1); } $this->campoOculto("ref_cod_turma", $this->ref_cod_turma); $this->campoOculto("ref_ref_cod_escola", $this->ref_ref_cod_escola); $this->campoOculto("ref_ref_cod_serie", $this->ref_ref_cod_serie); $this->campoOculto("ref_cod_curso", $this->ref_cod_curso); $this->campoOculto("falta_ch_globalizada", $this->falta_ch_globalizada); $this->campoOculto("num_modulo", $this->num_modulo); $this->campoOculto("max_modulos", $this->max_modulos); $this->campoOculto("exame", $this->exame); } else { $this->campoRotulo("erro", "Erro", "Turma inexistente"); return false; } return true; }