function Gerar() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; session_write_close(); $this->titulo = "Curso - Detalhe"; $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet"); $this->cod_curso = $_GET["cod_curso"]; $tmp_obj = new clsPmieducarCurso($this->cod_curso); $registro = $tmp_obj->detalhe(); if (!$registro) { header("location: educar_curso_lst.php"); die; } if (class_exists("clsPmieducarInstituicao")) { $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]); $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe(); $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"]; } else { $registro["ref_cod_instituicao"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarInstituicao\n-->"; } if (class_exists("clsPmieducarTipoRegime")) { $obj_ref_cod_tipo_regime = new clsPmieducarTipoRegime($registro["ref_cod_tipo_regime"]); $det_ref_cod_tipo_regime = $obj_ref_cod_tipo_regime->detalhe(); $registro["ref_cod_tipo_regime"] = $det_ref_cod_tipo_regime["nm_tipo"]; } else { $registro["ref_cod_tipo_regime"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoRegime\n-->"; } if (class_exists("clsPmieducarTipoEnsino")) { $obj_ref_cod_tipo_ensino = new clsPmieducarTipoEnsino($registro["ref_cod_tipo_ensino"]); $det_ref_cod_tipo_ensino = $obj_ref_cod_tipo_ensino->detalhe(); $registro["ref_cod_tipo_ensino"] = $det_ref_cod_tipo_ensino["nm_tipo"]; } else { $registro["ref_cod_tipo_ensino"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoEnsino\n-->"; } if (class_exists("clsPmieducarTipoAvaliacao")) { $obj_ref_cod_tipo_avaliacao = new clsPmieducarTipoAvaliacao($registro["ref_cod_tipo_avaliacao"]); $det_ref_cod_tipo_avaliacao = $obj_ref_cod_tipo_avaliacao->detalhe(); $registro["ref_cod_tipo_avaliacao"] = $det_ref_cod_tipo_avaliacao["nm_tipo"]; } else { $registro["ref_cod_tipo_avaliacao"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoAvaliacao\n-->"; } if (class_exists("clsPmieducarNivelEnsino")) { $obj_ref_cod_nivel_ensino = new clsPmieducarNivelEnsino($registro["ref_cod_nivel_ensino"]); $det_ref_cod_nivel_ensino = $obj_ref_cod_nivel_ensino->detalhe(); $registro["ref_cod_nivel_ensino"] = $det_ref_cod_nivel_ensino["nm_nivel"]; } else { $registro["ref_cod_nivel_ensino"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarNivelEnsino\n-->"; } if (class_exists("clsPmieducarUsuario")) { $obj_ref_usuario_cad = new clsPmieducarUsuario($registro["ref_usuario_cad"]); $det_ref_usuario_cad = $obj_ref_usuario_cad->detalhe(); $registro["ref_usuario_cad"] = $det_ref_usuario_cad["data_cadastro"]; } else { $registro["ref_usuario_cad"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarUsuario\n-->"; } if (class_exists("clsPmieducarUsuario")) { $obj_ref_usuario_exc = new clsPmieducarUsuario($registro["ref_usuario_exc"]); $det_ref_usuario_exc = $obj_ref_usuario_exc->detalhe(); $registro["ref_usuario_exc"] = $det_ref_usuario_exc["data_cadastro"]; } else { $registro["ref_usuario_exc"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarUsuario\n-->"; } if ($registro["ref_cod_nivel_ensino"]) { $this->addDetalhe(array("Nivel Ensino", "{$registro["ref_cod_nivel_ensino"]}")); } if ($registro["ref_cod_tipo_ensino"]) { $this->addDetalhe(array("Tipo Ensino", "{$registro["ref_cod_tipo_ensino"]}")); } if ($registro["ref_cod_tipo_avaliacao"]) { $this->addDetalhe(array("Tipo Avaliacão", "{$registro["ref_cod_tipo_avaliacao"]}")); } if ($registro["nm_curso"]) { $this->addDetalhe(array("Nome Curso", "{$registro["nm_curso"]}")); } if ($registro["sgl_curso"]) { $this->addDetalhe(array("Sgl Curso", "{$registro["sgl_curso"]}")); } if ($registro["qtd_etapas"]) { $this->addDetalhe(array("Qtd Etapas", "{$registro["qtd_etapas"]}")); } if ($registro["frequencia_minima"]) { $this->addDetalhe(array("Frequencia Minima", number_format($registro["frequencia_minima"], 2, ",", "."))); } if ($registro["media"]) { $this->addDetalhe(array("Media", number_format($registro["media"], 2, ",", "."))); } if ($registro["falta_ch_globalizada"]) { $this->addDetalhe(array("Falta Ch Globalizada", $registro["falta_ch_globalizada"] == 1 ? "sim" : "não")); } if ($registro["carga_horaria"]) { $this->addDetalhe(array("Carga Horaria", number_format($registro["carga_horaria"], 2, ",", "."))); } if ($registro["ato_poder_publico"]) { $this->addDetalhe(array("Ato Poder Publico", "{$registro["ato_poder_publico"]}")); } if ($registro["edicao_final"]) { $this->addDetalhe(array("Edicão Final", $registro["edicao_final"] == 1 ? "sim" : "não")); } if ($registro["objetivo_curso"]) { $this->addDetalhe(array("Objetivo Curso", "{$registro["objetivo_curso"]}")); } if ($registro["publico_alvo"]) { $this->addDetalhe(array("Publico Alvo", "{$registro["publico_alvo"]}")); } $obj_permissoes = new clsPermissoes(); if ($obj_permissoes->permissao_cadastra(0, $this->pessoa_logada, 0)) { $this->url_novo = "educar_curso_cad.php"; $this->url_editar = "educar_curso_cad.php?cod_curso={$registro["cod_curso"]}"; } $this->url_cancelar = "educar_curso_lst.php"; $this->largura = "100%"; }
function Gerar() { // primary keys $this->campoOculto("cod_curso", $this->cod_curso); // foreign keys $opcoes = array("" => "Selecione"); if (class_exists("clsPmieducarInstituicao")) { $objTemp = new clsPmieducarInstituicao(); $lista = $objTemp->lista(); if (is_array($lista) && count($lista)) { foreach ($lista as $registro) { $opcoes["{$registro['cod_instituicao']}"] = "{$registro['nm_instituicao']}"; } } } else { echo "<!--\nErro\nClasse clsPmieducarInstituicao nao encontrada\n-->"; $opcoes = array("" => "Erro na geracao"); } $this->campoLista("ref_cod_instituicao", "Instituicão", $opcoes, $this->ref_cod_instituicao); $opcoes = array("" => "Selecione"); if (class_exists("clsPmieducarTipoEnsino")) { $objTemp = new clsPmieducarTipoEnsino(); $lista = $objTemp->lista(); if (is_array($lista) && count($lista)) { foreach ($lista as $registro) { $opcoes["{$registro['cod_tipo_ensino']}"] = "{$registro['nm_tipo']}"; } } } else { echo "<!--\nErro\nClasse clsPmieducarTipoEnsino nao encontrada\n-->"; $opcoes = array("" => "Erro na geracao"); } $this->campoLista("ref_cod_tipo_ensino", "Tipo Ensino", $opcoes, $this->ref_cod_tipo_ensino); $opcoes = array("" => "Selecione"); if (class_exists("clsPmieducarTipoAvaliacao")) { $objTemp = new clsPmieducarTipoAvaliacao(); $lista = $objTemp->lista(); if (is_array($lista) && count($lista)) { foreach ($lista as $registro) { $opcoes["{$registro['cod_tipo_avaliacao']}"] = "{$registro['nm_tipo']}"; } } } else { echo "<!--\nErro\nClasse clsPmieducarTipoAvaliacao nao encontrada\n-->"; $opcoes = array("" => "Erro na geracao"); } $this->campoLista("ref_cod_tipo_avaliacao", "Tipo Avaliacão", $opcoes, $this->ref_cod_tipo_avaliacao); $opcoes = array("" => "Selecione"); if (class_exists("clsPmieducarNivelEnsino")) { $objTemp = new clsPmieducarNivelEnsino(); $lista = $objTemp->lista(); if (is_array($lista) && count($lista)) { foreach ($lista as $registro) { $opcoes["{$registro['cod_nivel_ensino']}"] = "{$registro['nm_nivel']}"; } } } else { echo "<!--\nErro\nClasse clsPmieducarNivelEnsino nao encontrada\n-->"; $opcoes = array("" => "Erro na geracao"); } $this->campoLista("ref_cod_nivel_ensino", "Nivel Ensino", $opcoes, $this->ref_cod_nivel_ensino); // text $this->campoTexto("nm_curso", "Nome Curso", $this->nm_curso, 30, 255, true); $this->campoTexto("sgl_curso", "Sgl Curso", $this->sgl_curso, 30, 255, true); $this->campoNumero("qtd_etapas", "Qtd Etapas", $this->qtd_etapas, 15, 255, true); $this->campoMonetario("frequencia_minima", "Frequencia Minima", $this->frequencia_minima, 15, 255, true); $this->campoMonetario("media", "Media", $this->media, 15, 255, true); $this->campoMonetario("media_exame", "Media Exame", $this->media_exame, 15, 255, false); $this->campoNumero("falta_ch_globalizada", "Falta Ch Globalizada", $this->falta_ch_globalizada, 15, 255, true); $this->campoMonetario("carga_horaria", "Carga Horaria", $this->carga_horaria, 15, 255, true); $this->campoTexto("ato_poder_publico", "Ato Poder Publico", $this->ato_poder_publico, 30, 255, false); $this->campoNumero("edicao_final", "Edicão Final", $this->edicao_final, 15, 255, true); $this->campoMemo("objetivo_curso", "Objetivo Curso", $this->objetivo_curso, 60, 10, false); $this->campoMemo("publico_alvo", "Publico Alvo", $this->publico_alvo, 60, 10, false); $this->campoNumero("padrao_ano_escolar", "Padrão Ano Escolar", $this->padrao_ano_escolar, 15, 255, true); $this->campoMonetario("hora_falta", "Hora Falta", $this->hora_falta, 15, 255, true); // data // time // bool }
function Gerar() { $this->campoOculto("ref_cod_matricula", $this->ref_cod_matricula); $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("ref_cod_aluno", $this->ref_cod_aluno); $this->campoOculto("ref_sequencial_matricula_turma", $this->ref_sequencial_matricula_turma); $this->campoOculto("reprova_falta", $this->reprova_falta); $obj_matricula = new clsPmieducarMatricula($this->ref_cod_matricula); $det_matricula = $obj_matricula->detalhe(); $this->mat_modulo = $det_matricula["modulo"]; $this->situacao = $det_matricula["aprovado"]; if ($this->ref_ref_cod_serie) { $ano_matricula = $det_matricula["ano"]; // busca o ano em q a escola esta em andamento $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo(); $lst_ano_letivo = $obj_ano_letivo->lista($this->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"]; if ($ano_letivo != $ano_matricula) { header("Location: educar_falta_nota_aluno_lst.php"); die; } } else { $this->mensagem = "Não foi possível encontrar o Ano Letivo."; return false; } } $obj_aluno = new clsPmieducarAluno(); $lst_aluno = $obj_aluno->lista($this->ref_cod_aluno, null, null, null, null, null, null, null, null, null, 1); if (is_array($lst_aluno)) { $det_aluno = array_shift($lst_aluno); $this->nm_aluno = $det_aluno["nome_aluno"]; $this->campoRotulo("nm_aluno", "Aluno", $this->nm_aluno); } $obj_curso = new clsPmieducarCurso($this->ref_cod_curso); $det_curso = $obj_curso->detalhe(); $this->ref_cod_instituicao = $det_curso["ref_cod_instituicao"]; $this->ref_cod_tipo_avaliacao = $det_curso["ref_cod_tipo_avaliacao"]; $this->media = $det_curso["media"]; $this->media_exame = $det_curso["media_exame"]; $this->falta_ch_globalizada = $det_curso["falta_ch_globalizada"]; $this->campoOculto("ref_cod_instituicao", $this->ref_cod_instituicao); $this->campoOculto("ref_cod_tipo_avaliacao", $this->ref_cod_tipo_avaliacao); $this->campoOculto("media", $this->media); $this->campoOculto("media_exame", $this->media_exame); $this->campoOculto("falta_ch_globalizada", $this->falta_ch_globalizada); // verifico qual o tipo de avaliacao usado no curso $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($this->ref_cod_tipo_avaliacao); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); $this->conceitual = $det_tipo_avaliacao["conceitual"]; $this->campoOculto("conceitual", $this->conceitual); // lista todos os valores do tipo de avaliacao do curso $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores(); $obj_avaliacao_valores->setOrderby("valor ASC"); $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao); if (is_array($lst_avaliacao_valores)) { $opcoes_valores = array("" => "Selecione"); $opcoes_valores_remover = array("-1" => "Remover Nota"); foreach ($lst_avaliacao_valores as $valores) { $opcoes_valores[$valores['sequencial']] = $valores["nome"]; $opcoes_valores_remover[$valores['sequencial']] = $valores["nome"]; } $opcoes_valores_ = $opcoes_valores; } //************************************* MATRICULADO NUMA SERIE *************************************// if ($this->ref_ref_cod_serie) { // busca o ano em q a escola esta em andamento $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo(); $lst_ano_letivo = $obj_ano_letivo->lista($this->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); $this->ano_letivo = $det_ano_letivo["ano"]; $this->campoOculto("ano_letivo", $this->ano_letivo); } $this->padrao_ano_escolar = $det_curso["padrao_ano_escolar"]; $this->campoOculto("padrao_ano_escolar", $this->padrao_ano_escolar); // Caso o curso siga o padrao da escola if ($this->padrao_ano_escolar) { $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista($this->ano_letivo, $this->ref_ref_cod_escola); if (is_array($lst_ano_letivo_modulo)) { // guarda a qtd de modulos a serem cursados $this->qtd_modulos = count($lst_ano_letivo_modulo); } } else { $obj_turma_modulo = new clsPmieducarTurmaModulo(); $lst_turma_modulo = $obj_turma_modulo->lista($this->ref_cod_turma); if (is_array($lst_turma_modulo)) { // guarda a qtd de modulos a serem cursados $this->qtd_modulos = count($lst_turma_modulo); } } // Armazena as disciplinas em que o aluno esta dispensado $obj_dispensa = new clsPmieducarDispensaDisciplina(); $lst_dispensa = $obj_dispensa->lista($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->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($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, 1, true); // CASO SEJA EDITAR if ($this->modulo) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, $this->ref_cod_matricula, null, null, null, null, null, null, 1, $this->modulo); if (is_array($lst_nota_aluno)) { foreach ($lst_nota_aluno as $key => $campo) { $lst_disciplina[$campo['ref_cod_disciplina']]['cod_nota_aluno'] = $campo['cod_nota_aluno']; if ($campo['nota']) { $lst_disciplina[$campo['ref_cod_disciplina']]['nota'] = $campo['nota']; } else { $lst_disciplina[$campo['ref_cod_disciplina']]['nota'] = $campo['ref_sequencial']; } } } if ($this->falta_ch_globalizada) { $obj_faltas = new clsPmieducarFaltas(); $lst_faltas = $obj_faltas->lista($this->ref_cod_matricula, $this->modulo); if (is_array($lst_faltas)) { $det_faltas = array_shift($lst_faltas); $faltas = $det_faltas['falta']; } } else { $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, null, $this->ref_cod_matricula, null, null, null, null, null, 1, $this->modulo); if (is_array($lst_falta_aluno)) { foreach ($lst_falta_aluno as $key => $campo) { $lst_disciplina[$campo['ref_cod_disciplina']]['cod_falta_aluno'] = $campo['cod_falta_aluno']; $lst_disciplina[$campo['ref_cod_disciplina']]['faltas'] = $campo['faltas']; } } } } else { // Armazena as disciplinas que estao ainda sem nota no modulo $com_nota = array(); if (is_array($lst_disciplinas)) { foreach ($lst_disciplinas as $key => $disciplinas) { if (!$dispensa[$disciplinas["ref_cod_disciplina"]]) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $qtd_notas = $obj_nota_aluno->getQtdNotas($this->ref_ref_cod_escola, $this->ref_ref_cod_serie, $disciplinas["ref_cod_disciplina"], $this->ref_cod_matricula); if ($qtd_notas >= $this->mat_modulo) { $com_nota[$disciplinas["ref_cod_disciplina"]] = $qtd_notas; } } } } // $this->mat_modulo++; $this->modulo = $this->mat_modulo; } $this->campoOculto("mat_modulo", $this->mat_modulo); $this->campoRotulo("modulo_", "Módulo", $this->modulo); $this->campoOculto("modulo", $this->modulo); // caso o aluno esteja de EXAME if ($this->qtd_modulos < $this->modulo) { if (is_array($lst_disciplinas)) { foreach ($lst_disciplinas as $valor) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $obj_nota_aluno->setOrderby("modulo ASC"); // lista todas as notas do aluno em uma determinada disciplina $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $valor["ref_cod_disciplina"], $this->ref_cod_matricula, null, null, null, null, null, null, 1); if (is_array($lst_nota_aluno)) { // guarda as notas do aluno foreach ($lst_nota_aluno as $key => $nota_aluno) { if ($this->qtd_modulos > $key) { $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[$valor["ref_cod_disciplina"]][$key] = $det_avaliacao_valores["valor"]; } } } } } // calcula a nota media do aluno 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->modulo - 1; } // verifica se o aluno esta a baixo da media, // caso positivo e o curso possua exame, dexa aluno em exame 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) $aluno_exame_disciplina[] = $disciplina; } */ if ($nota < $this->media && $this->media_exame) { $aluno_exame_disciplina[] = $disciplina; } } } } // caso aluno esteja de EXAME e a avaliacao NAO eh conceitual if ($this->qtd_modulos < $this->modulo && !$this->conceitual) { $qtd_disciplinas_aluno_exame = 0; foreach ($aluno_exame_disciplina as $key => $disciplina) { if (!$dispensa[$disciplina] && !$com_nota[$disciplina]) { $qtd_disciplinas_aluno_exame++; $obj_disciplina = new clsPmieducarDisciplina($disciplina); $det_disciplina = $obj_disciplina->detalhe(); $nm_disciplina = $det_disciplina["nm_disciplina"]; if ($lst_disciplina[$disciplina]['nota']) { $lst_disciplina[$disciplina]['nota'] = number_format($lst_disciplina[$disciplina]['nota'], 2, ",", "."); } $this->campoTextoInv("nm_disciplina_{$det_disciplina["nm_disciplina"]}", "Disciplina", $nm_disciplina, 30, 255, false, false, true); $this->campoOculto("disciplina_modulo[{$key}][ref_cod_disciplina]", $disciplina, ""); $this->campoOculto("disciplina_modulo[{$key}][cod_nota_aluno]", $lst_disciplina[$disciplina]['cod_nota_aluno']); // $this->campoLista( "disciplina_modulo[{$key}][nota]", " Nota Exame", $opcoes_valores, $lst_disciplina[$disciplina]['nota'] ); /** * deixa obrigatorio em caso de edicao somente as notas que ja tinham sido * preenchidas */ $prenche_edicao_obrigatorio = $lst_disciplina[$disciplina]['nota'] || strtolower($this->tipoacao) == 'novo' ? true : false; $this->campoMonetario("disciplina_modulo[{$key}][nota]", " Nota Exame", $lst_disciplina[$disciplina]['nota'], 5, 5, $prenche_edicao_obrigatorio); } $this->campoOculto("qtd_disciplinas_aluno_exame", $qtd_disciplinas_aluno_exame); $this->campoOculto("aluno_esta_em_exame", 1); } } else { // echo "<br> NORMAL"; if (is_array($lst_disciplinas)) { // falta na chamada EH globalizada if ($this->falta_ch_globalizada) { // echo "<br> FALTA GLOBALIZADA"; foreach ($lst_disciplinas as $key => $disciplinas) { if (!$dispensa[$disciplinas["ref_cod_disciplina"]] && !$com_nota[$disciplinas["ref_cod_disciplina"]]) { $obj_disciplina = new clsPmieducarDisciplina($disciplinas["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); $nm_disciplina = $det_disciplina["nm_disciplina"]; $this->campoTextoInv("nm_disciplina_{$nm_disciplina}", "Disciplina", $nm_disciplina, 30, 255, false, false, true); $this->campoOculto("disciplina_modulo[{$key}][ref_cod_disciplina]", $disciplinas["ref_cod_disciplina"]); $this->campoOculto("disciplina_modulo[{$key}][cod_nota_aluno]", $lst_disciplina[$disciplinas["ref_cod_disciplina"]]['cod_nota_aluno']); /** * deixa obrigatorio em caso de edicao somente as notas que ja tinham sido * preenchidas */ $prenche_edicao_obrigatorio = $lst_disciplina[$disciplinas["ref_cod_disciplina"]]['nota'] || strtolower($this->tipoacao) == 'novo' ? true : false; /** * existe nota? mostra a opção para remove-la */ if ($lst_disciplina[$disciplinas["ref_cod_disciplina"]]['nota'] && $this->mat_modulo <= $this->modulo + 1) { $opcoes_valores = $opcoes_valores_remover; } $this->campoLista("disciplina_modulo[{$key}][nota]", " Nota", $opcoes_valores, $lst_disciplina[$disciplinas["ref_cod_disciplina"]]['nota'], "", false, "", "", false, $prenche_edicao_obrigatorio); $opcoes_valores = $opcoes_valores_; } } $this->campoNumero("total_faltas", " Faltas", $faltas, 2, 2, true); } else { // echo "<br> FALTA NAO GLOBALIZADA"; foreach ($lst_disciplinas as $key => $disciplinas) { if (!$dispensa[$disciplinas["ref_cod_disciplina"]] && !$com_nota[$disciplinas["ref_cod_disciplina"]]) { $obj_disciplina = new clsPmieducarDisciplina($disciplinas["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); $nm_disciplina = $det_disciplina["nm_disciplina"]; $apura_falta = $det_disciplina["apura_falta"]; $this->campoTextoInv("nm_disciplina_{$det_disciplina["nm_disciplina"]}", "Disciplina", $nm_disciplina, 30, 255, false, false, true); $this->campoOculto("disciplina_modulo[{$key}][ref_cod_disciplina]", $disciplinas["ref_cod_disciplina"]); $this->campoOculto("disciplina_modulo[{$key}][cod_nota_aluno]", $lst_disciplina[$disciplinas["ref_cod_disciplina"]]['cod_nota_aluno']); /** * deixa obrigatorio em caso de edicao somente as notas que ja tinham sido * preenchidas */ $prenche_edicao_obrigatorio = $lst_disciplina[$disciplinas["ref_cod_disciplina"]]['nota'] || strtolower($this->tipoacao) == 'novo' ? true : false; /** * existe nota? mostra a opção para remove-la */ if ($lst_disciplina[$disciplinas["ref_cod_disciplina"]]['nota'] && $this->mat_modulo <= $this->modulo + 1) { $opcoes_valores = $opcoes_valores_remover; } if ($apura_falta) { $this->campoLista("disciplina_modulo[{$key}][nota]", " Nota", $opcoes_valores, $lst_disciplina[$disciplinas["ref_cod_disciplina"]]['nota'], "", true, "", "", false, $prenche_edicao_obrigatorio); $this->campoOculto("disciplina_modulo[{$key}][cod_falta_aluno]", $lst_disciplina[$disciplinas["ref_cod_disciplina"]]['cod_falta_aluno']); $this->campoNumero("disciplina_modulo[{$key}][faltas]", " Faltas", $lst_disciplina[$disciplinas["ref_cod_disciplina"]]['faltas'], 2, 2, $prenche_edicao_obrigatorio); } else { $this->campoLista("disciplina_modulo[{$key}][nota]", " Nota", $opcoes_valores, $lst_disciplina[$disciplinas["ref_cod_disciplina"]]['nota'], "", false, "", "", false, $prenche_edicao_obrigatorio); } $opcoes_valores = $opcoes_valores_; } } } } // caso seja o ultimo modulo e a avaliacao seja conceitual if ($this->qtd_modulos == $this->modulo && $this->conceitual) { $opcoes = array("" => "Selecione", 1 => "Aprovado", 2 => "Reprovado"); $this->campoLista("aprovado", "Situação", $opcoes, $this->situacao); } } } else { $obj_turma_modulo = new clsPmieducarTurmaModulo(); $obj_turma_modulo->setOrderby("data_fim DESC"); $lst_turma_modulo = $obj_turma_modulo->lista($this->ref_cod_turma); if (is_array($lst_turma_modulo)) { // guarda a qtd de modulos a serem cursados $this->qtd_modulos = count($lst_turma_modulo); // armazena o ano letivo pela maior data do modulo $det_turma_modulo = array_shift($lst_turma_modulo); $this->ano_letivo = dataFromPgToBr($det_turma_modulo["data_fim"], "Y"); $this->campoOculto("ano_letivo", $this->ano_letivo); } $this->campoOculto("qtd_modulos", $this->qtd_modulos); $obj_disciplinas = new clsPmieducarDisciplina(); $lst_disciplinas = $obj_disciplinas->lista(null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_curso); if ($this->modulo) { $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, $this->modulo); if (is_array($lst_nota_aluno)) { foreach ($lst_nota_aluno as $key => $campo) { $lst_disciplina[$campo['ref_cod_curso_disciplina']]['cod_nota_aluno'] = $campo['cod_nota_aluno']; if ($campo['nota']) { $lst_disciplina[$campo['ref_cod_curso_disciplina']]['nota'] = $campo['nota']; } else { $lst_disciplina[$campo['ref_cod_curso_disciplina']]['nota'] = $campo['ref_sequencial']; } } } if ($this->falta_ch_globalizada) { $obj_faltas = new clsPmieducarFaltas(); $lst_faltas = $obj_faltas->lista($this->ref_cod_matricula, $this->modulo); if (is_array($lst_faltas)) { $det_faltas = array_shift($lst_faltas); $faltas = $det_faltas['falta']; } } else { $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, $this->modulo); if (is_array($lst_falta_aluno)) { foreach ($lst_falta_aluno as $key => $campo) { $lst_disciplina[$campo['ref_cod_curso_disciplina']]['cod_falta_aluno'] = $campo['cod_falta_aluno']; $lst_disciplina[$campo['ref_cod_curso_disciplina']]['faltas'] = $campo['faltas']; } } } } else { // Armazena as disciplinas que estao ainda sem nota no modulo $com_nota = array(); if (is_array($lst_disciplinas)) { foreach ($lst_disciplinas as $key => $disciplinas) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $qtd_notas = $obj_nota_aluno->getQtdNotas(null, null, null, $this->ref_cod_matricula, $disciplinas["cod_disciplina"]); if ($qtd_notas >= $this->mat_modulo) { $com_nota[$disciplinas["cod_disciplina"]] = $qtd_notas; } } } // $this->mat_modulo++; $this->modulo = $this->mat_modulo; } $this->campoOculto("mat_modulo", $this->mat_modulo); $this->campoRotulo("modulo_", "Módulo", $this->modulo); $this->campoOculto("modulo", $this->modulo); // caso o aluno esteja de EXAME if ($this->qtd_modulos < $this->modulo) { if (is_array($lst_disciplinas)) { foreach ($lst_disciplinas as $valor) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $obj_nota_aluno->setOrderby("modulo ASC"); // lista todas as notas do aluno em uma determinada disciplina $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, $valor["cod_disciplina"]); if (is_array($lst_nota_aluno)) { // guarda as notas do aluno foreach ($lst_nota_aluno as $key => $nota_aluno) { if ($this->qtd_modulos > $key) { $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[$valor["cod_disciplina"]][$key] = $det_avaliacao_valores["valor"]; } } } } } // calcula a nota media do aluno 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->modulo - 1; } // verifica se o aluno esta a baixo da media, // caso positivo e o curso possua exame, dexa aluno em exame 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) $aluno_exame_disciplina[] = $disciplina; } */ if ($nota < $this->media && $this->media_exame) { $aluno_exame_disciplina[] = $disciplina; } } } } // caso aluno esteja de EXAME e a avaliacao NAO eh conceitual if ($this->qtd_modulos < $this->modulo && !$this->conceitual) { // echo "<br> EXAME CONCEITUAL"; foreach ($aluno_exame_disciplina as $key => $disciplina) { if (!$com_nota[$disciplina]) { $obj_disciplina = new clsPmieducarDisciplina($disciplina); $det_disciplina = $obj_disciplina->detalhe(); $nm_disciplina = $det_disciplina["nm_disciplina"]; if ($lst_disciplina[$disciplina]['nota']) { $lst_disciplina[$disciplina]['nota'] = number_format($lst_disciplina[$disciplina]['nota'], 2, ",", "."); } $this->campoTextoInv("nm_disciplina_{$det_disciplina["nm_disciplina"]}", "Disciplina", $nm_disciplina, 30, 255, false, false, true); $this->campoOculto("disciplina_modulo[{$key}][ref_cod_disciplina]", $disciplina, ""); $this->campoOculto("disciplina_modulo[{$key}][cod_nota_aluno]", $lst_disciplina[$disciplina]['cod_nota_aluno']); // $this->campoLista( "disciplina_modulo[{$key}][nota]", " Nota Exame", $opcoes_valores, $lst_disciplina[$disciplina]['nota'] ); /** * deixa obrigatorio em caso de edicao somente as notas que ja tinham sido * preenchidas */ $prenche_edicao_obrigatorio = $lst_disciplina[$disciplina]['nota'] || strtolower($this->tipoacao) == 'novo' ? true : false; /** * existe nota? mostra a opção para remove-la */ if ($lst_disciplina[$disciplina]['nota'] && $this->mat_modulo <= $this->modulo + 1) { $opcoes_valores = $opcoes_valores_remover; } $this->campoMonetario("disciplina_modulo[{$key}][nota]", " Nota Exame", $lst_disciplina[$disciplina]['nota'], 5, 5, $prenche_edicao_obrigatorio); $opcoes_valores = $opcoes_valores_; } } } else { if (is_array($lst_disciplinas)) { // falta na chamada EH globalizada if ($this->falta_ch_globalizada) { foreach ($lst_disciplinas as $key => $disciplinas) { if (!$com_nota[$disciplinas["cod_disciplina"]]) { $this->campoTextoInv("nm_disciplina_{$disciplinas["nm_disciplina"]}", "Disciplina", $disciplinas["nm_disciplina"], 30, 255, false, false, true); $this->campoOculto("disciplina_modulo[{$key}][ref_cod_disciplina]", $disciplinas["cod_disciplina"]); $this->campoOculto("disciplina_modulo[{$key}][cod_nota_aluno]", $lst_disciplina[$disciplinas["cod_disciplina"]]['cod_nota_aluno']); /** * deixa obrigatorio em caso de edicao somente as notas que ja tinham sido * preenchidas */ $prenche_edicao_obrigatorio = $lst_disciplina[$disciplinas["cod_disciplina"]]['nota'] || strtolower($this->tipoacao) == 'novo' ? true : false; /** * existe nota? mostra a opção para remove-la */ if ($lst_disciplina[$disciplinas["cod_disciplina"]]['nota'] && $this->mat_modulo <= $this->modulo + 1) { $opcoes_valores = $opcoes_valores_remover; } $this->campoLista("disciplina_modulo[{$key}][nota]", " Nota", $opcoes_valores, $lst_disciplina[$disciplinas["cod_disciplina"]]['nota'], "", false, "", "", false, $prenche_edicao_obrigatorio); $opcoes_valores = $opcoes_valores_; } } $this->campoNumero("total_faltas", " Faltas", $faltas, 2, 2, true); } else { foreach ($lst_disciplinas as $key => $disciplinas) { if (!$com_nota[$disciplinas["cod_disciplina"]]) { $this->campoTextoInv("nm_disciplina_{$disciplinas["nm_disciplina"]}", "Disciplina", $disciplinas["nm_disciplina"], 30, 255, false, false, true); $this->campoOculto("disciplina_modulo[{$key}][ref_cod_disciplina]", $disciplinas["cod_disciplina"]); $this->campoOculto("disciplina_modulo[{$key}][cod_nota_aluno]", $lst_disciplina[$disciplinas["cod_disciplina"]]['cod_nota_aluno']); /** * deixa obrigatorio em caso de edicao somente as notas que ja tinham sido * preenchidas */ $prenche_edicao_obrigatorio = $lst_disciplina[$disciplinas["cod_disciplina"]]['nota'] || strtolower($this->tipoacao) == 'novo' ? true : false; /** * existe nota? mostra a opção para remove-la */ if ($lst_disciplina[$disciplinas["cod_disciplina"]]['nota'] && $this->mat_modulo <= $this->modulo + 1) { $opcoes_valores = $opcoes_valores_remover; } if ($disciplinas["apura_falta"]) { $this->campoLista("disciplina_modulo[{$key}][nota]", " Nota", $opcoes_valores, $lst_disciplina[$disciplinas["cod_disciplina"]]['nota'], "", true, "", "", false, $prenche_edicao_obrigatorio); $this->campoOculto("disciplina_modulo[{$key}][cod_falta_aluno]", $lst_disciplina[$disciplinas["cod_disciplina"]]['cod_falta_aluno']); $this->campoNumero("disciplina_modulo[{$key}][faltas]", " Faltas", $lst_disciplina[$disciplinas["cod_disciplina"]]['faltas'], 2, 2, $prenche_edicao_obrigatorio); } else { $this->campoLista("disciplina_modulo[{$key}][nota]", " Nota", $opcoes_valores, $lst_disciplina[$disciplinas["cod_disciplina"]]['nota'], "", false, "", "", false, $prenche_edicao_obrigatorio); } $opcoes_valores = $opcoes_valores_; } } } } // caso seja o ultimo modulo e a avaliacao seja conceitual if ($this->qtd_modulos == $this->modulo && $this->conceitual) { $opcoes = array("" => "Selecione", 1 => "Aprovado", 2 => "Reprovado"); $this->campoLista("aprovado", "Situação", $opcoes, $this->situacao); } } } $this->campoOculto("qtd_modulos", $this->qtd_modulos); }
function verificaHistorico() { if (is_numeric($this->ref_cod_aluno)) { @session_start(); $pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $sql_existe_historico = "select sequencial from pmieducar.historico_escolar where ref_cod_aluno={$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tand ativo=1 and ano=2007"; $sql = "SELECT ref_ref_cod_serie from pmieducar.matricula where cod_matricula in (\n\t\t\t\t\t\t\tSELECT MAX(cod_matricula) as max_matricula\n\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2))"; $db = new clsBanco(); $serie = $db->CampoUnico($sql); if ($serie != 15) { $db = new clsBanco(); $existe_historico = $db->CampoUnico($sql_existe_historico); $liberar_historico = false; $existe_historico_sequencial = false; if (!is_numeric($existe_historico)) { $liberar_historico = true; } else { $sql_existe_disciplina = "select 1 from pmieducar.historico_disciplinas where\n\t\t\t\t\t\t\t\t\t\t\tref_ref_cod_aluno={$this->ref_cod_aluno} and ref_sequencial={$existe_historico}"; $existe_disciplinas = $db->CampoUnico($sql_existe_disciplina); if (!is_numeric($existe_disciplinas)) { $liberar_historico = true; $existe_historico_sequencial = true; } } $sql_aprovado = "SELECT aprovado from pmieducar.matricula where cod_matricula in (\n\t\t\t\t\t\t\tSELECT MAX(cod_matricula) as max_matricula\n\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2))"; $aprovado_aux = $db->CampoUnico($sql_aprovado); if (is_numeric($existe_historico) && !$existe_historico_sequencial) { $sql_historico_aprovado = "SELECT aprovado from pmieducar.historico_escolar\n\t\t\t\t\t\t\t\t\t\t\twhere ref_cod_aluno={$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\t\tand sequencial={$existe_historico} and ano=2007 and ativo=1"; $aprovado_historico = $db->CampoUnico($sql_historico_aprovado); /*if ($aprovado_aux != $aprovado_historico) { $liberar_historico = true; $sql_desativa_he = "update pmieducar.historico_escolar set ativo=0 where ref_cod_aluno={$this->ref_cod_aluno} and sequencial={$existe_historico} and ano=2007"; $db->Consulta($sql_desativa_he); $existe_historico_sequencial=false; }*/ } $sql_aprovado = "SELECT aprovado from pmieducar.matricula where cod_matricula in (\n\t\t\t\t\t\t\tSELECT MAX(cod_matricula) as max_matricula\n\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2))"; $aprovado_aux = $db->CampoUnico($sql_aprovado); if (is_numeric($existe_historico) && !$existe_historico_sequencial) { $sql_historico_aprovado = "SELECT aprovado from pmieducar.historico_escolar\n\t\t\t\t\t\t\t\t\t\t\twhere ref_cod_aluno={$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\t\tand sequencial={$existe_historico} and ano=2007 and ativo=1"; $aprovado_historico = $db->CampoUnico($sql_historico_aprovado); /*if ($aprovado_aux != $aprovado_historico) { $liberar_historico = true; $sql_desativa_he = "update pmieducar.historico_escolar set ativo=0 where ref_cod_aluno={$this->ref_cod_aluno} and sequencial={$existe_historico} and ano=2007"; $db->Consulta($sql_desativa_he); $existe_historico_sequencial=false; }*/ } if ($liberar_historico) { $sql = "SELECT cod_matricula,aprovado,ref_ref_cod_escola,ref_ref_cod_serie,ref_cod_curso,matricula_reclassificacao from pmieducar.matricula where cod_matricula in (\n\t\t\t\t\t\t\tSELECT MAX(cod_matricula) as max_matricula\n\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2))"; $db->Consulta($sql); while ($db->ProximoRegistro()) { list($cod_matricula, $aprovado, $ref_cod_escola, $ref_cod_serie, $ref_cod_curso, $matricula_reclassificacao) = $db->Tupla(); } $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista(2007, $ref_cod_escola); $qtd_modulos = count($lst_ano_letivo_modulo); $obj_curso = new clsPmieducarCurso($ref_cod_curso); $det_curso = $obj_curso->detalhe(); $falta_ch_globalizada = $det_curso["falta_ch_globalizada"]; $objTipoAvaliacao = new clsPmieducarTipoAvaliacao($det_curso["ref_cod_tipo_avaliacao"]); $detalhe_tipo_avaliacao = $objTipoAvaliacao->detalhe(); $conceitual = $detalhe_tipo_avaliacao["conceitual"]; // if () { if ($ref_cod_curso != 49 && $ref_cod_curso != 20 && $ref_cod_curso != 19 && $qtd_modulos == 4 && !$conceitual && is_array($det_curso) && is_numeric($ref_cod_serie) && is_numeric($cod_matricula) && is_numeric($aprovado) && is_numeric($ref_cod_escola) && $det_curso["padrao_ano_escolar"] == 1) { if ($ref_cod_serie != 15) { if ($det_curso["padrao_ano_escolar"] == 1) { if ($existe_historico_sequencial) { // $obj_historico = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $existe_historico_sequencial, $pessoa_logada); // if (!$obj_historico->excluir()) { // die("não exclui"); // } } $obj_escola2 = new clsPmieducarEscola($ref_cod_escola); $det_escola2 = $obj_escola2->detalhe(); $ref_cod_instituicao = $det_escola2["ref_cod_instituicao"]; $notas_faltas_disciplina = array(); $obj_escola_serie_disciplina = new clsPmieducarEscolaSerieDisciplina(); $lst_escola_serie_disciplina = $obj_escola_serie_disciplina->lista($ref_cod_serie, $ref_cod_escola, null, 1); foreach ($lst_escola_serie_disciplina as $escola_serie_disciplina) { $obj_dispensa = new clsPmieducarDispensaDisciplina($cod_matricula, $ref_cod_serie, $ref_cod_escola, $escola_serie_disciplina["ref_cod_disciplina"], null, null, null, null, null, 1); $det_disciplina = $obj_dispensa->detalhe(); if (!is_array($det_disciplina)) { $obj_nota = new clsPmieducarNotaAluno(); $obj_nota->setOrderby("modulo"); $lst_nota = $obj_nota->lista(null, null, null, $ref_cod_serie, $ref_cod_escola, $escola_serie_disciplina["ref_cod_disciplina"], $cod_matricula, null, null, null, null, null, null, 1); if (is_array($lst_nota)) { $soma_notas = 0; $possui_exame = false; foreach ($lst_nota as $key => $nota) { $obj_tipo_av_val = new clsPmieducarTipoAvaliacaoValores($nota["ref_ref_cod_tipo_avaliacao"], $nota["ref_sequencial"], null, null, null, null); $det_tipo_av_val = $obj_tipo_av_val->detalhe(); if ($ref_cod_serie == 5) { $soma_notas = $det_tipo_av_val["valor"]; } else { if ($key < $qtd_modulos) { $soma_notas += $det_tipo_av_val["valor"]; } else { $possui_exame = true; $soma_notas += $nota["nota"] * 2; } } } if ($ref_cod_serie == 5) { $media = $soma_notas; } else { if ($possui_exame) { $media = $soma_notas / 6; } else { $media = $soma_notas / 4; } } $obj_media = new clsPmieducarTipoAvaliacaoValores(); $det_media = $obj_media->lista($det_curso["ref_cod_tipo_avaliacao"], $det_curso["ref_sequencial"], null, null, $media, $media); if (is_array($det_media)) { $det_media = array_shift($det_media); $media = $det_media["valor"]; $media = sprintf("%01.1f", $media); $media = str_replace(".", ",", $media); } $obj_disciplina = new clsPmieducarDisciplina($escola_serie_disciplina["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); if ($falta_ch_globalizada) { $notas_faltas_disciplina[$escola_serie_disciplina["ref_cod_disciplina"]] = array("media" => $media, "falta" => null, "nm_disciplina" => $det_disciplina["nm_disciplina"]); } else { //pegar as faltas $sql = "select sum(faltas) from pmieducar.falta_aluno where\n\t\t\t\t\t\t\t\t\t\t\t\t\tref_cod_matricula={$cod_matricula} and ref_cod_disciplina={$escola_serie_disciplina["ref_cod_disciplina"]}\n\t\t\t\t\t\t\t\t\t\t\t\t\tand ativo=1"; $total_faltas = $db->CampoUnico($sql); $notas_faltas_disciplina[$escola_serie_disciplina["ref_cod_disciplina"]] = array("media" => $media, "falta" => $total_faltas, "nm_disciplina" => $det_disciplina["nm_disciplina"]); } } } } if (is_array($notas_faltas_disciplina)) { $extra_curricular = 0; if ($falta_ch_globalizada) { $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$cod_matricula}"; $db5 = new clsBanco(); $total_faltas = $db5->CampoUnico($sql); } else { $total_faltas = null; } $obj_serie = new clsPmieducarSerie($ref_cod_serie); $det_serie = $obj_serie->detalhe(); $carga_horaria_serie = $det_serie["carga_horaria"]; $obj_escola = new clsPmieducarEscola($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($ref_cod_escola); $det_escola = $obj_escola->detalhe(); $nm_escola = $det_escola["nm_escola"]; $cidade = $det_escola["municipio"]; } } //falta_ch_globalizada if ($det_curso["falta_ch_globalizada"] == 1) { $dias_letivos = $this->buscaDiasLetivos($ref_cod_escola); } else { $dias_letivos = null; } if ($matricula_reclassificacao == 1) { $descricao_reclassificacao = $this->verificaReclassificacao(); } else { $descricao_reclassificacao = null; } $obj_historico = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, null, null, $pessoa_logada, $det_serie["nm_serie"], 2007, $carga_horaria_serie, $dias_letivos, $nm_escola, $cidade, $uf, $descricao_reclassificacao, $aprovado, null, null, 1, $total_faltas, $ref_cod_instituicao, 0, $extra_curricular, $cod_matricula); $cadastrou2 = $obj_historico->cadastra(); if ($cadastrou2) { $obj_historico = new clsPmieducarHistoricoEscolar(); $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno); foreach ($notas_faltas_disciplina as $nota_falta) { $obj_historico_disciplina = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nota_falta["nm_disciplina"], $nota_falta["media"], $nota_falta["falta"]); $cadastrou3 = $obj_historico_disciplina->cadastra(); if (!$cadastrou3) { die("<br><br><br><br>nao cadastrou disciplina"); } } } else { die("<br><br><br><br>nao cadastrou historico"); } } } } } elseif ($ref_cod_curso != 49 && $ref_cod_curso != 20 && $ref_cod_curso != 19) { //fazer historico ejaaaa //pegar matriculas do eja do aluno $obj_matriculas = new clsPmieducarMatricula(); $obj_matriculas->setOrderby("cod_matricula"); $lst_matriculas = $obj_matriculas->lista(null, null, null, null, null, null, $this->ref_cod_aluno, array(1, 2), null, null, null, null, 1, 2007); if (is_array($lst_matriculas) && count($lst_matriculas)) { foreach ($lst_matriculas as $matricula) { $liberar_historico = false; $db = new clsBanco(); //fazer algo para ver se o he nao esta atualizado $sql = "SELECT sequencial FROM pmieducar.historico_escolar WHERE ref_cod_aluno = {$matricula["ref_cod_aluno"]}\n\t\t\t\t\t\t\t\t\tAND ref_cod_matricula = {$matricula["cod_matricula"]} AND ano = 2007 AND ativo = 1\n\t\t\t\t\t\t\t\t\tAND (to_char(data_cadastro,'DD/MM/YYYY') < '20/02/2008'\n\t\t\t\t\t\t\t\t\t\tOR to_char(data_cadastro,'YYYY')::int = 2007) AND data_exclusao is null"; $existe_he_antigo = $db->CampoUnico($sql); if (is_numeric($existe_he_antigo)) { $liberar_historico = true; } else { //verificar se possui historico $sql = "SELECT 1 FROM pmieducar.historico_escolar WHERE ref_cod_aluno = {$matricula["ref_cod_aluno"]}\n\t\t\t\t\t\t\t\t\t\tAND ref_cod_matricula = {$matricula["cod_matricula"]} AND ano = 2007 AND ativo = 1"; $existe_he = $db->CampoUnico($sql); if (!is_numeric($existe_he)) { $liberar_historico = true; } } if ($liberar_historico) { if (is_numeric($existe_he_antigo)) { $obj_historico = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $existe_he_antigo, $pessoa_logada); // if (!$obj_historico->excluir()) { // die("nao exclui"); // } } //fazer novo he //destruir he antigo $obj_curso = new clsPmieducarCurso($matricula["ref_cod_curso"]); $det_curso = $obj_curso->detalhe(); $falta_ch_globalizada = $det_curso["falta_ch_globalizada"]; $objTipoAvaliacao = new clsPmieducarTipoAvaliacao($det_curso["ref_cod_tipo_avaliacao"]); $detalhe_tipo_avaliacao = $objTipoAvaliacao->detalhe(); $conceitual = $detalhe_tipo_avaliacao["conceitual"]; $notas_faltas_disciplina = array(); $obj_escola_serie_disciplina = new clsPmieducarEscolaSerieDisciplina(); $lst_escola_serie_disciplina = $obj_escola_serie_disciplina->lista($matricula["ref_ref_cod_serie"], $matricula["ref_ref_cod_escola"], null, 1); foreach ($lst_escola_serie_disciplina as $escola_serie_disciplina) { $obj_dispensa = new clsPmieducarDispensaDisciplina($matricula["cod_matricula"], $matricula["ref_ref_cod_serie"], $matricula["ref_cod_escola"], $escola_serie_disciplina["ref_cod_disciplina"], null, null, null, null, null, 1); $det_disciplina = $obj_dispensa->detalhe(); if (!is_array($det_disciplina)) { $obj_nota = new clsPmieducarNotaAluno(); $obj_nota->setOrderby("modulo"); $lst_nota = $obj_nota->lista(null, null, null, $matricula["ref_ref_cod_serie"], $matricula["ref_cod_escola"], $escola_serie_disciplina["ref_cod_disciplina"], $matricula["cod_matricula"], null, null, null, null, null, null, 1); if (is_array($lst_nota) && count($lst_nota)) { $nota_matricula = array_shift($lst_nota); $obj_tipo_av_val = new clsPmieducarTipoAvaliacaoValores($nota_matricula["ref_ref_cod_tipo_avaliacao"], $nota_matricula["ref_sequencial"]); $det_tipo_av_val = $obj_tipo_av_val->detalhe(); if ($falta_ch_globalizada) { $faltas = null; } else { $sql = "select sum(faltas) from pmieducar.falta_aluno where\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tref_cod_matricula={$matricula["cod_matricula"]} and ref_cod_disciplina={$escola_serie_disciplina["ref_cod_disciplina"]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand ativo=1"; $faltas = $db->CampoUnico($sql); } $obj_disciplina = new clsPmieducarDisciplina($escola_serie_disciplina["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); $notas_faltas_disciplina[$escola_serie_disciplina["ref_cod_disciplina"]] = array("media" => $det_tipo_av_val["nome"], "falta" => $faltas, "nm_disciplina" => $det_disciplina["nm_disciplina"]); } } } if (is_array($notas_faltas_disciplina)) { $obj_escola2 = new clsPmieducarEscola($matricula["ref_ref_cod_escola"]); $det_escola2 = $obj_escola2->detalhe(); $ref_cod_instituicao = $det_escola2["ref_cod_instituicao"]; $extra_curricular = 1; if ($falta_ch_globalizada) { $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$matricula["cod_matricula"]}"; $db5 = new clsBanco(); $total_faltas = $db5->CampoUnico($sql); } else { $total_faltas = null; } $obj_serie = new clsPmieducarSerie($matricula["ref_ref_cod_serie"]); $det_serie = $obj_serie->detalhe(); $carga_horaria_serie = $det_serie["carga_horaria"]; $obj_escola = new clsPmieducarEscola($matricula["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($matricula["ref_ref_cod_escola"]); $det_escola = $obj_escola->detalhe(); $nm_escola = $det_escola["nm_escola"]; $cidade = $det_escola["municipio"]; } } //falta_ch_globalizada if ($det_curso["falta_ch_globalizada"] == 1) { // $dias_letivos = $this->buscaDiasLetivos($matricula["ref_ref_cod_escola"]); $dias_letivos = null; } else { $dias_letivos = null; } if ($matricula["matricula_reclassificacao"] == 1) { $descricao_reclassificacao = $this->verificaReclassificacao($matricula["cod_matricula"]); } else { $descricao_reclassificacao = null; } $obj_historico = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, null, null, $pessoa_logada, $det_serie["nm_serie"], 2007, $carga_horaria_serie, $dias_letivos, $nm_escola, $cidade, $uf, $descricao_reclassificacao, $matricula["aprovado"], null, null, 1, $total_faltas, $ref_cod_instituicao, 0, $extra_curricular, $matricula["cod_matricula"]); $cadastrou2 = $obj_historico->cadastra(); if ($cadastrou2) { $obj_historico = new clsPmieducarHistoricoEscolar(); $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno); foreach ($notas_faltas_disciplina as $nota_falta) { $obj_historico_disciplina = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nota_falta["nm_disciplina"], $nota_falta["media"], $nota_falta["falta"]); $cadastrou3 = $obj_historico_disciplina->cadastra(); if (!$cadastrou3) { die("<br><br><br><br>nao cadastrou disciplina"); } } } else { die("<br><br><br><br>nao cadastrou historico"); } } } } } } } elseif ($ref_cod_curso != 49 && $ref_cod_curso != 20 && $ref_cod_curso != 19) { $sql = "SELECT ref_ref_cod_escola,ref_cod_curso from pmieducar.matricula where cod_matricula in (\n\t\t\t\t\t\t\tSELECT MAX(cod_matricula) as max_matricula\n\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2))"; $db = new clsBanco(); $db->Consulta($sql); while ($db->ProximoRegistro()) { list($ref_cod_escola, $ref_cod_curso) = $db->Tupla(); } $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista(2007, $ref_cod_escola); $qtd_modulos = count($lst_ano_letivo_modulo); $obj_curso = new clsPmieducarCurso($ref_cod_curso); $det_curso = $obj_curso->detalhe(); $falta_ch_globalizada = $det_curso["falta_ch_globalizada"]; $objTipoAvaliacao = new clsPmieducarTipoAvaliacao($det_curso["ref_cod_tipo_avaliacao"]); $detalhe_tipo_avaliacao = $objTipoAvaliacao->detalhe(); $conceitual = $detalhe_tipo_avaliacao["conceitual"]; if ($qtd_modulos == 4 && !$conceitual) { $sql_eh_falta_globalizada = "SELECT 1 FROM pmieducar.historico_escolar WHERE ref_cod_aluno = {$this->ref_cod_aluno} AND sequencial = {$existe_historico}\n\t\t\t\t\t\t\t\t\t\t\t AND faltas_globalizadas IS NOT NULL AND dias_letivos IS NULL"; $db = new clsBanco(); $busca_dias_letivos = $db->CampoUnico($sql_eh_falta_globalizada); if (is_numeric($busca_dias_letivos)) { $dias_letivos = $this->buscaDiasLetivos($ref_cod_escola); if ($dias_letivos) { $obj_he = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $existe_historico, $pessoa_logada, null, null, null, null, $dias_letivos); if (!$obj_he->edita()) { die("nao editou dias letivos"); } } } $sql = "SELECT MAX(cod_matricula),matricula_reclassificacao\n\t\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2)\n\t\t\t\t\t\t\t\t\t\t\tgroup by matricula_reclassificacao"; $db = new clsBanco(); $db->Consulta($sql); while ($db->ProximoRegistro()) { list($cod_matricula, $matricula_reclassificacao) = $db->Tupla(); } if ($matricula_reclassificacao == 1) { $descricao_reclassificacao = $this->verificaReclassificacao(); if ($descricao_reclassificacao) { $obj_he = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $existe_historico, $pessoa_logada, null, null, null, null, null, null, null, null, $descricao_reclassificacao); if (!$obj_he->edita()) { die("nao editou reclassificacao"); } } } } } } } }
function Gerar() { $obj_curso = new clsPmieducarCurso($this->ref_cod_curso); $det_curso = $obj_curso->detalhe(); // Carrega as informações necessárias do curso if ($det_curso) { $this->ref_cod_tipo_avaliacao = $det_curso["ref_cod_tipo_avaliacao"]; $this->media = $det_curso["media"]; $this->media_exame = $det_curso["media_exame"]; $this->frequencia_minima = $det_curso["frequencia_minima"]; $this->falta_ch_globalizada = $det_curso["falta_ch_globalizada"]; $this->padrao_ano_escolar = $det_curso["padrao_ano_escolar"]; $this->carga_horaria = $det_curso["carga_horaria"]; $this->hora_falta = $det_curso["hora_falta"]; } // Verifica se vai seguir o padrão do ano escolar da escola if ($this->padrao_ano_escolar == 1) { $obj_escola_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1); $det_escola_ano_letivo = $obj_escola_ano_letivo->detalhe(); // Carrega o ano letivo if (is_array($det_escola_ano_letivo)) { $this->ano_letivo = $det_escola_ano_letivo["ano"]; } $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $obj_ano_letivo_modulo->setOrderby("data_fim"); $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista($this->ano_letivo, $this->ref_ref_cod_escola); if (is_array($lst_ano_letivo_modulo)) { $obj_turma_disciplina = new clsPmieducarTurmaDisciplina(); $lst_turma_disciplina = $obj_turma_disciplina->lista($this->ref_cod_turma); // Carrega a quantidade de disciplinas da turma $this->qtd_disciplinas = count($lst_turma_disciplina); // echo "<pre>"; // print_r($lst_turma_disciplina); if ($lst_turma_disciplina) { foreach ($lst_turma_disciplina as $disciplina) { // Carrega o código das disciplinas da turma $this->cod_disciplinas[] = $disciplina["ref_cod_disciplina"]; } // Carrega a quantidade de módulos do ano letivo $this->qtd_modulos = count($lst_ano_letivo_modulo); $cont = 1; if (is_array($lst_ano_letivo_modulo)) { // Busca em qual módulo a turma está //$resultado = $obj_turma_modulo->numModulo( $cont, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->cod_disciplinas, $this->ref_cod_turma, $this->ref_cod_turma ); $obj_matriculas = new clsPmieducarMatriculaTurma(); $lst_matriculas = $obj_matriculas->lista(null, $this->ref_cod_turma, null, null, null, null, null, null, 1, $this->ref_ref_cod_serie, $this->ref_cod_curso, $this->ref_ref_cod_escola); $resultado = 0; if (is_array($lst_matriculas)) { foreach ($lst_matriculas as $registro) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $aux_min = $obj_nota_aluno->retornaModuloAluno($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $registro["ref_cod_matricula"]); $aux_min = $aux_min + 1; if ($resultado == 0) { $resultado = $aux_min; } else { if ($resultado > $aux_min) { $resultado = $aux_min; } } } } $this->num_modulo = $resultado; foreach ($lst_ano_letivo_modulo as $registro) { // Verifica se a turma está num módulo da turma if ($resultado == $registro["sequencial"]) { $obj_modulo = new clsPmieducarModulo($registro["ref_cod_modulo"]); $det_modulo = $obj_modulo->detalhe(); // Carrega o nome do módulo no qual a turma se encontra $this->modulo = $det_modulo["nm_tipo"]; $obj_turma_disciplina = new clsPmieducarTurmaDisciplina(); $obj_turma_disciplina->setOrderby("ref_cod_disciplina"); // Carrega o código das disciplinas da turma $lst_turma_disciplina = $obj_turma_disciplina->lista($this->ref_cod_turma); if (is_array($lst_turma_disciplina)) { $cont = 0; foreach ($lst_turma_disciplina as $valores) { $obj_disciplina = new clsPmieducarDisciplina($valores["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); if ($det_disciplina) { // Carrega a informação se a disciplina apura falta ou não $this->lst_apura_falta["{$det_disciplina["cod_disciplina"]}"] = $det_disciplina["apura_falta"]; $obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina $lst_notas = $obj_notas->retornaDiscMod($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $det_disciplina["cod_disciplina"], $this->ref_cod_turma, $this->ref_cod_turma, null, true); if ($cont == 0) { $num_aux = $lst_notas; } else { if ($lst_notas < $num_aux) { $num_aux = $lst_notas; } } } $cont++; } /*if ( is_numeric( $lst_notas ) ) { $this->num_modulo = $lst_notas + 1; } else { $this->num_modulo = 1; }*/ } // Carrega o número do módulo em que a turma está // $this->num_modulo = ( $resultado + 1 ); break; } else { if ($resultado > $this->qtd_modulos) { // Carrega o nome do módulo no qual a turma se encontra como "Exame" $this->modulo = "Exame"; // Carrega o número do módulo igual a quantidade de módulos da turma mais 1 $this->num_modulo = $resultado + 1; break; } } $cont++; } } } } } else { $obj_turma_modulo = new clsPmieducarTurmaModulo(); $obj_turma_modulo->setOrderby("data_fim"); $lst_turma_modulo = $obj_turma_modulo->lista($this->ref_cod_turma); $obj_matriculas = new clsPmieducarMatriculaTurma(); $lst_matriculas = $obj_matriculas->lista(null, $this->ref_cod_turma, null, null, null, null, null, null, 1, $this->ref_ref_cod_serie, $this->ref_cod_curso, $this->ref_ref_cod_escola); $resultado = 0; if (is_array($lst_matriculas)) { foreach ($lst_matriculas as $registro) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $aux_min = $obj_nota_aluno->retornaModuloAluno($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $registro["ref_cod_matricula"]); $aux_min = $aux_min + 1; if ($resultado == 0) { $resultado = $aux_min; } else { if ($resultado > $aux_min) { $resultado = $aux_min; } } } } $this->num_modulo = $resultado; if (is_array($lst_turma_modulo)) { $obj_turma_disciplina = new clsPmieducarTurmaDisciplina(); $lst_turma_disciplina = $obj_turma_disciplina->lista($this->ref_cod_turma); // Carrega a quantidade de disciplinas da turma $this->qtd_disciplinas = count($lst_turma_disciplina); if ($lst_turma_disciplina) { foreach ($lst_turma_disciplina as $disciplina) { // Carrega o código das disciplinas da turma $this->cod_disciplinas[] = $disciplina["ref_cod_disciplina"]; $obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina $lst_notas = $obj_notas->retornaDiscMod($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $disciplina["ref_cod_disciplina"], $this->ref_cod_turma, $this->ref_cod_turma, null, true); if ($cont == 0) { $num_aux = $lst_notas; } else { if ($lst_notas < $num_aux) { $num_aux = $lst_notas; } } } // Carrega a quantidade de módulos da turma $this->qtd_modulos = count($lst_turma_modulo); $cont = 1; foreach ($lst_turma_modulo as $registro) { $obj_turma_modulo = new clsPmieducarTurmaModulo(); // Busca em qual módulo a turma está // $resultado = $obj_turma_modulo->numModulo( $cont, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->cod_disciplinas, $this->ref_cod_turma, $this->ref_cod_turma ); // Verifica se a turma está num módulo da turma if ($resultado == $cont) { $obj_modulo = new clsPmieducarModulo($registro["ref_cod_modulo"]); $det_modulo = $obj_modulo->detalhe(); // Carrega o nome do módulo no qual a turma se encontra $this->modulo = $det_modulo["nm_tipo"]; // Carrega o número do módulo no qual a turma se encontra $this->num_modulo = $resultado; break; } else { if ($resultado > $this->qtd_modulos) { // Carrega o nome do módulo no qual a turma se encontra como "Exame" $this->modulo = "Exame"; // Carrega o número do módulo no qual a turma se encontra igual ao número de módulos da turma mais 1 $this->num_modulo = $resultado + 1; break; } } $cont++; } } } } // echo "<pre>"; // print_r( $this->cod_disciplinas ); $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo(); $lst_ano_letivo = $obj_ano_letivo->lista($this->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); // Carrega o ano letivo em que a turma se encontra $this->ano_letivo = $det_ano_letivo["ano"]; } $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($this->ref_cod_tipo_avaliacao); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); // Carrega o tipo de avaliação if ($det_tipo_avaliacao) { $this->conceitual = $det_tipo_avaliacao["conceitual"]; } // Carrega todos os valores do tipo de avaliação do curso $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores(); $obj_avaliacao_valores->setOrderby("valor ASC"); $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao); if (is_array($lst_avaliacao_valores)) { $opcoes_valores = array("" => "Selecione"); foreach ($lst_avaliacao_valores as $valores) { $opcoes_valores[$valores['sequencial']] = $valores["nome"]; } } $obj_turma_disciplina = new clsPmieducarTurmaDisciplina(); $obj_turma_disciplina->setOrderby("ref_cod_disciplina"); // Carrega o código das disciplinas da turma $lst_turma_disciplina = $obj_turma_disciplina->lista($this->ref_cod_turma); //echo "<pre>"; //print_r( $lst_turma_disciplina ); if (is_array($lst_turma_disciplina)) { // Carrega a quantidade de disciplinas da turma $this->qtd_disciplinas = count($lst_turma_disciplina); $opcoes_disciplinas = array("" => "Selecione"); foreach ($lst_turma_disciplina as $valores) { $obj_disciplina = new clsPmieducarDisciplina($valores["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); if ($det_disciplina) { // Carrega a informação se a disciplina apura falta ou não $this->lst_apura_falta["{$det_disciplina["cod_disciplina"]}"] = $det_disciplina["apura_falta"]; //$obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina //$lst_notas = $obj_notas->retornaDiscMod( $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $det_disciplina["cod_disciplina"], $this->ref_cod_turma, $this->ref_cod_turma, null, true ); // Verifica se a quantidade de notas por aluno é diferente do número do módulo em que a turma se encontra //echo "{$lst_notas} != {$this->num_modulo}<br>"; //if ( $lst_notas != $this->num_modulo ) //{ $opcoes_disciplinas[$det_disciplina["cod_disciplina"]] = $det_disciplina["nm_disciplina"]; //} } } } //echo "<pre>"; //print_r( $opcoes_disciplinas ); // Verifica se deve ser exibida a página para classificar os alunos if ($this->classifica == "S") { // Verifica se a turma terminou o último módulo ou se está no último módulo if ($this->num_modulo >= $this->qtd_modulos) { $obj_nota_aluno = new clsPmieducarNotaAluno(); // Carrega as médias de cada disciplina de cada aluno $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true, true); if (is_array($lst_exame)) { $lst_disciplina_aprovacao = array("" => "Selecione"); foreach ($lst_exame as $exame) { // Verifica se o aluno possui freqüência abaixo da freqüência mínima if (100 - $exame["faltas"] < $this->frequencia_minima) { $obj_disciplina = new clsPmieducarDisciplina($exame["disc_ref_ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); if ($det_disciplina) { // Carrega a disciplina que possui alunos com freqüência abaixo da freqüência mínima $lst_disciplina_aprovacao["{$exame["disc_ref_ref_cod_disciplina"]}"] = $det_disciplina["nm_disciplina"]; // Carrega as informações referentes a disciplina e ao aluno que possui freqüência abaixo da freqüência mínima $lst_aprovacao[] = $exame; } } } foreach ($lst_aprovacao as $classificacao) { if ($classificacao["media"] < $this->media) { $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["ref_ref_cod_matricula"] = $classificacao["ref_ref_cod_matricula"]; $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["exibe"] = "S"; } else { if ($lst_classificacao[$classificacao["ref_ref_cod_matricula"]]) { if ($lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["exibe"] != "S") { $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["ref_ref_cod_matricula"] = $classificacao["ref_ref_cod_matricula"]; $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["exibe"] = "N"; } } else { $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["ref_ref_cod_matricula"] = $classificacao["ref_ref_cod_matricula"]; $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["exibe"] = "N"; } } } foreach ($lst_classificacao as $registro) { foreach ($lst_exame as $exame) { if ($exame["ref_ref_cod_matricula"] == $registro["ref_ref_cod_matricula"]) { if ($exame["media"] < $this->media) { if ($registro["exibe"] == "N") { $lst_classificacao[$registro["ref_ref_cod_matricula"]]["ref_ref_cod_matricula"] = $registro["ref_ref_cod_matricula"]; $lst_classificacao[$registro["ref_ref_cod_matricula"]]["exibe"] = "S"; } } } } } $opcoes_disciplinas = array_unique($lst_disciplina_aprovacao); } // Verifica se existem alunos com a freqüência abaixo da freqüência mínima if (is_array($lst_aprovacao)) { foreach ($lst_classificacao as $registro) { $obj_matricula = new clsPmieducarMatricula($registro["ref_ref_cod_matricula"], null, null, null, null, null, null, null, null, null, 1, null, 1, $this->modulo); $det_matricula = $obj_matricula->detalhe(); if ($det_matricula) { $obj_aluno = new clsPmieducarAluno($det_matricula["ref_cod_aluno"]); $det_aluno = $obj_aluno->detalhe(); if ($det_aluno) { $obj_pessoa = new clsPessoa_($det_aluno["ref_idpes"]); $det_pessoa = $obj_pessoa->detalhe(); $obj_dispensa = new clsPmieducarDispensaDisciplina($this->ref_cod_turma, $det_matricula["cod_matricula"], $this->ref_cod_turma, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, null, null, null, null, null, 1); $det_dispensa = $obj_dispensa->detalhe(); if (is_numeric($this->ref_cod_tipo_avaliacao)) { $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($this->ref_cod_tipo_avaliacao, null, null, null, null, null, 1, null, $this->ref_cod_instituicao); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); // Verifica se o tipo de avaliação não é conceitual if ($det_tipo_avaliacao["conceitual"] == 0) { $this->campoOculto("nm_aluno_{$det_pessoa["idpes"]}", $det_pessoa["nome"]); $this->campoTextoInv("nm_aluno_{$det_pessoa["idpes"]}_", "Aluno", $det_pessoa["nome"], 30, 255, false, false, true); $this->lst_matriculas[] = array("{$det_matricula["ref_cod_aluno"]}", "{$det_pessoa["idpes"]}", "{$det_matricula["cod_matricula"]}"); // Verifica se a falta não é globalizada e se não está na última disciplina if (!($this->falta_ch_globalizada == 1 && $this->qtd_disciplinas > 1)) { //$this->campoTextoInv( "faltas_{$det_pessoa["idpes"]}_", "Faltas", $registro["faltas"], 5, 5, false, false, true ); // Verifica se a média é maior ou igual a média mínima if ($registro["exibe"] == "N") { $this->campoCheck("aprovacao_{$det_pessoa["idpes"]}_", " ", 0, "Aprovado"); } else { $this->campoCheck("aprovacao_{$det_pessoa["idpes"]}_", " ", 0, "Exame"); } } } else { $this->campoTexto("nm_aluno_{$det_pessoa["idpes"]}", "Aluno", $det_pessoa["nome"], 30, 255, false, false, false, "", "", "", "onKeyUp", true); } } else { $this->campoTexto("nm_aluno_{$det_pessoa["idpes"]}", "Aluno", $det_pessoa["nome"], 30, 255, false, false, false, "", "", "", "onKeyUp", true); } } } } } } } else { // Verifica se a turma terminou o último módulo if ($this->num_modulo > $this->qtd_modulos) { $obj_nota_aluno = new clsPmieducarNotaAluno(); // Carrega as médias de cada disciplina de cada aluno $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true, false, true); if (is_array($lst_exame)) { $lst_disciplina_aprovacao = array("" => "Selecione"); foreach ($lst_exame as $exame) { $obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina $lst_notas = $obj_notas->retornaDiscMod($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $exame["disc_ref_ref_cod_disciplina"], $this->ref_cod_turma, $this->ref_cod_turma, $exame["ref_ref_cod_matricula"]); $obj_dispensa = new clsPmieducarDispensaDisciplina($this->ref_cod_turma, $exame["ref_ref_cod_matricula"], $this->ref_cod_turma, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $exame["disc_ref_ref_cod_disciplina"], null, null, null, null, null, 1); $det_dispensa = $obj_dispensa->detalhe(); // Verifica se a quantiade de notas da disciplina é diferente da quantidade de módulos, se não foi dispensado da disciplina e se a média é menor que a média mínima if ($lst_notas != $this->num_modulo && !is_array($det_dispensa) && $exame["media"] < $this->media) { $obj_disciplina = new clsPmieducarDisciplina($exame["disc_ref_ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); if ($det_disciplina) { // Carrega a disciplina que possui alunos com média abaixo da média mínima $lst_disciplina_aprovacao["{$exame["disc_ref_ref_cod_disciplina"]}"] = $det_disciplina["nm_disciplina"]; } } } $opcoes_disciplinas = array_unique($lst_disciplina_aprovacao); } } $this->campoRotulo("tipo_modulo", "Módulo", $this->modulo); $this->campoRotulo("numero_modulo", "Número do Módulo", $this->num_modulo); // $this->campoTexto( "tipo_modulo", "Módulo", $this->modulo, 30, 255, false, false, false, "", "", "", "onKeyUp", true ); $this->campoLista("ref_cod_disciplina", "Disciplina", $opcoes_disciplinas, $this->ref_cod_disciplina); if (is_numeric($this->ref_cod_disciplina)) { $this->tipoacao = "Novo"; // Verifica se a turma terminou o último módulo if ($this->qtd_modulos < $this->num_modulo) { $obj_nota_aluno = new clsPmieducarNotaAluno(); // Carrega as médias dos alunos por disciplina $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true, false, true); if (is_array($lst_exame)) { foreach ($lst_exame as $registro) { $obj_matricula = new clsPmieducarMatricula($registro["ref_ref_cod_matricula"], null, null, null, null, null, null, null, null, null, 1, null, 1, $this->modulo); $det_matricula = $obj_matricula->detalhe(); if ($registro["disc_ref_ref_cod_disciplina"] == $this->ref_cod_disciplina) { // Verifica se a média do aluno em uma disciplina está abaixo da média mínima if ($registro["media"] < $this->media) { if ($det_matricula) { $obj_aluno = new clsPmieducarAluno($det_matricula["ref_cod_aluno"]); $det_aluno = $obj_aluno->detalhe(); if ($det_aluno) { $obj_pessoa = new clsPessoa_($det_aluno["ref_idpes"]); $det_pessoa = $obj_pessoa->detalhe(); $obj_dispensa = new clsPmieducarDispensaDisciplina($this->ref_cod_turma, $det_matricula["cod_matricula"], $this->ref_cod_turma, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, null, null, null, null, null, 1); $det_dispensa = $obj_dispensa->detalhe(); // Verifica se o aluno não foi dispensado da disciplina if (!$det_dispensa) { if (is_numeric($this->ref_cod_tipo_avaliacao)) { $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($this->ref_cod_tipo_avaliacao, null, null, null, null, null, 1, null, $this->ref_cod_instituicao); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); // Verifica se o tipo de avaliação não é conceitual if ($det_tipo_avaliacao["conceitual"] == 0) { $this->campoOculto("nm_aluno_{$det_pessoa["idpes"]}", $det_pessoa["nome"]); $this->campoTextoInv("nm_aluno_{$det_pessoa["idpes"]}_", "Aluno", $det_pessoa["nome"], 30, 255, false, false, true); $this->lst_matriculas[] = array("{$det_matricula["ref_cod_aluno"]}", "{$det_pessoa["idpes"]}", "{$det_matricula["cod_matricula"]}"); $this->campoLista("nota_{$det_pessoa["idpes"]}", " Nota", $opcoes_valores, "", "", true); $this->exame = "S"; // Verifica se a falta não é globalizada e se não está na última disciplina if (!($this->falta_ch_globalizada == 1 && $this->qtd_disciplinas > 1)) { // Verifica se a disciplina apura faltas if ($this->lst_apura_falta[$this->ref_cod_disciplina] == 1) { // Verifica se o ano letivo ainda está em andamento if (!($this->num_modulo > $this->qtd_modulos)) { $this->campoNumero("faltas_{$det_pessoa["idpes"]}", " Faltas", "", 3, 3, true); } else { $this->exame = "S"; } } else { $this->campoLista("nota_{$det_pessoa["idpes"]}", " Nota", $opcoes_valores, "", "", false); } } } else { $this->campoTexto("nm_aluno_{$det_pessoa["idpes"]}", "Aluno", $det_pessoa["nome"], 30, 255, false, false, false, "", "", "", "onKeyUp", true); } } else { $this->campoTexto("nm_aluno_{$det_pessoa["idpes"]}", "Aluno", $det_pessoa["nome"], 30, 255, false, false, false, "", "", "", "onKeyUp", true); } } } } } } } } else { } } else { if (is_array($this->lst_matricula_turma)) { foreach ($this->lst_matricula_turma as $registro) { $obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina $lst_notas = $obj_notas->retornaDiscMod($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $this->ref_cod_turma, $this->ref_cod_turma, $registro["ref_cod_matricula"]); //echo "matrc.: {$registro["ref_cod_matricula"]}<br>"; // echo "1 {$this->num_modulo} == ".( $lst_notas + 1 )."<br>"; if ($this->num_modulo == $lst_notas + 1) { $obj_matricula = new clsPmieducarMatricula(); $modulo_matric = $obj_matricula->numModulo($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $registro["ref_cod_matricula"]); $obj_matricula = new clsPmieducarMatricula($registro["ref_cod_matricula"], null, null, null, null, null, null, null, null, null, 1, null, 1, $this->modulo); $det_matricula = $obj_matricula->detalhe(); if ($det_matricula) { // echo "2 ".( $modulo_matric + 1 )." == {$this->num_modulo}<br>"; if ($modulo_matric + 1 == $this->num_modulo) { $obj_aluno = new clsPmieducarAluno($det_matricula["ref_cod_aluno"]); $det_aluno = $obj_aluno->detalhe(); if ($det_aluno) { $obj_pessoa = new clsPessoa_($det_aluno["ref_idpes"]); $det_pessoa = $obj_pessoa->detalhe(); $obj_dispensa = new clsPmieducarDispensaDisciplina(); $det_dispensa = $obj_dispensa->lista($this->ref_cod_turma, $det_matricula["cod_matricula"], $this->ref_cod_turma, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, null, null, null, null, null, null, null, 1); $det_disciplina = $det_disciplina[0]; // Verifica se o aluno não foi dispensado da disciplina if (!$det_dispensa) { if (is_numeric($this->ref_cod_tipo_avaliacao)) { $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($this->ref_cod_tipo_avaliacao, null, null, null, null, null, 1, null, $this->ref_cod_instituicao); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); $this->campoOculto("nm_aluno_{$det_pessoa["idpes"]}", $det_pessoa["nome"]); $this->campoTextoInv("nm_aluno_{$det_pessoa["idpes"]}_", "Aluno", $det_pessoa["nome"], 30, 255, false, false, true); $this->lst_matriculas[] = array("{$det_matricula["ref_cod_aluno"]}", "{$det_pessoa["idpes"]}", "{$det_matricula["cod_matricula"]}"); $obj_nota_aluno = new clsPmieducarNotaAluno(); $disc_nota = $obj_nota_aluno->retornaDiscNota($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $det_matricula["cod_matricula"], $this->num_modulo); $obj_disciplina_serie = new clsPmieducarDisciplinaSerie(); $qtd_disc = $obj_disciplina_serie->retornaQtdDiscMat($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $det_matricula["cod_matricula"]); if ($this->falta_ch_globalizada == 1 && $disc_nota == $qtd_disc - 1) { $this->campoLista("nota_{$det_pessoa["idpes"]}", " Nota", $opcoes_valores, "", "", true); } else { $this->campoLista("nota_{$det_pessoa["idpes"]}", " Nota", $opcoes_valores, "", "", false); } // Verifica se a falta não é globalizada e se não está na última disciplina if (!($this->falta_ch_globalizada == 1 && $this->qtd_disciplinas > 1)) { // Verifica se a disciplina apura faltas if ($this->lst_apura_falta[$this->ref_cod_disciplina] == 1) { // Verifica se o ano letivo ainda está em andamento if (!($this->num_modulo > $this->qtd_modulos)) { $this->campoNumero("faltas_{$det_pessoa["idpes"]}", " Faltas", "", 3, 3, true); } else { $this->exame = "S"; } } else { $this->campoLista("nota_{$det_pessoa["idpes"]}", " Nota", $opcoes_valores, "", "", false); } } else { if ($this->falta_ch_globalizada == 1 && $disc_nota == $qtd_disc - 1) { // Verifica se o ano letivo ainda está em andamento if (!($this->num_modulo > $this->qtd_modulos)) { if ($this->num_modulo == $this->qtd_modulos) { $this->campoNumero("faltas_{$det_pessoa["idpes"]}", " Faltas", "", 3, 3, true, "", "", false, false, true); $this->campoLista("aprovacao_{$det_pessoa["idpes"]}", "", array("" => "Selecione", "S" => "Aprovado", "N" => "Reprovado"), ""); } else { $this->campoNumero("faltas_{$det_pessoa["idpes"]}", " Faltas", "", 3, 3, true); } } } } } else { $this->campoTexto("nm_aluno_{$det_pessoa["idpes"]}", "Aluno", $det_pessoa["nome"], 30, 255, false, false, false, "", "", "", "onKeyUp", true); } } } } } } } } } } } $this->lst_matriculas = serialize($this->lst_matriculas); $this->cod_disciplinas = serialize($this->cod_disciplinas); $this->lst_apura_falta = serialize($this->lst_apura_falta); $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("ref_cod_tipo_avaliacao", $this->ref_cod_tipo_avaliacao); $this->campoOculto("media", $this->media); $this->campoOculto("media_exame", $this->media_exame); $this->campoOculto("ano_letivo", $this->ano_letivo); $this->campoOculto("conceitual", $this->conceitual); $this->campoOculto("lst_matriculas", $this->lst_matriculas); $this->campoOculto("falta_ch_globalizada", $this->falta_ch_globalizada); $this->campoOculto("qtd_modulos", $this->qtd_modulos); $this->campoOculto("num_modulo", $this->num_modulo); $this->campoOculto("frequencia_minima", $this->frequencia_minima); $this->campoOculto("carga_horaria", $this->carga_horaria); $this->campoOculto("cod_disciplinas", $this->cod_disciplinas); $this->campoOculto("lst_apura_falta", $this->lst_apura_falta); $this->campoOculto("qtd_disciplinas", $this->qtd_disciplinas); $this->campoOculto("exame", $this->exame); $this->campoOculto("classifica", $this->classifica); }
function renderHTML() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); if ($_POST) { foreach ($_POST as $key => $value) { $this->{$key} = $value; } } if ($this->ref_ref_cod_serie) { $this->ref_cod_serie = $this->ref_ref_cod_serie; } $fonte = 'arial'; $corTexto = '#000000'; if (empty($this->ref_cod_turma)) { echo '<script> alert("Erro ao gerar relatório!\\nNenhuma turma selecionada!"); window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1)); </script>'; return TRUE; } if ($this->ref_cod_escola) { $obj_escola = new clsPmieducarEscola($this->ref_cod_escola); $det_escola = $obj_escola->detalhe(); $this->nm_escola = $det_escola['nome']; $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']); $det_instituicao = $obj_instituicao->detalhe(); $this->nm_instituicao = $det_instituicao['nm_instituicao']; } $obj_calendario = new clsPmieducarEscolaAnoLetivo(); $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL); $obj_turma = new clsPmieducarTurma($this->ref_cod_turma); $det_turma = $obj_turma->detalhe(); $this->nm_turma = $det_turma['nm_turma']; $obj_serie = new clsPmieducarSerie($this->ref_cod_serie); $det_serie = $obj_serie->detalhe(); $this->nm_serie = $det_serie['nm_serie']; // Regra da série $regraMapper = new RegraAvaliacao_Model_RegraDataMapper(); $this->regra = $regraMapper->find($det_serie['regra_avaliacao_id']); $obj_pessoa = new clsPessoa_($det_turma['ref_cod_regente']); $det = $obj_pessoa->detalhe(); $this->nm_professor = $det['nome']; if (!$lista_calendario) { echo '<script> alert("Escola não possui calendário definido para este ano"); window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1)); </script>'; return TRUE; } $obj_curso = new clsPmieducarCurso($this->ref_cod_curso); $det_curso = $obj_curso->detalhe(); $this->nm_curso = $det_curso['nm_curso']; $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($det_curso['ref_cod_tipo_avaliacao']); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); $conceitual = $det_tipo_avaliacao['conceitual']; $obj_matricula_turma = new clsPmieducarMatriculaTurma(); $obj_matricula_turma->setOrderby('nome_ascii'); $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula, $this->ref_cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_serie, $this->ref_cod_curso, $this->ref_cod_escola, $this->ref_cod_instituicao, NULL, NULL, array(1, 2, 3), NULL, NULL, $this->ano, NULL, NULL, NULL, NULL, TRUE); // Recupera os componentes curriculares da turma $componentes = App_Model_IedFinder::getComponentesTurma($this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_turma); // Recupera a quantidade de módulos e o nome do módulo da escola/turma $modulo = App_Model_IedFinder::getModulo($this->ref_cod_escola, $this->ref_cod_curso, $this->ref_cod_turma, $this->ano); $nomeModulo = $modulo['nome'][0]; $modulos = $modulo['total']; if ($lst_matricula_turma) { $relatorio = new relatorios('Espelho de Notas Ano - ' . $this->ano, 210, FALSE, 'Espelho de Notas', 'A4', "{$this->nm_instituicao}\n{$this->nm_escola}\n{$this->nm_curso}\n{$this->nm_serie} - Turma: {$this->nm_turma} " . date('d/m/Y')); $relatorio->setMargem(20, 20, 20, 20); $relatorio->exibe_produzido_por = FALSE; $array_val = array(array(40, 'Cód.'), array(160, 'Nome do Aluno')); foreach (range(1, $modulos) as $num) { $array_val[] = array(30, $num . $nomeModulo); } $array_val[] = array(55, 'M.Parcial'); $array_val[] = array(50, 'Exame'); $array_val[] = array(50, 'M.Final'); $array_val[] = array(38, 'Faltas'); $arrFuncBody = ' $values = array(); foreach ($data as $d) { $values[] = $d[$index]; } return $values; '; $arrFunc = create_function('$data, $index', $arrFuncBody); foreach ($componentes as $componente) { $relatorio->novalinha(array($componente->nome), 0, 16, TRUE, 'arial', array(400), '#515151', '#D3D3D3', '#FFFFFF', FALSE, TRUE); $relatorio->novalinha($arrFunc($array_val, 1), 0, 16, TRUE, 'arial', $arrFunc($array_val, 0), '#515151', '#D3D3D3', '#FFFFFF', FALSE, TRUE); foreach ($lst_matricula_turma as $matricula) { $codMatricula = $matricula['ref_cod_matricula']; if (!isset($this->boletim[$codMatricula])) { $boletim = new Avaliacao_Service_Boletim(array('matricula' => $codMatricula, 'RegraDataMapper' => $regraMapper)); } else { $boletim = $this->boletim[$codMatricula]; } $media_final = $media_parcial = $nota_exame = ''; $medias = $boletim->getMediasComponentes(); $notas = $boletim->getNotasComponentes(); if ($boletim->getRegra()->get('tipoPresenca') == RegraAvaliacao_Model_TipoPresenca::GERAL) { $faltas = array_sum(CoreExt_Entity::entityFilterAttr($boletim->getFaltasGerais(), 'id', 'quantidade')); } else { $faltas = $boletim->getFaltasComponentes(); if (isset($faltas[$componente->id])) { $faltas = array_sum(CoreExt_Entity::entityFilterAttr($faltas[$componente->id], 'id', 'quantidade')); } else { $faltas = ''; } } $etapas = range(1, count($notas[$componente->id])); // Se tiver mais etapas nas notas lançadas, significa que prestou exame if (count($etapas) > $modulos) { array_pop($etapas); } $data = array(array(40, $matricula['ref_cod_aluno']), array(160, $matricula['nome'])); foreach ($etapas as $i) { $data[] = array(30, $boletim->getNotaComponente($componente->id, $i)->notaArredondada); $media_parcial = $medias[$componente->id][0]->mediaArredondada; if ($i == $modulos) { $media_final = $media_parcial; $media_parcial = ''; $nota_exame = $boletim->getNotaComponente($componente->id, 'Rc')->notaArredondada; } } // Adiciona entradas em branco no array de dados for ($i = 0, $loop = $modulos - count($etapas); $i < $loop; $i++) { $data[] = array(30, ''); } $data[] = array(55, $media_parcial); $data[] = array(50, $nota_exame); $data[] = array(50, $media_final); $data[] = array(38, $faltas); $relatorio->novalinha($arrFunc($data, 1), 0, 12, FALSE, 'arial', $arrFunc($data, 0), '#515151', '#D3D3D3', '#FFFFFF', FALSE, TRUE); } $relatorio->quebraPagina(); } $this->get_link = $relatorio->fechaPdf(); } echo sprintf(' <script> window.onload=function() { parent.EscondeDiv("LoadImprimir"); window.location="download.php?filename=%s" } </script>', $this->get_link); echo sprintf(' <html> <center> Se o download não iniciar automaticamente <br> <a target="blank" href="%s" style="font-size: 16px; color: #000000; text-decoration: underline;">clique aqui!</a><br><br> <span style="font-size: 10px;"> Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br> Clique na Imagem para Baixar o instalador<br><br> <a href="http://www.adobe.com.br/products/acrobat/readstep2.html" target="new"><br><img src="imagens/acrobat.gif" width="88" height="31" border="0"></a> </span> </center> </html>', $this->get_link); }
function Novo() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra(650, $this->pessoa_logada, 7, "educar_turma_mvto_det.php"); if ($this->passo == 1) { // selecionou o curso, nao cadastra nada return true; } else { if ($this->passo == 2) { // deu notas e faltas aos alunos $objCurso = new clsPmieducarCurso($this->ref_cod_curso); $detalhe_curso = $objCurso->detalhe(); $db = new clsBanco(); $qtd_disciplinas = $db->CampoUnico("SELECT COUNT(0) FROM pmieducar.escola_serie_disciplina WHERE ref_ref_cod_serie = '{$this->ref_cod_serie_disciplina}' AND ref_ref_cod_escola = '{$this->ref_ref_cod_escola}' AND ativo = 1"); foreach ($this->nota as $matricula => $sequencial) { // cadastra a nota if ($this->is_nota_exame) { $nota = str_replace(",", ".", $sequencial); $objNotaAluno = new clsPmieducarNotaAluno(null, null, null, $this->ref_cod_serie_disciplina, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $matricula, null, $this->pessoa_logada, null, null, null, $this->num_modulo, null, $nota); } else { $objNotaAluno = new clsPmieducarNotaAluno(null, $sequencial, $detalhe_curso["ref_cod_tipo_avaliacao"], $this->ref_cod_serie_disciplina, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $matricula, null, $this->pessoa_logada, null, null, null, $this->num_modulo, null); } $existe_nota = $objNotaAluno->lista(null, null, $detalhe_curso["ref_cod_tipo_avaliacao"], $this->ref_cod_serie_disciplina, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $matricula, null, null, null, null, null, null, 1, $this->num_modulo, null, null); /** * somente cadastra * se nao tiver nenhuma nota * cadastrada para a disciplina */ if ($existe_nota) { $cadastrado = $objNotaAluno->edita(); } else { $cadastrado = $objNotaAluno->cadastra(); } $existe_nota = null; $ultima_nota = false; if ($cadastrado) { // nota cadastrada com sucesso // verifica se essa eh a ultima nota desse modulo. Se for passa o aluno pro proximo modulo $qtd_dispensas = (int) $db->CampoUnico("SELECT COUNT(0) AS dispensas FROM pmieducar.dispensa_disciplina WHERE ref_cod_matricula = '{$matricula}' AND ativo = 1"); $qtd_notas = (int) $db->CampoUnico("SELECT COUNT(0) AS notas FROM pmieducar.nota_aluno WHERE ref_cod_matricula = '{$matricula}' AND ativo = 1 AND modulo = '{$this->num_modulo}'"); if ($qtd_dispensas + $qtd_notas >= $qtd_disciplinas) { // eh a ultima nota do modulo, vamos passar o aluno adiante $ultima_nota = true; $objMatricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada); $det_matricula = $objMatricula->detalhe(); $max_modulo_nota = (int) $db->CampoUnico("SELECT max(modulo) FROM pmieducar.nota_aluno WHERE ref_cod_matricula = '{$matricula}' AND ativo = 1"); /** * so avança o modulo * caso ele seja igual ao da maior nota * e que seja a ultima disciplina */ if ($det_matricula['modulo'] <= $max_modulo_nota) { $objMatricula->avancaModulo(); } } // tratamento para faltas if (!$this->falta_ch_globalizada) { // se a falta nao for globalizada adiciona falta $this->falta[$matricula] = $this->falta[$matricula] ? $this->falta[$matricula] : 0; $objFaltaAluno = new clsPmieducarFaltaAluno(null, null, $this->pessoa_logada, $this->ref_cod_serie_disciplina, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $matricula, $this->falta[$matricula], null, null, null, $this->num_modulo); $existe_falta = $objFaltaAluno->lista(null, null, null, $this->ref_cod_serie_disciplina, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $matricula, null, null, null, null, null, 1, $this->num_modulo); /** * somente cadastra se * jah nao tiver sido cadastrado */ if ($existe_falta) { $objFaltaAluno->edita(); } else { $objFaltaAluno->cadastra(); } } else { // falta eh globalizada if ($this->ultima_nota[$matricula]) { // essa eh a ultima nota do aluno nesse modulo, vamos adicionar a falta globalizada dele $this->falta[$matricula] = $this->falta[$matricula] ? $this->falta[$matricula] : 0; $objFaltas = new clsPmieducarFaltas($matricula, $this->num_modulo, $this->pessoa_logada, $this->falta[$matricula]); if ($objFaltas->existe()) { $objFaltas->edita(); } else { $objFaltas->cadastra(); } } } // quando for o ultimo modulo o aluno deve ser aprovado, reprovado, marcado como excessao, ou colocado em exame if ($ultima_nota && $this->num_modulo == $this->max_modulos) { // esta na ultima nota do ultimo modulo $objEscolaSerieDisciplina = new clsPmieducarEscolaSerieDisciplina(); $listaEscolaSerieDisciplina = $objEscolaSerieDisciplina->lista($this->ref_cod_serie_disciplina, $this->ref_ref_cod_escola, null, 1); //$this->ref_cod_serie_disciplina $this->ref_ref_cod_serie $reprovado_por_nota = false; $existiu_excessao = false; $obj_serie = new clsPmieducarSerie($this->ref_cod_serie_disciplina); $det_serie = $obj_serie->detalhe(); $media_especial = dbBool($det_serie['media_especial']); if (is_array($listaEscolaSerieDisciplina)) { // percorre todas as disciplinas $reprovou_ultima_nota = false; $foi_aprovado = null; foreach ($listaEscolaSerieDisciplina as $value) { $excessao = false; $nota = false; // ve as faltas if (!$this->falta_ch_globalizada) { $objFaltaAluno = new clsPmieducarFaltaAluno(); $faltas = $objFaltaAluno->total_faltas_disciplina($matricula, $value["ref_cod_disciplina"], $value["ref_ref_cod_serie"]); if ($reprovou) { // se reprovou cria uma excessao $existiu_excessao = true; $excessao = true; } } /** * se a media for especial somente * verifica se nao esta reprovado por falta */ if ($media_especial) { continue; } if (!dbBool($det_serie["ultima_nota_define"])) { // ve a media /** * @author HY 15-12-2006 * @see quando for dar as notas e for calcular a ultima * ao fazer a media e essa nota estiver abaixo nao * pode ser feito o arredondamento, somente se estiver * acima da media deixando o aluno em exame */ $objNotaAluno = new clsPmieducarNotaAluno(); $media = $objNotaAluno->getMediaAluno($matricula, $value["ref_cod_disciplina"], $value["ref_ref_cod_serie"], $this->max_modulos, $detalhe_curso["media"]); if ($media < $detalhe_curso["media"]) { // se reprovar em alguma marca uma flag de reprovado por nota (nao edita o aluno porque ele ainda vai fazer exame) $reprovado_por_nota = true; $nota = true; } } else { // echo "<pre>"; print_r($detalhe_curso); die(); $objNotaAluno = new clsPmieducarNotaAluno(); $ultima_nota_modulo = $objNotaAluno->getUltimaNotaModulo($matricula, $value["ref_cod_disciplina"], $value["ref_ref_cod_serie"], $this->num_modulo); if ($ultima_nota_modulo < $detalhe_curso["media"]) { $foi_aprovado = 2; $reprovou_ultima_nota = true; } } if ($excessao) { // existiu uma excessao entao cria um registro de excessao no banco $objExcessao = new clsPmieducarMatriculaExcessao(null, $matricula, $this->ref_cod_turma, 1, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $value["ref_cod_disciplina"], true, $nota); $objExcessao->cadastra(); } } if (dbBool($det_serie["ultima_nota_define"])) { if ($reprovou_ultima_nota) { $objMatricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada, null, null, 2); $objMatricula->edita(); } else { $objMatricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada, null, null, 1); $objMatricula->edita(); $foi_aprovado = 1; } } /** * calcula outro modo de média se for especial */ if ($media_especial) { $objNotaAluno = new clsPmieducarNotaAluno(); $media = $objNotaAluno->getMediaEspecialAluno($matricula, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->max_modulos, $detalhe_curso["media"]); if ($media < $detalhe_curso["media"]) { // se reprovar marca uma flag de reprovado por nota ( $reprovado_por_nota = true; $nota = true; } } } if (!$reprovado_por_nota && !$existiu_excessao && !dbBool($det_serie["ultima_nota_define"])) { // nao foi reprovado em nenhuma disciplina e nao teve nenhuma excessao //marca como aprovado $foi_aprovado = 1; $objMatricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada, null, null, 1); $objMatricula->edita(); } /** * media especial e reprovado por falta.. marca aluno como reprovado se nao marca como aprovado */ if ($media_especial) { $aprovado = $reprovado_por_nota ? '2' : '1'; $foi_aprovado = $aprovado; $objMatricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada, null, null, $aprovado); $objMatricula->edita(); } } else { if ($this->num_modulo - 1 == $this->max_modulos) { // se estiver recebendo nota do exame temos que ver se eh a ultima, se for temos que aprovar/reprovar o aluno // num_modulo == max_modulo = ultimo modulo // num_modulo - 1 == max_modulo = exame // esta no exame $objNotaAluno = new clsPmieducarNotaAluno(); $qtd_exames = $objNotaAluno->getQtdMateriasExame($matricula, $this->max_modulos, $detalhe_curso["media"], true); $qtd_notas_exame = $objNotaAluno->getQtdNotasExame($matricula, $this->max_modulos); //die("recebendo nota de exame!!!! [{$qtd_exames}] [{$qtd_notas_exame}]"); if ($qtd_exames == $qtd_notas_exame) { // eh a ultima disciplina do exame $reprovado = false; $disciplinas_exame = $objNotaAluno->getDisciplinasExameDoAluno($matricula, $this->max_modulos, $detalhe_curso["media"], true); if (is_array($disciplinas_exame)) { foreach ($disciplinas_exame as $disciplina) { $media_exame = $objNotaAluno->getMediaAlunoExame($matricula, $disciplina["cod_disciplina"], $disciplina["cod_serie"], $this->max_modulos); // se reprovou marca como reprovado e sai do loop (break) //abaixo original // $media_exame = $objNotaAluno->getMediaAluno($matricula,$disciplina["cod_disciplina"],$disciplina["cod_serie"],$this->max_modulos + 1, false, true); if ($media_exame < $detalhe_curso["media_exame"]) { // reprovou //remove possiveis excessoes $objExcessoes = new clsPmieducarMatriculaExcessao(); $objExcessoes->excluirPorMatricula($matricula); // marca como reprovado $foi_aprovado = 2; $objMatricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada, null, null, 2); $objMatricula->edita(); $reprovado = true; break; } } } if (!$reprovado) { // se chegar aqui sem ter sido reprovado, marca como aprovado //remove possiveis excessoes $objExcessoes = new clsPmieducarMatriculaExcessao(); $objExcessoes->excluirPorMatricula($matricula); // aprova $foi_aprovado = 1; $objMatricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada, null, null, 1); $objMatricula->edita(); } else { // se chegar aqui sem ter sido reprovado, marca como aprovado //remove possiveis excessoes $objExcessoes = new clsPmieducarMatriculaExcessao(); $objExcessoes->excluirPorMatricula($matricula); // reprova $foi_aprovado = 2; $objMatricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada, null, null, 2); $objMatricula->edita(); } } } } } /**************HISTORICO ESCOLAR****************************/ if ($foi_aprovado == 1 || $foi_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"]; $this->ref_cod_instituicao = $det_escola["ref_cod_instituicao"]; $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo(); $lst_ano_letivo = $obj_ano_letivo->lista($this->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); $this->ano_letivo = $det_ano_letivo["ano"]; } // 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"]; } } $this->padrao_ano_escolar = $detalhe_curso["padrao_ano_escolar"]; if ($this->padrao_ano_escolar) { $extra_curricular = 0; } else { $extra_curricular = 1; } $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$matricula}"; $db5 = new clsBanco(); $total_faltas = $db5->CampoUnico($sql); $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($detalhe_curso["ref_cod_tipo_avaliacao"]); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); $this->conceitual = $det_tipo_avaliacao["conceitual"]; $obj_aluno = new clsPmieducarMatricula($matricula); $det_aluno = $obj_aluno->detalhe(); $this->ref_cod_aluno = $det_aluno["ref_cod_aluno"]; $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, $foi_aprovado, null, null, 1, $total_faltas, $this->ref_cod_instituicao, 0, $extra_curricular, $matricula); $cadastrou2 = $obj->cadastra(); if ($cadastrou2 && !$this->conceitual) { $obj_historico = new clsPmieducarHistoricoEscolar(); $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno); $historico_disciplina = array(); $obj_disciplina_hist = new clsPmieducarEscolaSerieDisciplina(); $lst_disciplina_hist = $obj_disciplina_hist->lista($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, 1); foreach ($lst_disciplina_hist as $disciplina_hist) { $objFaltaAluno = new clsPmieducarFaltaAluno(); $faltas = $objFaltaAluno->total_faltas_disciplina($matricula, $disciplina_hist["ref_cod_disciplina"], $this->ref_ref_cod_serie); $historico_disciplina[$disciplina_hist["ref_cod_disciplina"]] = $faltas; $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, $disciplina_hist["ref_cod_disciplina"], $matricula, null, null, null, null, null, null, 1); $possui_nota_exame = false; foreach ($lst_nota_aluno as $nota_aluno) { if (dbBool($det_serie["ultima_nota_define"])) { $obj_tipo_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"], null, null, null, null, 1); $det_tipo_avaliacao_valores = $obj_tipo_avaliacao_valores->detalhe(); $soma_notas[$disciplina_hist["ref_cod_disciplina"]] = $det_tipo_avaliacao_valores["valor"]; } else { if ($nota_aluno["nota"]) { $soma_notas[$disciplina_hist["ref_cod_disciplina"]] += $nota_aluno["nota"] * 2; $possui_nota_exame = true; } else { $obj_tipo_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"], null, null, null, null, 1); $det_tipo_avaliacao_valores = $obj_tipo_avaliacao_valores->detalhe(); $soma_notas[$disciplina_hist["ref_cod_disciplina"]] += $det_tipo_avaliacao_valores["valor"]; } } } if (!dbBool($det_serie["ultima_nota_define"])) { if ($possui_nota_exame) { $soma_notas[$disciplina_hist["ref_cod_disciplina"]] /= $this->num_modulo + 1; } else { $soma_notas[$disciplina_hist["ref_cod_disciplina"]] /= $this->max_modulos; } } /*************FALTAS******************/ // $this->falta_ch_globalizada = $detalhe_curso["falta_ch_globalizada"]; $this->ref_cod_tipo_avaliacao = $detalhe_curso["ref_cod_tipo_avaliacao"]; if (!$detalhe_curso["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, $disciplina_hist["ref_cod_disciplina"], $matricula, null, null, null, null, null, 1); if (is_array($lst_falta_aluno)) { foreach ($lst_falta_aluno as $key => $falta_aluno) { $soma_faltas[$disciplina_hist["ref_cod_disciplina"]][$key] = $falta_aluno["faltas"]; } } } } $faltas_media_aluno = array(); if (is_array($soma_faltas)) { foreach ($soma_faltas as $cod_disciplina => $faltas) { foreach ($array_faltas as $falta) { $faltas_media_aluno[$disciplina] += $falta; } } } $obj_historico = new clsPmieducarHistoricoEscolar(); $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno); $historico_disciplina = array(); foreach ($soma_notas as $key => $nota) { $historico_disciplina[$key] = array($nota, $faltas_media_aluno[$key]); } foreach ($historico_disciplina as $cod_disciplina => $campo) { $obj_disciplina_cad = new clsPmieducarDisciplina($cod_disciplina); $det_disciplina_cad = $obj_disciplina_cad->detalhe(); $nm_disciplina = $det_disciplina_cad["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 = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]); $cadastrou3 = $obj->cadastra(); if (!$cadastrou3) { die("nao cadastrou"); } } } } else { if (!$cadastrou2) { $this->mensagem = "Cadastro do Histórico Escolar não realizado.<br>"; return false; } } } /**************HISTORICO ESCOLAR****************************/ } $this->ref_cod_disciplina = null; $this->passo = 0; return true; } else { if ($this->passo == 3) { if ($this->pula_passo) { $this->pula_passo = false; if (is_array($this->nota) && is_array($this->resultado_final) && is_array($this->falta)) { foreach ($this->nota as $matricula => $value) { $objTpAvalValores = new clsPmieducarTipoAvaliacaoValores($this->ref_cod_tipo_avaliacao, $value, null, null, null, null, 1); $valorNota = $objTpAvalValores->detalhe(); $objNotaAluno = new clsPmieducarNotaAluno(null, $value, $this->ref_cod_tipo_avaliacao, $this->ref_cod_serie_disciplina, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $matricula, null, $this->pessoa_logada, null, null, null, $this->num_modulo, $this->ref_cod_curso, $valorNota["valor"]); if (!$objNotaAluno->cadastra()) { die("não cadastrou (nota)"); } $objMatricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada, $this->pessoa_logada, null, $this->resultado_final[$matricula]); if (!$objMatricula->edita()) { die("não cadastrou (resultado final)"); } $objFaltaAluno = new clsPmieducarFaltaAluno(); $existe_falta = $objFaltaAluno->lista(null, null, null, $this->ref_cod_serie_disciplina, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $matricula, null, null, null, null, null, 1, $this->modulo, $this->ref_cod_disciplina); if ($existe_falta) { $objFaltaAluno = new clsPmieducarFaltaAluno($existe_falta[0]['cod_falta_aluno'], $this->pessoa_logada, $this->pessoa_logada, $this->ref_cod_serie_disciplina, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $matricula, $this->falta[$matricula], null, null, null, $this->num_modulo); if (!$objFaltaAluno->edita()) { die("não editou (falta)"); } } else { $objFaltaAluno = new clsPmieducarFaltaAluno(null, null, $this->pessoa_logada, $this->ref_cod_serie_disciplina, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $matricula, $this->falta[$matricula], null, null, null, $this->num_modulo); if (!$objFaltaAluno->cadastra()) { die("não cadastrou (falta)"); } } } } else { die("falto parâmetros"); } } // die("nao"); // o professor decidiu sobre as excessoes foreach ($this->excessao as $cod_excessao => $sentenca) { $objExcessao = new clsPmieducarMatriculaExcessao($cod_excessao); $detalhe_excessao = $objExcessao->detalhe(); // verifica se ela ainda existe porque se houve uma sentenca anterior para o mesmo aluno reprovando ele, todas as outras sentencas sao removidas if ($detalhe_excessao) { if ($sentenca == 0) { // aluno reprovado // reprova aluno $objMatricula = new clsPmieducarMatricula($detalhe_excessao["ref_cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 2); $objMatricula->edita(); // remove excessoes $objExcessao->excluirPorMatricula($detalhe_excessao["ref_cod_matricula"]); $this->passo = 0; return true; } else { if ($sentenca == 1) { // aluno podera fazer exame // remove excessao $objExcessao->excluir(); $this->passo = 0; return true; } else { if ($sentenca == 2) { // aluno aprovado // aprova aluno $objMatricula = new clsPmieducarMatricula($detalhe_excessao["ref_cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 1); $objMatricula->edita(); // remove excessao $objExcessao->excluir(); $this->passo = 0; return true; } } } } } } else { if ($this->passo == 4) { // echo "<pre>"; print_r($this->resultado_final); die(); // aprovou/reprovou alunos manualmente $objCurso = new clsPmieducarCurso($this->ref_cod_curso); foreach ($this->resultado_final as $key => $value) { if ($value) { // remove excessoes $objExcessao = new clsPmieducarMatriculaExcessao(); $objExcessao->excluirPorMatricula($key); // aprova/reprova $objMatricula = new clsPmieducarMatricula($key, null, null, null, $this->pessoa_logada, null, null, $value); $objMatricula->edita(); } } $this->passo = 0; return true; } } } } return false; }