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->campoOculto('ref_cod_instituicao', $this->ref_cod_instituicao); $opcoes = $opcoes_curso = array('' => 'Selecione'); $obj_cursos = new clsPmieducarCurso(); $obj_cursos->setOrderby('nm_curso'); $lst_cursos = $obj_cursos->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, $this->ref_cod_instituicao); if ($lst_cursos) { foreach ($lst_cursos as $curso) { $opcoes_curso[$curso['cod_curso']] = $curso['nm_curso']; } } $obj_disciplina = new clsPmieducarDisciplina(); $obj_disciplina->setOrderby('nm_disciplina'); $lst_opcoes = array(); $arr_valores = array(); if ($this->cursos_disciplina) { foreach ($this->cursos_disciplina as $curso => $disciplinas) { if ($disciplinas) { foreach ($disciplinas as $disciplina) { $arr_valores[] = array($curso, $disciplina); } } } } if ($this->ref_cod_curso) { foreach ($this->ref_cod_curso as $curso) { $lst_disciplinas = $obj_disciplina->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, $curso, $this->ref_cod_instituicao); $componenteAnoDataMapper = new ComponenteCurricular_Model_AnoEscolarDataMapper(); $componentes = $componenteAnoDataMapper->findComponentePorCurso($curso); $opcoes_disc = array(); foreach ($componentes as $componente) { $opcoes_disc[$componente->id] = $componente->nome; } $lst_opcoes[] = array($opcoes_curso, $opcoes_disc); } } $this->campoTabelaInicio('funcao', 'Componentes Curriculares', array('Curso', 'Componente Curricular'), $arr_valores, '', $lst_opcoes); // Cursos $this->campoLista('ref_cod_curso', 'Curso', $opcoes_curso, $this->ref_cod_curso, 'trocaCurso(this)', '', '', ''); // Disciplinas $this->campoLista('ref_cod_disciplina', 'Componente Curricular', $opcoes, $this->ref_cod_disciplina, '', '', '', ''); $this->campoTabelaFim(); }
function Gerar() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; session_write_close(); $this->titulo = "Faltas/Notas Aluno - Detalhe"; $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet"); $this->ref_cod_matricula = $_GET["ref_cod_matricula"]; $this->ref_cod_turma = $_GET["ref_cod_turma"]; $this->ref_sequencial_matricula_turma = $_GET["sequencial"]; $obj_matricula_turma = new clsPmieducarMatriculaTurma(); // echo $this->ref_cod_matricula." ".$this->ref_cod_turma; $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula, $this->ref_cod_turma, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, $this->ref_sequencial_matricula_turma); if (is_array($lst_matricula_turma)) { $registro = array_shift($lst_matricula_turma); } if (!$registro) { header("location: educar_falta_nota_aluno_lst.php"); die; } if (class_exists("clsPmieducarTurma")) { $obj_ref_ref_cod_turma = new clsPmieducarTurma($registro["ref_cod_turma"]); $det_ref_ref_cod_turma = $obj_ref_ref_cod_turma->detalhe(); $nm_turma = $det_ref_ref_cod_turma["nm_turma"]; } else { $registro["ref_cod_turma"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarTurma\n-->"; } if (class_exists("clsPmieducarSerie")) { $obj_ref_cod_serie = new clsPmieducarSerie($registro["ref_ref_cod_serie"]); $det_ref_cod_serie = $obj_ref_cod_serie->detalhe(); $nm_serie = $det_ref_cod_serie["nm_serie"]; } else { $registro["ref_cod_serie"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarSerie\n-->"; } if (class_exists("clsPmieducarCurso")) { $obj_ref_cod_curso = new clsPmieducarCurso($registro["ref_cod_curso"]); $det_ref_cod_curso = $obj_ref_cod_curso->detalhe(); $nm_curso = $det_ref_cod_curso["nm_curso"]; $padrao_ano_escolar = $det_ref_cod_curso["padrao_ano_escolar"]; $falta_ch_globalizada = $det_ref_cod_curso["falta_ch_globalizada"]; if ($padrao_ano_escolar) { $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo(); $lst_ano_letivo = $obj_ano_letivo->lista($registro["ref_ref_cod_escola"], null, null, null, 1, null, null, null, null, 1); if (is_array($lst_ano_letivo)) { $det_ano_letivo = array_shift($lst_ano_letivo); $ano_letivo = $det_ano_letivo["ano"]; $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista($ano_letivo, $registro["ref_ref_cod_escola"]); if (is_array($lst_ano_letivo_modulo)) { $qtd_modulos = count($lst_ano_letivo_modulo); } } } else { $obj_turma_modulo = new clsPmieducarTurmaModulo(); $lst_turma_modulo = $obj_turma_modulo->lista($registro["ref_cod_turma"]); if (is_array($lst_turma_modulo)) { $qtd_modulos = count($lst_turma_modulo); } } } else { $registro["ref_cod_curso"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarCurso\n-->"; } 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ção"; echo "<!--\nErro\nClasse não existente: clsPmieducarInstituicao\n-->"; } if (class_exists("clsPmieducarEscola")) { $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_ref_cod_escola"]); $det_ref_cod_escola = $obj_ref_cod_escola->detalhe(); $nm_escola = $det_ref_cod_escola["nome"]; } else { $registro["ref_ref_cod_escola"] = "Erro na geração"; echo "<!--\nErro\nClasse não existente: clsPmieducarEscola\n-->"; } if (class_exists("clsPmieducarAluno")) { $obj_aluno = new clsPmieducarAluno(); $lst_aluno = $obj_aluno->lista($registro["ref_cod_aluno"], null, null, null, null, null, null, null, null, null, 1); if (is_array($lst_aluno)) { $det_aluno = array_shift($lst_aluno); $registro["ref_cod_aluno"] = $det_aluno["nome_aluno"]; } } else { $registro["ref_cod_aluno"] = "Erro na geração"; echo "<!--\nErro\nClasse não existente: clsPmieducarAluno\n-->"; } if ($registro["ref_cod_aluno"]) { $this->addDetalhe(array("Aluno", "{$registro["ref_cod_aluno"]}")); } if ($registro["ref_cod_matricula"]) { $this->addDetalhe(array("Matrícula", "{$registro["ref_cod_matricula"]}")); } $obj_permissoes = new clsPermissoes(); $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada); if ($nivel_usuario == 1) { if ($registro["ref_cod_instituicao"]) { $this->addDetalhe(array("Instituição", "{$registro["ref_cod_instituicao"]}")); } } if ($nivel_usuario == 1 || $nivel_usuario == 2) { if ($nm_escola) { $this->addDetalhe(array("Escola", "{$nm_escola}")); } } if ($nm_curso) { $this->addDetalhe(array("Curso", "{$nm_curso}")); } if ($nm_serie) { $this->addDetalhe(array("Série", "{$nm_serie}")); } if ($nm_turma) { $this->addDetalhe(array("Turma", "{$nm_turma}")); } if ($qtd_modulos) { $this->addDetalhe(array("Quantidade de Módulos", "{$qtd_modulos}")); } $obj_matricula = new clsPmieducarMatricula($registro["ref_cod_matricula"]); $det_matricula = $obj_matricula->detalhe(); $modulo = $det_matricula["modulo"]; $aprovado = $det_matricula["aprovado"]; $ano_matricula = $det_matricula["ano"]; $max_qtd_nota = 0; $min_qtd_nota = 10; //************************************* DETALHE - MATRICULADO NUMA SERIE *************************************// if ($registro["ref_ref_cod_serie"]) { $obj_dispensa = new clsPmieducarDispensaDisciplina(); $lst_dispensa = $obj_dispensa->lista($registro["ref_cod_matricula"], $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], null, null, null, null, null, null, null, null, 1); if (is_array($lst_dispensa)) { foreach ($lst_dispensa as $key => $disciplina) { $dispensa[$disciplina["ref_cod_disciplina"]] = $disciplina["ref_cod_disciplina"]; } } $obj_esd = new clsPmieducarEscolaSerieDisciplina(); $obj_esd->setOrderby("nm_disciplina"); $lst_disciplinas = $obj_esd->lista($registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], null, 1, true); if ($lst_disciplinas) { foreach ($lst_disciplinas as $disciplinas) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $qtd_notas = $obj_nota_aluno->getQtdNotas(null, null, $disciplinas["ref_cod_disciplina"], $this->ref_cod_matricula); if ($max_qtd_nota < $qtd_notas) { $max_qtd_nota = $qtd_notas; } if ($min_qtd_nota > $qtd_notas) { $min_qtd_nota = $qtd_notas; } } } if (is_array($lst_disciplinas)) { $tabela = "<table>\n\t\t\t\t\t\t <tr align='center'>\n\t\t\t\t\t\t <td rowspan='2' bgcolor='#a1b3bd'><b>Nome</b></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Exame</b></td>"; } else { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Módulo {$i}</b></td>"; } } $tabela .= "</tr>"; $tabela .= "<tr align=center>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Nota</b></td>"; } else { $tabela .= "<td bgcolor='#a1b3bd'><b>Nota</b></td><td bgcolor='#a1b3bd'><b>Faltas</b></td>"; } } $tabela .= "</tr>"; $cont = 0; $qtd_disciplinas = count($lst_disciplinas); $prim_disciplina = false; foreach ($lst_disciplinas as $valor) { // echo "<pre>"; print_r($lst_disciplinas); die(); $parar = false; if (!strcmp($valor["nm_disciplina"], "Matemática")) { $parar = true; } if (!$dispensa[$valor["ref_cod_disciplina"]]) { if ($cont % 2 == 0) { $color = " bgcolor='#E4E9ED' "; } else { $color = " bgcolor='#FFFFFF' "; } unset($notas_aluno); $obj_nota_aluno = new clsPmieducarNotaAluno(); $obj_nota_aluno->setOrderby("modulo ASC"); $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], $valor["ref_cod_disciplina"], $registro["ref_cod_matricula"], null, null, null, null, null, null, 1); if (is_array($lst_nota_aluno)) { foreach ($lst_nota_aluno as $key => $nota_aluno) { if ($nota_aluno['nota']) { $notas_aluno[] = $nota_aluno["nota"]; } else { $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]); $det_avaliacao_valores = $obj_avaliacao_valores->detalhe(); $notas_aluno[] = $det_avaliacao_valores["nome"]; } } } unset($faltas_aluno); if ($falta_ch_globalizada) { $obj_faltas = new clsPmieducarFaltas(); $obj_faltas->setOrderby("sequencial asc"); $lst_faltas = $obj_faltas->lista($registro["ref_cod_matricula"]); if (is_array($lst_faltas)) { foreach ($lst_faltas as $key => $faltas) { $faltas_aluno[] = $faltas['falta']; } } } else { $obj_falta_aluno = new clsPmieducarFaltaAluno(); $obj_falta_aluno->setOrderby("cod_falta_aluno ASC"); $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], $valor["ref_cod_disciplina"], $registro["ref_cod_matricula"], null, null, null, null, null, 1); if (is_array($lst_falta_aluno)) { foreach ($lst_falta_aluno as $key => $falta_aluno) { $faltas_aluno[] = $falta_aluno["faltas"]; } } } $obj_disciplina = new clsPmieducarDisciplina($valor["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); $nm_disciplina = $det_disciplina["nm_disciplina"]; $apura_falta = $det_disciplina["apura_falta"]; $tabela .= "<tr align='left'>\n\t\t\t\t\t\t\t\t\t <td {$color} align='left'>{$nm_disciplina}</td>"; for ($i = 0; $i < $max_qtd_nota; $i++) { if ($qtd_modulos - 1 < $i) { if ($notas_aluno[$i]) { $notas_aluno[$i] = number_format($notas_aluno[$i], 2, ",", "."); $tabela .= "<td align='center' colspan='2' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' colspan='2' {$color} align='left'>-</td>"; } } else { if ($notas_aluno[$i]) { $tabela .= "<td align='center' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } if ($falta_ch_globalizada && !$prim_disciplina) { $tabela .= "<td align='center' rowspan='{$qtd_disciplinas}' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { if (!$falta_ch_globalizada) { if (is_numeric($faltas_aluno[$i])) { $tabela .= "<td align='center' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } } } } } $prim_disciplina = true; $tabela .= "</tr>"; $cont++; } } if (!$ano_letivo || $ano_letivo == $ano_matricula) { if ($max_qtd_nota > 0) { $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t\t <td align='center'></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { //if ( ($max_qtd_nota != $min_qtd_nota) && ($min_qtd_nota < $i) && ($qtd_modulos >= $modulo) && false) if (!$det_ref_cod_curso['edicao_final']) { $tabela .= "<td colspan='2'></td>"; } else { $tabela .= "<td align='center' colspan='2' bgcolor='#a1b3bd' align='center'><a href='educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$i}'>Editar</a></td>"; } } $tabela .= "</tr>"; } } $tabela .= "</table>"; } } else { $obj_disciplinas = new clsPmieducarDisciplina(); $obj_disciplina->setOrderby("nm_disciplina"); $lst_disciplinas = $obj_disciplinas->lista(null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $registro["ref_cod_curso"]); foreach ($lst_disciplinas as $disciplinas) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $qtd_notas = $obj_nota_aluno->getQtdNotas(null, null, null, $this->ref_cod_matricula, $disciplinas["cod_disciplina"]); if ($max_qtd_nota < $qtd_notas) { $max_qtd_nota = $qtd_notas; } } if (is_array($lst_disciplinas)) { $tabela = "<table>\n\t\t\t\t\t\t <tr align='center'>\n\t\t\t\t\t\t <td rowspan='2' bgcolor='#a1b3bd'><b>Nome</b></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Exame</b></td>"; } else { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Módulo {$i}</b></td>"; } } $tabela .= "</tr>"; $tabela .= "<tr align=center>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Nota</b></td>"; } else { $tabela .= "<td bgcolor='#a1b3bd'><b>Nota</b></td><td bgcolor='#a1b3bd'><b>Faltas</b></td>"; } } $tabela .= "</tr>"; $cont = 0; $qtd_disciplinas = count($lst_disciplinas); $prim_disciplina = false; foreach ($lst_disciplinas as $valor) { if ($cont % 2 == 0) { $color = " bgcolor='#E4E9ED' "; } else { $color = " bgcolor='#FFFFFF' "; } unset($notas_aluno); $obj_nota_aluno = new clsPmieducarNotaAluno(); $obj_nota_aluno->setOrderby("modulo ASC"); $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, null, null, null, $registro["ref_cod_matricula"], null, null, null, null, null, null, 1, null, $valor["cod_disciplina"]); if (is_array($lst_nota_aluno)) { foreach ($lst_nota_aluno as $key => $nota_aluno) { if ($nota_aluno['nota']) { $notas_aluno[] = $nota_aluno["nota"]; } else { $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]); $det_avaliacao_valores = $obj_avaliacao_valores->detalhe(); $notas_aluno[] = $det_avaliacao_valores["nome"]; } } } unset($faltas_aluno); if ($falta_ch_globalizada) { $obj_faltas = new clsPmieducarFaltas(); $lst_faltas = $obj_faltas->lista($registro["ref_cod_matricula"]); if (is_array($lst_faltas)) { foreach ($lst_faltas as $key => $faltas) { $faltas_aluno[] = $faltas['falta']; } } } else { $obj_falta_aluno = new clsPmieducarFaltaAluno(); $obj_falta_aluno->setOrderby("cod_falta_aluno ASC"); $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, null, null, null, $registro["ref_cod_matricula"], null, null, null, null, null, 1, null, $valor["cod_disciplina"]); if (is_array($lst_falta_aluno)) { foreach ($lst_falta_aluno as $key => $falta_aluno) { $faltas_aluno[] = $falta_aluno["faltas"]; } } } $nm_disciplina = $valor["nm_disciplina"]; $apura_falta = $valor["apura_falta"]; $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t <td {$color} align='center'>{$nm_disciplina}</td>"; for ($i = 0; $i < $max_qtd_nota; $i++) { if ($qtd_modulos - 1 < $i) { if ($notas_aluno[$i]) { $notas_aluno[$i] = number_format($notas_aluno[$i], 2, ",", "."); $tabela .= "<td align='center' colspan='2' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' colspan='2' {$color} align='left'>-</td>"; } } else { if ($notas_aluno[$i]) { $tabela .= "<td align='center' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } if ($falta_ch_globalizada && !$prim_disciplina) { $tabela .= "<td align='center' rowspan='{$qtd_disciplinas}' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { if (!$falta_ch_globalizada) { if (is_numeric($faltas_aluno[$i])) { $tabela .= "<td align='center' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } } } } } $prim_disciplina = true; $tabela .= "</tr>"; $cont++; } if ($max_qtd_nota > 0) { $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t <td align='center'></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { //if ( ($max_qtd_nota != $min_qtd_nota) && ($min_qtd_nota < $i) && ($qtd_modulos <= $modulo) ) if (!$det_ref_cod_curso['edicao_final']) { $tabela .= "<td colspan='2'></td>"; } else { $tabela .= "<td align='center' colspan='2' bgcolor='#a1b3bd' align='center'><a href='educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$i}'>Editar</a></td>"; } } $tabela .= "</tr>"; } $tabela .= "</table>"; } } if ($tabela) { $this->addDetalhe(array("Disciplina", "{$tabela}")); } if ($aprovado) { if ($aprovado == 1) { $aprovado_ = "Aprovado"; } elseif ($aprovado == 2) { $aprovado_ = "Reprovado"; } elseif ($aprovado == 3) { if ($qtd_modulos < $modulo) { $aprovado_ = "Em Exame"; } else { $aprovado_ = "Em Andamento"; } } $this->addDetalhe(array("Situação", "{$aprovado_}")); } if ($obj_permissoes->permissao_cadastra(642, $this->pessoa_logada, 7)) { if ($qtd_modulos >= $modulo && $aprovado == 3) { $this->array_botao = array("Nova Nota/Falta"); $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}"); } elseif ($qtd_modulos < $modulo && $aprovado == 3) { $this->array_botao = array("Nota Exame"); if ($qtd_modulos < $max_qtd_nota) { $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$max_qtd_nota}"); } else { $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}"); } } } $this->url_cancelar = "educar_falta_nota_aluno_lst.php"; $this->largura = "100%"; }
function Gerar() { if ($_POST) { foreach ($_POST as $campo => $val) { $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val; } } // primary keys $this->campoOculto("cod_serie", $this->cod_serie); if ($_GET['precisa_lista']) { $obrigatorio = true; $get_curso = true; include "include/pmieducar/educar_campo_lista.php"; } // text $this->campoTexto("nm_serie", "Série", $this->nm_serie, 30, 255, true); $opcoes = array("" => "Selecione"); if ($this->ref_cod_curso) { $objTemp = new clsPmieducarCurso(); $lista = $objTemp->lista($this->ref_cod_curso, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1); if (is_array($lista) && count($lista)) { foreach ($lista as $registro) { $opcoes_["{$registro['cod_curso']}"] = "{$registro['qtd_etapas']}"; } } for ($i = 1; $i <= $opcoes_["{$registro['cod_curso']}"]; $i++) { $opcoes[$i] = "Etapa {$i}"; } } $this->campoLista("etapa_curso", "Etapa Curso", $opcoes, $this->etapa_curso); $opcoes = array("" => "Selecione", 1 => "não", 2 => "sim"); $this->campoLista("concluinte", "Concluinte", $opcoes, $this->concluinte); $this->campoMonetario("carga_horaria", "Carga Horária", $this->carga_horaria, 7, 7, true); $this->campoNumero("intervalo", "Intervalo", $this->intervalo, 2, 2, true); $this->media_especial = dbBool($this->media_especial) ? 'true' : ''; $this->campoCheck('media_especial', 'Média Especial', $this->media_especial); $this->campoNumero("idade_inicial", "Faixa etária", $this->idade_inicial, 2, 2, false, "", "", false, false, true); $this->campoNumero("idade_final", " até", $this->idade_final, 2, 2, false); //-----------------------INCLUI DISCIPLINA------------------------// $this->campoQuebra(); /* if ( $_POST["disciplina_serie"] ) $this->disciplina_serie = unserialize( urldecode( $_POST["disciplina_serie"] ) ); */ if (is_numeric($this->cod_serie)) { $obj = new clsPmieducarDisciplinaSerie(); $registros = $obj->lista(null, $this->cod_serie, 1); if ($registros) { foreach ($registros as $campo) { $this->disciplina_serie[$campo["ref_cod_disciplina"]] = $campo["ref_cod_disciplina"]; } } } $disciplinas = "Nenhum curso selecionado"; if ($this->ref_cod_curso) { $disciplinas = ""; $conteudo = ""; $objTemp = new clsPmieducarDisciplina(); $objTemp->setOrderby("nm_disciplina"); $lista = $objTemp->lista(null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_curso); if (is_array($lista) && count($lista)) { foreach ($lista as $registro) { // $opcoes["{$registro['cod_disciplina']}"] = "{$registro['nm_disciplina']}"; $checked = ""; if ($this->disciplina_serie[$registro["cod_disciplina"]] == $registro["cod_disciplina"]) { $checked = "checked=\"checked\""; } $conteudo .= "<input type=\"checkbox\" {$checked} name=\"disciplinas[]\" id=\"disciplinas[]\" value=\"{$registro["cod_disciplina"]}\"><label for=\"disciplinas[]\">{$registro["nm_disciplina"]}</label> <br />"; } } $disciplinas = '<table cellspacing="0" cellpadding="0" border="0">'; $disciplinas .= "<tr align=\"left\"><td> {$conteudo} </td></tr>"; $disciplinas .= '</table>'; } $this->campoRotulo("disciplinas_", "Disciplinas", "<div id='disciplinas'>{$disciplinas}</div>"); $this->campoQuebra(); //-----------------------FIM INCLUI DISCIPLINA------------------------// }