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() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; session_write_close(); $this->titulo = "Faltas/Notas Aluno - Detalhe"; $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet"); $this->ref_cod_matricula = $_GET["ref_cod_matricula"]; $this->ref_cod_turma = $_GET["ref_cod_turma"]; $this->ref_sequencial_matricula_turma = $_GET["sequencial"]; $obj_matricula_turma = new clsPmieducarMatriculaTurma(); // echo $this->ref_cod_matricula." ".$this->ref_cod_turma; $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula, $this->ref_cod_turma, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, $this->ref_sequencial_matricula_turma); if (is_array($lst_matricula_turma)) { $registro = array_shift($lst_matricula_turma); } if (!$registro) { header("location: educar_falta_nota_aluno_lst.php"); die; } if (class_exists("clsPmieducarTurma")) { $obj_ref_ref_cod_turma = new clsPmieducarTurma($registro["ref_cod_turma"]); $det_ref_ref_cod_turma = $obj_ref_ref_cod_turma->detalhe(); $nm_turma = $det_ref_ref_cod_turma["nm_turma"]; } else { $registro["ref_cod_turma"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarTurma\n-->"; } if (class_exists("clsPmieducarSerie")) { $obj_ref_cod_serie = new clsPmieducarSerie($registro["ref_ref_cod_serie"]); $det_ref_cod_serie = $obj_ref_cod_serie->detalhe(); $nm_serie = $det_ref_cod_serie["nm_serie"]; } else { $registro["ref_cod_serie"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarSerie\n-->"; } if (class_exists("clsPmieducarCurso")) { $obj_ref_cod_curso = new clsPmieducarCurso($registro["ref_cod_curso"]); $det_ref_cod_curso = $obj_ref_cod_curso->detalhe(); $nm_curso = $det_ref_cod_curso["nm_curso"]; $padrao_ano_escolar = $det_ref_cod_curso["padrao_ano_escolar"]; $falta_ch_globalizada = $det_ref_cod_curso["falta_ch_globalizada"]; if ($padrao_ano_escolar) { $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo(); $lst_ano_letivo = $obj_ano_letivo->lista($registro["ref_ref_cod_escola"], null, null, null, 1, null, null, null, null, 1); if (is_array($lst_ano_letivo)) { $det_ano_letivo = array_shift($lst_ano_letivo); $ano_letivo = $det_ano_letivo["ano"]; $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista($ano_letivo, $registro["ref_ref_cod_escola"]); if (is_array($lst_ano_letivo_modulo)) { $qtd_modulos = count($lst_ano_letivo_modulo); } } } else { $obj_turma_modulo = new clsPmieducarTurmaModulo(); $lst_turma_modulo = $obj_turma_modulo->lista($registro["ref_cod_turma"]); if (is_array($lst_turma_modulo)) { $qtd_modulos = count($lst_turma_modulo); } } } else { $registro["ref_cod_curso"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarCurso\n-->"; } if (class_exists("clsPmieducarInstituicao")) { $obj_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]); $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe(); $registro["ref_cod_instituicao"] = $obj_cod_instituicao_det["nm_instituicao"]; } else { $registro["ref_cod_instituicao"] = "Erro na geração"; echo "<!--\nErro\nClasse não existente: clsPmieducarInstituicao\n-->"; } if (class_exists("clsPmieducarEscola")) { $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_ref_cod_escola"]); $det_ref_cod_escola = $obj_ref_cod_escola->detalhe(); $nm_escola = $det_ref_cod_escola["nome"]; } else { $registro["ref_ref_cod_escola"] = "Erro na geração"; echo "<!--\nErro\nClasse não existente: clsPmieducarEscola\n-->"; } if (class_exists("clsPmieducarAluno")) { $obj_aluno = new clsPmieducarAluno(); $lst_aluno = $obj_aluno->lista($registro["ref_cod_aluno"], null, null, null, null, null, null, null, null, null, 1); if (is_array($lst_aluno)) { $det_aluno = array_shift($lst_aluno); $registro["ref_cod_aluno"] = $det_aluno["nome_aluno"]; } } else { $registro["ref_cod_aluno"] = "Erro na geração"; echo "<!--\nErro\nClasse não existente: clsPmieducarAluno\n-->"; } if ($registro["ref_cod_aluno"]) { $this->addDetalhe(array("Aluno", "{$registro["ref_cod_aluno"]}")); } if ($registro["ref_cod_matricula"]) { $this->addDetalhe(array("Matrícula", "{$registro["ref_cod_matricula"]}")); } $obj_permissoes = new clsPermissoes(); $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada); if ($nivel_usuario == 1) { if ($registro["ref_cod_instituicao"]) { $this->addDetalhe(array("Instituição", "{$registro["ref_cod_instituicao"]}")); } } if ($nivel_usuario == 1 || $nivel_usuario == 2) { if ($nm_escola) { $this->addDetalhe(array("Escola", "{$nm_escola}")); } } if ($nm_curso) { $this->addDetalhe(array("Curso", "{$nm_curso}")); } if ($nm_serie) { $this->addDetalhe(array("Série", "{$nm_serie}")); } if ($nm_turma) { $this->addDetalhe(array("Turma", "{$nm_turma}")); } if ($qtd_modulos) { $this->addDetalhe(array("Quantidade de Módulos", "{$qtd_modulos}")); } $obj_matricula = new clsPmieducarMatricula($registro["ref_cod_matricula"]); $det_matricula = $obj_matricula->detalhe(); $modulo = $det_matricula["modulo"]; $aprovado = $det_matricula["aprovado"]; $ano_matricula = $det_matricula["ano"]; $max_qtd_nota = 0; $min_qtd_nota = 10; //************************************* DETALHE - MATRICULADO NUMA SERIE *************************************// if ($registro["ref_ref_cod_serie"]) { $obj_dispensa = new clsPmieducarDispensaDisciplina(); $lst_dispensa = $obj_dispensa->lista($registro["ref_cod_matricula"], $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], null, null, null, null, null, null, null, null, 1); if (is_array($lst_dispensa)) { foreach ($lst_dispensa as $key => $disciplina) { $dispensa[$disciplina["ref_cod_disciplina"]] = $disciplina["ref_cod_disciplina"]; } } $obj_esd = new clsPmieducarEscolaSerieDisciplina(); $obj_esd->setOrderby("nm_disciplina"); $lst_disciplinas = $obj_esd->lista($registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], null, 1, true); if ($lst_disciplinas) { foreach ($lst_disciplinas as $disciplinas) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $qtd_notas = $obj_nota_aluno->getQtdNotas(null, null, $disciplinas["ref_cod_disciplina"], $this->ref_cod_matricula); if ($max_qtd_nota < $qtd_notas) { $max_qtd_nota = $qtd_notas; } if ($min_qtd_nota > $qtd_notas) { $min_qtd_nota = $qtd_notas; } } } if (is_array($lst_disciplinas)) { $tabela = "<table>\n\t\t\t\t\t\t <tr align='center'>\n\t\t\t\t\t\t <td rowspan='2' bgcolor='#a1b3bd'><b>Nome</b></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Exame</b></td>"; } else { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Módulo {$i}</b></td>"; } } $tabela .= "</tr>"; $tabela .= "<tr align=center>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Nota</b></td>"; } else { $tabela .= "<td bgcolor='#a1b3bd'><b>Nota</b></td><td bgcolor='#a1b3bd'><b>Faltas</b></td>"; } } $tabela .= "</tr>"; $cont = 0; $qtd_disciplinas = count($lst_disciplinas); $prim_disciplina = false; foreach ($lst_disciplinas as $valor) { // echo "<pre>"; print_r($lst_disciplinas); die(); $parar = false; if (!strcmp($valor["nm_disciplina"], "Matemática")) { $parar = true; } if (!$dispensa[$valor["ref_cod_disciplina"]]) { if ($cont % 2 == 0) { $color = " bgcolor='#E4E9ED' "; } else { $color = " bgcolor='#FFFFFF' "; } unset($notas_aluno); $obj_nota_aluno = new clsPmieducarNotaAluno(); $obj_nota_aluno->setOrderby("modulo ASC"); $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], $valor["ref_cod_disciplina"], $registro["ref_cod_matricula"], null, null, null, null, null, null, 1); if (is_array($lst_nota_aluno)) { foreach ($lst_nota_aluno as $key => $nota_aluno) { if ($nota_aluno['nota']) { $notas_aluno[] = $nota_aluno["nota"]; } else { $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]); $det_avaliacao_valores = $obj_avaliacao_valores->detalhe(); $notas_aluno[] = $det_avaliacao_valores["nome"]; } } } unset($faltas_aluno); if ($falta_ch_globalizada) { $obj_faltas = new clsPmieducarFaltas(); $obj_faltas->setOrderby("sequencial asc"); $lst_faltas = $obj_faltas->lista($registro["ref_cod_matricula"]); if (is_array($lst_faltas)) { foreach ($lst_faltas as $key => $faltas) { $faltas_aluno[] = $faltas['falta']; } } } else { $obj_falta_aluno = new clsPmieducarFaltaAluno(); $obj_falta_aluno->setOrderby("cod_falta_aluno ASC"); $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], $valor["ref_cod_disciplina"], $registro["ref_cod_matricula"], null, null, null, null, null, 1); if (is_array($lst_falta_aluno)) { foreach ($lst_falta_aluno as $key => $falta_aluno) { $faltas_aluno[] = $falta_aluno["faltas"]; } } } $obj_disciplina = new clsPmieducarDisciplina($valor["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); $nm_disciplina = $det_disciplina["nm_disciplina"]; $apura_falta = $det_disciplina["apura_falta"]; $tabela .= "<tr align='left'>\n\t\t\t\t\t\t\t\t\t <td {$color} align='left'>{$nm_disciplina}</td>"; for ($i = 0; $i < $max_qtd_nota; $i++) { if ($qtd_modulos - 1 < $i) { if ($notas_aluno[$i]) { $notas_aluno[$i] = number_format($notas_aluno[$i], 2, ",", "."); $tabela .= "<td align='center' colspan='2' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' colspan='2' {$color} align='left'>-</td>"; } } else { if ($notas_aluno[$i]) { $tabela .= "<td align='center' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } if ($falta_ch_globalizada && !$prim_disciplina) { $tabela .= "<td align='center' rowspan='{$qtd_disciplinas}' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { if (!$falta_ch_globalizada) { if (is_numeric($faltas_aluno[$i])) { $tabela .= "<td align='center' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } } } } } $prim_disciplina = true; $tabela .= "</tr>"; $cont++; } } if (!$ano_letivo || $ano_letivo == $ano_matricula) { if ($max_qtd_nota > 0) { $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t\t <td align='center'></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { //if ( ($max_qtd_nota != $min_qtd_nota) && ($min_qtd_nota < $i) && ($qtd_modulos >= $modulo) && false) if (!$det_ref_cod_curso['edicao_final']) { $tabela .= "<td colspan='2'></td>"; } else { $tabela .= "<td align='center' colspan='2' bgcolor='#a1b3bd' align='center'><a href='educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$i}'>Editar</a></td>"; } } $tabela .= "</tr>"; } } $tabela .= "</table>"; } } else { $obj_disciplinas = new clsPmieducarDisciplina(); $obj_disciplina->setOrderby("nm_disciplina"); $lst_disciplinas = $obj_disciplinas->lista(null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $registro["ref_cod_curso"]); foreach ($lst_disciplinas as $disciplinas) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $qtd_notas = $obj_nota_aluno->getQtdNotas(null, null, null, $this->ref_cod_matricula, $disciplinas["cod_disciplina"]); if ($max_qtd_nota < $qtd_notas) { $max_qtd_nota = $qtd_notas; } } if (is_array($lst_disciplinas)) { $tabela = "<table>\n\t\t\t\t\t\t <tr align='center'>\n\t\t\t\t\t\t <td rowspan='2' bgcolor='#a1b3bd'><b>Nome</b></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Exame</b></td>"; } else { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Módulo {$i}</b></td>"; } } $tabela .= "</tr>"; $tabela .= "<tr align=center>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Nota</b></td>"; } else { $tabela .= "<td bgcolor='#a1b3bd'><b>Nota</b></td><td bgcolor='#a1b3bd'><b>Faltas</b></td>"; } } $tabela .= "</tr>"; $cont = 0; $qtd_disciplinas = count($lst_disciplinas); $prim_disciplina = false; foreach ($lst_disciplinas as $valor) { if ($cont % 2 == 0) { $color = " bgcolor='#E4E9ED' "; } else { $color = " bgcolor='#FFFFFF' "; } unset($notas_aluno); $obj_nota_aluno = new clsPmieducarNotaAluno(); $obj_nota_aluno->setOrderby("modulo ASC"); $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, null, null, null, $registro["ref_cod_matricula"], null, null, null, null, null, null, 1, null, $valor["cod_disciplina"]); if (is_array($lst_nota_aluno)) { foreach ($lst_nota_aluno as $key => $nota_aluno) { if ($nota_aluno['nota']) { $notas_aluno[] = $nota_aluno["nota"]; } else { $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]); $det_avaliacao_valores = $obj_avaliacao_valores->detalhe(); $notas_aluno[] = $det_avaliacao_valores["nome"]; } } } unset($faltas_aluno); if ($falta_ch_globalizada) { $obj_faltas = new clsPmieducarFaltas(); $lst_faltas = $obj_faltas->lista($registro["ref_cod_matricula"]); if (is_array($lst_faltas)) { foreach ($lst_faltas as $key => $faltas) { $faltas_aluno[] = $faltas['falta']; } } } else { $obj_falta_aluno = new clsPmieducarFaltaAluno(); $obj_falta_aluno->setOrderby("cod_falta_aluno ASC"); $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, null, null, null, $registro["ref_cod_matricula"], null, null, null, null, null, 1, null, $valor["cod_disciplina"]); if (is_array($lst_falta_aluno)) { foreach ($lst_falta_aluno as $key => $falta_aluno) { $faltas_aluno[] = $falta_aluno["faltas"]; } } } $nm_disciplina = $valor["nm_disciplina"]; $apura_falta = $valor["apura_falta"]; $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t <td {$color} align='center'>{$nm_disciplina}</td>"; for ($i = 0; $i < $max_qtd_nota; $i++) { if ($qtd_modulos - 1 < $i) { if ($notas_aluno[$i]) { $notas_aluno[$i] = number_format($notas_aluno[$i], 2, ",", "."); $tabela .= "<td align='center' colspan='2' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' colspan='2' {$color} align='left'>-</td>"; } } else { if ($notas_aluno[$i]) { $tabela .= "<td align='center' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } if ($falta_ch_globalizada && !$prim_disciplina) { $tabela .= "<td align='center' rowspan='{$qtd_disciplinas}' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { if (!$falta_ch_globalizada) { if (is_numeric($faltas_aluno[$i])) { $tabela .= "<td align='center' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } } } } } $prim_disciplina = true; $tabela .= "</tr>"; $cont++; } if ($max_qtd_nota > 0) { $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t <td align='center'></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { //if ( ($max_qtd_nota != $min_qtd_nota) && ($min_qtd_nota < $i) && ($qtd_modulos <= $modulo) ) if (!$det_ref_cod_curso['edicao_final']) { $tabela .= "<td colspan='2'></td>"; } else { $tabela .= "<td align='center' colspan='2' bgcolor='#a1b3bd' align='center'><a href='educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$i}'>Editar</a></td>"; } } $tabela .= "</tr>"; } $tabela .= "</table>"; } } if ($tabela) { $this->addDetalhe(array("Disciplina", "{$tabela}")); } if ($aprovado) { if ($aprovado == 1) { $aprovado_ = "Aprovado"; } elseif ($aprovado == 2) { $aprovado_ = "Reprovado"; } elseif ($aprovado == 3) { if ($qtd_modulos < $modulo) { $aprovado_ = "Em Exame"; } else { $aprovado_ = "Em Andamento"; } } $this->addDetalhe(array("Situação", "{$aprovado_}")); } if ($obj_permissoes->permissao_cadastra(642, $this->pessoa_logada, 7)) { if ($qtd_modulos >= $modulo && $aprovado == 3) { $this->array_botao = array("Nova Nota/Falta"); $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}"); } elseif ($qtd_modulos < $modulo && $aprovado == 3) { $this->array_botao = array("Nota Exame"); if ($qtd_modulos < $max_qtd_nota) { $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$max_qtd_nota}"); } else { $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}"); } } } $this->url_cancelar = "educar_falta_nota_aluno_lst.php"; $this->largura = "100%"; }
function Novo() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra(650, $this->pessoa_logada, 7, "educar_turma_mvto_det.php"); $this->lst_matriculas = unserialize(urldecode($_POST["lst_matriculas"])); $this->cod_disciplinas = unserialize(urldecode($_POST["cod_disciplinas"])); $this->lst_apura_falta = unserialize(urldecode($_POST["lst_apura_falta"])); if (is_array($this->lst_matriculas)) { // Verifica se o professor aprovou ou reprovou algum aluno if ($this->classifica == "S") { $obj_nota_aluno = new clsPmieducarNotaAluno(); $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true, true); if ($lst_exame) { foreach ($lst_exame as $exame) { $obj_matricula = new clsPmieducarMatricula($exame["ref_ref_cod_matricula"]); $det_matricula = $obj_matricula->detalhe(); if ($det_matricula) { $obj_aluno = new clsPmieducarAluno($det_matricula["ref_cod_aluno"]); $det_aluno = $obj_aluno->detalhe(); if ($det_aluno) { $campo_aprovacao = "aprovacao_{$det_aluno["ref_idpes"]}_"; $campo_aluno = "nm_aluno_{$det_aluno["ref_idpes"]}"; } } if (isset($this->{$campo_aluno})) { // Verifica se a média é maior ou igual a média mínima e se foi aprovado pelo professor if ($exame["media"] >= $this->media && $this->{$campo_aprovacao} == "on") { // Verifica se o aluno não foi reprovado ou deixado em exame if ($aprovado[$exame["ref_ref_cod_matricula"]] != "N" && $aprovado[$exame["ref_ref_cod_matricula"]] != "R") { $aprovado[$exame["ref_ref_cod_matricula"]] = "S"; } } else { if ($exame["media"] < $this->media && $this->{$campo_aprovacao} == "on") { // Verifica se o aluno não foi reprovado if ($aprovado[$exame["ref_ref_cod_matricula"]] != "N") { $aprovado[$exame["ref_ref_cod_matricula"]] = "R"; } } else { $aprovado[$exame["ref_ref_cod_matricula"]] = "N"; } } } } if (is_array($aprovado)) { foreach ($aprovado as $matricula => $verificador) { // Verifica se o aluno foi aprovado ou deixado em exame if ($verificador == "S" || $verificador == "R") { $obj_matricula = new clsPmieducarMatricula($matricula); $det_matricula = $obj_matricula->detalhe(); // Verifica se a matrícula aida está em andamento if ($det_matricula["aprovado"] == 3) { $obj_historico = new clsPmieducarHistoricoEscolar(); $lst_historico = $obj_historico->lista($matricula); $seq = count($lst_historico) + 1; $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1); $det_ano_letivo = $obj_ano_letivo->detalhe(); $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola); $det_escola = $obj_escola->detalhe(); // Verifica se o aluno foi aprovado if ($verificador == "S") { $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 1, null, null, 1); if ($obj_historico->cadastra()) { $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 1); $obj_matricula->edita(); } else { $this->mensagem = "Falha ao cadastrar o historico!<br>"; } } else { if ($verificador == "R") { $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 7); if (!$obj_matricula->edita()) { $this->mensagem = "Falha ao editar a matricula!<br>"; } } } } } else { $obj_matricula = new clsPmieducarMatricula($matricula); $det_matricula = $obj_matricula->detalhe(); // Verifica se a matricula ainda está em andamento if ($det_matricula["aprovado"] == 3) { $obj_historico = new clsPmieducarHistoricoEscolar(); $lst_historico = $obj_historico->lista($matricula); $seq = count($lst_historico) + 1; $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1); $det_ano_letivo = $obj_ano_letivo->detalhe(); $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola); $det_escola = $obj_escola->detalhe(); // Verifica se o aluno foi reprovado if ($verificador == "N") { $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 2, null, null, 1); if ($obj_historico->cadastra()) { $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 2); if (!$obj_matricula->edita()) { $this->mensagem = "Falha ao alterar a matricula!<br>"; } } else { $this->mensagem = "Falha ao cadastrar o historico!<br>"; } } } } } } } header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}"); die; } else { foreach ($this->lst_matriculas as $matriculas) { // Verifica se o ano letivo ainda está em andamento if ($this->num_modulo <= $this->qtd_modulos) { // Verifica se a disciplina apura falta if ($this->lst_apura_falta[$this->ref_cod_disciplina] == 1) { $campo_falta = "faltas_{$matriculas[1]}"; } else { if ($this->falta_ch_globalizada == 1) { $campo_falta = "faltas_{$matriculas[1]}"; } } $campo_nota = "nota_{$matriculas[1]}"; $obj_mat_tur = new clsPmieducarMatriculaTurma(); $lst_mat_tur = $obj_mat_tur->lista($matriculas[2], $this->ref_cod_turma, null, null, null, null, null, null, 1); $sequencial = 0; //echo "<pre>"; //print_r( $lst_mat_tur ); if (is_array($lst_mat_tur)) { foreach ($lst_mat_tur as $registro) { if ($sequencial == 0) { $sequencial = $registro["sequencial"]; } else { if ($sequencial < $registro["sequencial"]) { $sequencial = $registro["sequencial"]; } } } //$sequencial = ( count( $lst_mat_tur ) ); //$sequencial = $lst_mat_tur["sequencial"]; } else { $this->mensagem = "Erro no cadastro de nota!<br>"; } $obj_nota_aluno = new clsPmieducarNotaAluno(null, $this->{$campo_nota}, $this->ref_cod_tipo_avaliacao, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $this->ref_cod_turma, $matriculas[2], $this->ref_cod_turma, null, $this->pessoa_logada, null, null, 1, $sequencial); if (!$obj_nota_aluno->cadastra()) { $this->mensagem = "Erro no cadastro de nota!<br>"; } // Verifica se a falta não é globalizada if ($this->falta_ch_globalizada == 0) { // Verifica se a disciplina apura falta if ($this->lst_apura_falta[$this->ref_cod_disciplina] == 1) { // Verifica se o aluno possui alguma falta if ($this->{$campo_falta} > 0) { $obj_falta_aluno = new clsPmieducarFaltaAluno(null, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $this->ref_cod_turma, $this->ref_cod_turma, $matriculas[2], $this->{$campo_falta}, null, null, 1, $sequencial); if (!$obj_falta_aluno->cadastra()) { $this->mensagem = "Erro no cadastro de falta!<br>"; } } } } else { if ($this->falta_ch_globalizada == 1) { // Verifica se o aluno possui alguma falta if ($this->{$campo_falta} > 0) { $obj_faltas = new clsPmieducarFaltas(); $lst_faltas = $obj_faltas->lista($matriculas[2]); $sequencial = count($lst_faltas) + 1; $obj_faltas = new clsPmieducarFaltas($matriculas[2], $sequencial, $this->pessoa_logada, $this->{$campo_falta}); if (!$obj_faltas->cadastra()) { $this->mensagem = "Erro no cadastro de falta!<br>"; } } } } } } // Verifica se a turma está no último módulo if ($this->qtd_modulos == $this->num_modulo) { $obj_matricula_turma = new clsPmieducarMatriculaTurma(); $lst_matricula_turma = $obj_matricula_turma->lista(null, $this->ref_cod_turma, null, null, null, null, null, null, 1); if ($lst_matricula_turma) { foreach ($lst_matricula_turma as $matricula) { $obj_nota_aluno = new clsPmieducarNotaAluno(); // Busca se todas as notas já foram dadas para o aluno $todas_notas = $obj_nota_aluno->todasNotas($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->num_modulo, $matricula["ref_cod_matricula"]); // Verifica se todas as notas já foram dadas para o aluno if ($todas_notas == 'S') { if ($this->conceitual == 0) { // Carrega as médias de cada disciplina do aluno $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true); if ($lst_exame) { foreach ($lst_exame as $exame) { if ($exame["ref_ref_cod_matricula"] == $matricula["ref_cod_matricula"]) { // Verifica se a média do aluno é igual ou superior a média mínima e se a freqüência do aluno é igual ou maior que a freqüência mínima if ($exame["media"] >= $this->media && 100 - $exame["faltas"] >= $this->frequencia_minima) { // Verifica se o aluno não foi reprovado ou deixado de recuperação if ($aprovado[$exame["ref_ref_cod_matricula"]] != "N" && $aprovado[$exame["ref_ref_cod_matricula"]] != "R") { $aprovado[$exame["ref_ref_cod_matricula"]] = "S"; } } else { if ($exame["media"] < $this->media && 100 - $exame["faltas"] >= $this->frequencia_minima) { // Verifica se o aluno não foi reprovado if ($aprovado[$exame["ref_ref_cod_matricula"]] != "N") { $aprovado[$exame["ref_ref_cod_matricula"]] = "R"; } } else { $aprovado[$exame["ref_ref_cod_matricula"]] = "N"; } } } } } } if ($this->conceitual == 1) { $obj_aluno = new clsPmieducarAluno($matricula["ref_cod_aluno"]); $det_aluno = $obj_aluno->detalhe(); $campo_aprovacao = "aprovacao_{$det_aluno["ref_idpes"]}"; if ($this->{$campo_aprovacao} == "S") { $aprovado[$matricula["ref_cod_matricula"]] = "S"; } elseif ($this->{$campo_aprovacao} == "N") { $aprovado[$matricula["ref_cod_matricula"]] = "N"; } } } } } if (is_array($aprovado)) { foreach ($aprovado as $matricula => $verificador) { // Verifica se o aluno foi aprovado ou deixado em exame if ($verificador == "S" || $verificador == "R") { $obj_matricula = new clsPmieducarMatricula($matricula); $det_matricula = $obj_matricula->detalhe(); // Verifica se a matrícula está em andamento if ($det_matricula["aprovado"] == 3) { $obj_historico = new clsPmieducarHistoricoEscolar(); $lst_historico = $obj_historico->lista($matricula); $seq = count($lst_historico) + 1; $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1); $det_ano_letivo = $obj_ano_letivo->detalhe(); $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola); $det_escola = $obj_escola->detalhe(); // Verifica se o aluno foi aprovado if ($verificador == "S") { if ($this->falta_ch_globalizada == 1) { $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 1, null, null, 1, 1); } else { $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 1, null, null, 1, 0); } if ($obj_historico->cadastra()) { $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 1); if ($obj_matricula->edita()) { $this->mensagem = "Falha ao editar a matricula!<br>"; } } else { $this->mensagem = "Falha ao cadastrar o historico!<br>"; } } else { if ($verificador == "R") { $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 7); if (!$obj_matricula->edita()) { $this->mensagem = "Falha ao editar a matricula!<br>"; } } } } } else { if ($verificador == "N" && $this->conceitual == 1) { $obj_matricula = new clsPmieducarMatricula($matricula); $det_matricula = $obj_matricula->detalhe(); if ($det_matricula["aprovado"] == 3) { $obj_historico = new clsPmieducarHistoricoEscolar(); $lst_historico = $obj_historico->lista($matricula); $seq = count($lst_historico) + 1; $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1); $det_ano_letivo = $obj_ano_letivo->detalhe(); $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola); $det_escola = $obj_escola->detalhe(); if ($this->falta_ch_globalizada == 1) { $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 2, null, null, 1, 1); } else { $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 2, null, null, 1, 0); } if ($obj_historico->cadastra()) { $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 2); if ($obj_matricula->edita()) { $this->mensagem = "Falha ao editar a matricula!<br>"; } } else { $this->mensagem = "Falha ao cadastrar o historico!<br>"; } } } } } } $obj_turma_modulo = new clsPmieducarTurmaModulo(); $fimAnoLetivo = $obj_turma_modulo->fimAno($this->ref_cod_turma, $this->qtd_modulos); // $total_notas = $obj_nota_aluno->retornaTotalNotas( $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma ); // if ( $total_notas == ( $this->qtd_modulos * $this->qtd_disciplinas ) ) if ($fimAnoLetivo == "S") { header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}"); die; } else { header("location: educar_turma_nota_cad.php?ref_cod_turma={$this->ref_cod_turma}&ref_ref_cod_escola={$this->ref_ref_cod_escola}&ref_ref_cod_serie={$this->ref_ref_cod_serie}&ref_cod_curso={$this->ref_cod_curso}"); die; } } else { if ($this->exame == "S") { foreach ($this->lst_matriculas as $matriculas) { // Verifica se todos os módulos já terminaram if ($this->num_modulo > $this->qtd_modulos) { $campo_nota = "nota_{$matriculas[1]}"; $obj_mat_tur = new clsPmieducarMatriculaTurma(); $lst_mat_tur = $obj_mat_tur->lista($matriculas[2], $this->ref_cod_turma, null, null, null, null, null, null, 1); if (is_array($lst_mat_tur)) { //$sequencial = ( count( $lst_mat_tur ) ); $sequencial = $lst_mat_tur["sequencial"]; } else { $this->mensagem = "Erro no cadastro de nota!<br>"; } $obj_nota_aluno = new clsPmieducarNotaAluno(null, $this->{$campo_nota}, $this->ref_cod_tipo_avaliacao, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $this->ref_cod_turma, $matriculas[2], $this->ref_cod_turma, null, $this->pessoa_logada, null, null, 1, $sequencial); if (!$obj_nota_aluno->cadastra()) { $this->mensagem = "Erro no cadastro de nota!<br>"; } $obj_nota_aluno = new clsPmieducarNotaAluno(); $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true, false, true); $obj_turma_disciplina = new clsPmieducarTurmaDisciplina(); // Carrega o código das disciplinas da turma $lst_turma_disciplina = $obj_turma_disciplina->lista($this->ref_cod_turma); if (is_array($lst_turma_disciplina)) { // Carrega a quantidade de disciplinas da turma $this->qtd_disciplinas = count($lst_turma_disciplina); foreach ($lst_turma_disciplina as $valores) { $obj_disciplina = new clsPmieducarDisciplina($valores["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); if ($det_disciplina) { $obj_dispensa = new clsPmieducarDispensaDisciplina(); $det_dispensa = $obj_dispensa->lista($this->ref_cod_turma, $matriculas[2], $this->ref_cod_turma, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $det_disciplina["cod_disciplina"], null, null, null, null, null, null, null, 1); // Verifica se o aluno não foi dispensado da disciplina if (!is_array($det_dispensa)) { $obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina $lst_notas = $obj_notas->retornaDiscMod($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $det_disciplina["cod_disciplina"], $this->ref_cod_turma, $this->ref_cod_turma, $matriculas[2]); // Carrega a média da disciplina if ($lst_exame) { foreach ($lst_exame as $exame) { if ($exame["disc_ref_ref_cod_disciplina"] == $det_disciplina["cod_disciplina"] && $exame["ref_ref_cod_matricula"] == $matriculas[2]) { $media_disciplina = $exame["media"]; } } } if ($lst_notas == $this->qtd_modulos) { if ($media_disciplina >= $this->media) { $pula_disciplina = false; } else { $pula_disciplina = true; } } else { $pula_disciplina = true; } if ($pula_disciplina) { if (!is_array($det_dispensa)) { // Verifica se a quantidade de notas por aluno é diferente do número do módulo em que a turma se encontra if ($lst_notas == $this->qtd_modulos + 1) { if ($salva_historico != "N") { $lst_disc_exame[$det_disciplina["cod_disciplina"]] = "S"; $salva_historico = "S"; } } else { $salva_historico = "N"; } } } } } } } if ($salva_historico == "S") { $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos + 1, $this->ref_cod_curso, true, true, false, true); if ($lst_exame) { foreach ($lst_exame as $exame) { if ($exame["ref_ref_cod_matricula"] == $matriculas[2] && $lst_disc_exame[$exame["disc_ref_ref_cod_disciplina"]] == "S") { // Verifica se a média do aluno é igual ou superior a média mínima if ($exame["media"] >= $this->media_exame) { // Verifica se o aluno não foi reprovado if ($aprovado[$exame["ref_ref_cod_matricula"]] != "N") { $aprovado[$exame["ref_ref_cod_matricula"]] = "S"; } } else { $aprovado[$exame["ref_ref_cod_matricula"]] = "N"; } } } } } if (is_array($aprovado)) { foreach ($aprovado as $matricula => $verificador) { // Verifica se o aluno foi aprovado if ($verificador == "S") { $obj_matricula = new clsPmieducarMatricula($matricula); $det_matricula = $obj_matricula->detalhe(); // Verifica se a matrícula está em exame if ($det_matricula["aprovado"] == 7) { $obj_historico = new clsPmieducarHistoricoEscolar(); $lst_historico = $obj_historico->lista($matricula); $seq = count($lst_historico) + 1; $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1); $det_ano_letivo = $obj_ano_letivo->detalhe(); $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola); $det_escola = $obj_escola->detalhe(); // Verifica se o aluno foi aprovado if ($verificador == "S") { if ($this->falta_ch_globalizada == 1) { $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 1, null, null, 1, 1); } else { $obj_historico = new clsPmieducarHistoricoEscolar($det_matricula["ref_cod_aluno"], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 1, null, null, 1, 0); } if ($obj_historico->cadastra()) { $obj_matricula = new clsPmieducarMatricula($det_matricula["cod_matricula"], null, null, null, $this->pessoa_logada, null, null, 1); if ($obj_matricula->edita()) { $this->mensagem = "Falha ao editar a matricula!<br>"; } } else { $this->mensagem = "Falha ao cadastrar o historico!<br>"; } } } } // Verifica se o aluno foi reprovado if ($verificador == "N") { $obj_historico = new clsPmieducarHistoricoEscolar(); $lst_historico = $obj_historico->lista($matriculas[0]); $seq = count($lst_historico) + 1; $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1); $det_ano_letivo = $obj_ano_letivo->detalhe(); $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola); $det_escola = $obj_escola->detalhe(); if ($this->falta_ch_globalizada == 1) { $obj_historico = new clsPmieducarHistoricoEscolar($matriculas[0], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 2, null, null, 1, 1); } else { $obj_historico = new clsPmieducarHistoricoEscolar($matriculas[0], $seq, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $det_ano_letivo["ano"], $this->carga_horaria, null, $det_escola["nm_escola"], $det_escola["municipio"], null, null, 2, null, null, 1, 0); } if ($obj_historico->cadastra()) { $obj_matricula = new clsPmieducarMatricula($matricula, null, null, null, $this->pessoa_logada, null, null, 2); if (!$obj_matricula->edita()) { $this->mensagem = "Falha ao alterar a matricula!<br>"; } } else { $this->mensagem = "Falha ao cadastrar o historico!<br>"; } } } } header("location: educar_turma_nota_cad.php?ref_cod_turma={$this->ref_cod_turma}&ref_ref_cod_escola={$this->ref_ref_cod_escola}&ref_ref_cod_serie={$this->ref_ref_cod_serie}&ref_cod_curso={$this->ref_cod_curso}"); die; } } } } header("location: educar_turma_nota_cad.php?ref_cod_turma={$this->ref_cod_turma}&ref_ref_cod_escola={$this->ref_ref_cod_escola}&ref_ref_cod_serie={$this->ref_ref_cod_serie}&ref_cod_curso={$this->ref_cod_curso}"); die; } } }
function Gerar() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; session_write_close(); // Helper para url $urlHelper = CoreExt_View_Helper_UrlHelper::getInstance(); $this->titulo = 'Dispensa Componente Curricular - Listagem'; // passa todos os valores obtidos no GET para atributos do objeto foreach ($_GET as $var => $val) { $this->{$var} = $val === '' ? NULL : $val; } if (!$_GET['ref_cod_matricula']) { header('Location: educar_matricula_lst.php'); die; } $this->ref_cod_matricula = $_GET['ref_cod_matricula']; $obj_matricula = new clsPmieducarMatricula(); $lst_matricula = $obj_matricula->lista($this->ref_cod_matricula); if (is_array($lst_matricula)) { $det_matricula = array_shift($lst_matricula); $this->ref_cod_instituicao = $det_matricula['ref_cod_instituicao']; $this->ref_cod_escola = $det_matricula['ref_ref_cod_escola']; $this->ref_cod_serie = $det_matricula['ref_ref_cod_serie']; $obj_matricula_turma = new clsPmieducarMatriculaTurma(); $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_serie, NULL, $this->ref_cod_escola); if (is_array($lst_matricula_turma)) { $det = array_shift($lst_matricula_turma); $this->ref_cod_turma = $det['ref_cod_turma']; $this->ref_sequencial = $det['sequencial']; } } $this->campoOculto('ref_cod_turma', $this->ref_cod_turma); $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); $this->addCabecalhos(array('Disciplina', 'Tipo Dispensa', 'Data Dispensa')); // Filtros de Foreign Keys $opcoes = array('' => 'Selecione'); $objTemp = new clsPmieducarTipoDispensa(); if ($this->ref_cod_instituicao) { $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao); } else { $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1); } if (is_array($lista) && count($lista)) { foreach ($lista as $registro) { $opcoes[$registro['cod_tipo_dispensa']] = $registro['nm_tipo']; } } $this->campoLista('ref_cod_tipo_dispensa', 'Motivo', $opcoes, $this->ref_cod_tipo_dispensa, '', FALSE, '', '', FALSE, FALSE); $this->campoOculto('ref_cod_matricula', $this->ref_cod_matricula); // outros Filtros $opcoes = array('' => 'Selecione'); // Escola série disciplina $componentes = App_Model_IedFinder::getComponentesTurma($this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_turma); foreach ($componentes as $componente) { $opcoes[$componente->id] = $componente->nome; } $this->campoLista('ref_cod_disciplina', 'Disciplina', $opcoes, $this->ref_cod_disciplina, '', FALSE, '', '', FALSE, FALSE); // Paginador $this->limite = 20; $this->offset = $_GET['pagina_' . $this->nome] ? $_GET['pagina_' . $this->nome] * $this->limite - $this->limite : 0; $obj_dispensa_disciplina = new clsPmieducarDispensaDisciplina(); $obj_dispensa_disciplina->setOrderby('data_cadastro ASC'); $obj_dispensa_disciplina->setLimite($this->limite, $this->offset); $lista = $obj_dispensa_disciplina->lista($this->ref_cod_matricula, NULL, NULL, $this->ref_cod_disciplina, NULL, NULL, $this->ref_cod_tipo_dispensa, NULL, NULL, NULL, NULL, 1); $total = $obj_dispensa_disciplina->_total; // Mapper de componente curricular $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper(); // monta a lista if (is_array($lista) && count($lista)) { foreach ($lista as $registro) { // muda os campos data $registro['data_cadastro_time'] = strtotime(substr($registro['data_cadastro'], 0, 16)); $registro['data_cadastro_br'] = date('d/m/Y', $registro['data_cadastro_time']); // Tipo da dispensa $obj_ref_cod_tipo_dispensa = new clsPmieducarTipoDispensa($registro['ref_cod_tipo_dispensa']); $det_ref_cod_tipo_dispensa = $obj_ref_cod_tipo_dispensa->detalhe(); $registro['ref_cod_tipo_dispensa'] = $det_ref_cod_tipo_dispensa['nm_tipo']; // Componente curricular $componente = $componenteMapper->find($registro['ref_cod_disciplina']); // Dados para a url $url = 'educar_dispensa_disciplina_det.php'; $options = array('query' => array('ref_cod_matricula' => $registro['ref_cod_matricula'], 'ref_cod_serie' => $registro['ref_cod_serie'], 'ref_cod_escola' => $registro['ref_cod_escola'], 'ref_cod_disciplina' => $registro['ref_cod_disciplina'])); $this->addLinhas(array($urlHelper->l($componente->nome, $url, $options), $urlHelper->l($registro['ref_cod_tipo_dispensa'], $url, $options), $urlHelper->l($registro['data_cadastro_br'], $url, $options))); } } $this->addPaginador2('educar_dispensa_disciplina_lst.php', $total, $_GET, $this->nome, $this->limite); $obj_permissoes = new clsPermissoes(); if ($obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7)) { $this->array_botao_url[] = 'educar_dispensa_disciplina_cad.php?ref_cod_matricula=' . $this->ref_cod_matricula; $this->array_botao[] = 'Novo'; } $this->array_botao_url[] = 'educar_matricula_det.php?cod_matricula=' . $this->ref_cod_matricula; $this->array_botao[] = 'Voltar'; $this->largura = '100%'; }
function Excluir() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_excluir(578, $this->pessoa_logada, 7, 'educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula); $obj = new clsPmieducarDispensaDisciplina($this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina, $this->pessoa_logada, null, $this->ref_cod_tipo_dispensa, NULL, NULL, 0, $this->observacao); $excluiu = $obj->excluir(); if ($excluiu) { $this->mensagem .= 'Exclusão efetuada com sucesso.<br />'; header('Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula); die; } $this->mensagem = 'Exclusão não realizada.<br />'; echo "<!--\nErro ao excluir clsPmieducarDispensaDisciplina\nvalores obrigatorios\nif( is_numeric( {$this->ref_cod_matricula} ) && is_numeric( {$this->ref_cod_serie} ) && is_numeric( {$this->ref_cod_escola} ) && is_numeric( {$this->ref_cod_disciplina} ) && is_numeric( {$this->pessoa_logada} ) )\n-->"; return FALSE; }
function Gerar() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; session_write_close(); $this->titulo = 'Dispensa Componente Curricular - Detalhe'; $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); $this->ref_cod_disciplina = $_GET['ref_cod_disciplina']; $this->ref_cod_matricula = $_GET['ref_cod_matricula']; $this->ref_cod_serie = $_GET['ref_cod_serie']; $this->ref_cod_disciplina = $_GET['ref_cod_disciplina']; $this->ref_cod_escola = $_GET['ref_cod_escola']; $tmp_obj = new clsPmieducarDispensaDisciplina($this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina); $registro = $tmp_obj->detalhe(); if (!$registro) { header('Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula); die; } if (class_exists('clsPmieducarSerie')) { $obj_serie = new clsPmieducarSerie($this->ref_cod_serie); $det_serie = $obj_serie->detalhe(); $registro['ref_ref_cod_serie'] = $det_serie['nm_serie']; } else { $registro['ref_ref_cod_serie'] = 'Erro na geracao'; echo "<!--\nErro\nClasse nao existente: clsPmieducarSerie\n-->"; } // Dados da matrícula $obj_ref_cod_matricula = new clsPmieducarMatricula(); $detalhe_aluno = array_shift($obj_ref_cod_matricula->lista($this->ref_cod_matricula)); $obj_aluno = new clsPmieducarAluno(); $det_aluno = array_shift($obj_aluno->lista($detalhe_aluno['ref_cod_aluno'], NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1)); $obj_escola = new clsPmieducarEscola($this->ref_cod_escola, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1); $det_escola = $obj_escola->detalhe(); $nm_aluno = $det_aluno['nome_aluno']; // Dados do curso $obj_ref_cod_curso = new clsPmieducarCurso($detalhe_aluno['ref_cod_curso']); $det_ref_cod_curso = $obj_ref_cod_curso->detalhe(); $registro['ref_cod_curso'] = $det_ref_cod_curso['nm_curso']; // Tipo de dispensa $obj_ref_cod_tipo_dispensa = new clsPmieducarTipoDispensa($registro['ref_cod_tipo_dispensa']); $det_ref_cod_tipo_dispensa = $obj_ref_cod_tipo_dispensa->detalhe(); $registro['ref_cod_tipo_dispensa'] = $det_ref_cod_tipo_dispensa['nm_tipo']; if ($registro['ref_cod_matricula']) { $this->addDetalhe(array('Matricula', $registro['ref_cod_matricula'])); } if ($nm_aluno) { $this->addDetalhe(array('Aluno', $nm_aluno)); } if ($registro['ref_cod_curso']) { $this->addDetalhe(array('Curso', $registro['ref_cod_curso'])); } if ($registro['ref_ref_cod_serie']) { $this->addDetalhe(array('Série', $registro['ref_ref_cod_serie'])); } if ($registro['ref_cod_disciplina']) { $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper(); $componente = $componenteMapper->find($registro['ref_cod_disciplina']); $this->addDetalhe(array('Componente Curricular', $componente->nome)); } if ($registro['ref_cod_tipo_dispensa']) { $this->addDetalhe(array('Tipo Dispensa', $registro['ref_cod_tipo_dispensa'])); } if ($registro['observacao']) { $this->addDetalhe(array('Observação', $registro['observacao'])); } $obj_permissoes = new clsPermissoes(); if ($obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7)) { $this->url_novo = sprintf('educar_dispensa_disciplina_cad.php?ref_cod_matricula=%d', $this->ref_cod_matricula); $this->url_editar = sprintf('educar_dispensa_disciplina_cad.php?ref_cod_matricula=%d&ref_cod_disciplina=%d', $registro['ref_cod_matricula'], $registro['ref_cod_disciplina']); } $this->url_cancelar = 'educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula; $this->largura = '100%'; }
/** * Cria um boletim em HTML para a matricula $matricula * * @param int $matricula * @return array */ function getBoletimAluno($matricula, $ano) { $media = false; $reprovado = 0; $falta_globalizada = 0; $array_status = array("Aprovado", "Reprovado", "Reprovado por faltas"); $objCurso = new clsPmieducarCurso($this->ref_cod_curso); $detalhe_curso = $objCurso->detalhe(); // monta o boletim do aluno $cor = array("#ffffff", "#dce6f1"); $corDest = array("#e1c9c9", "#efe7e7"); $boletim = "\n\t\t<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" style=\"border-width:2px;color#00000;border-style:solid;\">\n\t\t\t<tr bgcolor=\"#ffffff\">\n\t\t\t\t<td rowspan=\"2\" class=\"cell_normal\" align=\"center\">Disciplina</td>\n\t\t"; $linha2 = "<tr bgcolor=\"#ffffff\">"; $objTurmaModulo = new clsPmieducarAnoLetivoModulo(); $objTurmaModulo->setOrderby("sequencial ASC"); $lista_modulos = $objTurmaModulo->lista($ano, $this->ref_ref_cod_escola); if (is_array($lista_modulos)) { foreach ($lista_modulos as $modulo) { $objModulo = new clsPmieducarModulo($modulo["ref_cod_modulo"]); $detModulo = $objModulo->detalhe(); $boletim .= "<td colspan=\"2\" class=\"cell_separa\" align=\"center\">{$detModulo["nm_tipo"]}</td>"; $linha2 .= "\n\t\t\t\t<td class=\"cell_separa\" align=\"center\" width=\"40\">Nota</td>\n\t\t\t\t<td class=\"cell_normal\" align=\"center\" width=\"40\">Faltas</td>\n\t\t\t\t"; } } if (!is_null($detalhe_curso["media_exame"])) { $boletim .= "<td class=\"cell_separa\" align=\"center\">Exame</td>"; $linha2 .= "<td class=\"cell_separa\" align=\"center\">Nota</td>"; } $boletim .= "<td colspan=\"2\" class=\"cell_separa\" align=\"center\">Resultado</td>\n\t\t</tr>\n\t\t"; $linha2 .= "<td class=\"cell_separa\" align=\"center\" width=\"40\">Media</td><td class=\"cell_normal\" align=\"center\" width=\"40\">Faltas</td></tr>"; $boletim .= $linha2; $i = 0; $objDisciplinaSerie = new clsPmieducarDisciplinaSerie(); $lstDisciplinas = $objDisciplinaSerie->lista(null, $this->ref_ref_cod_serie, 1); foreach ($lstDisciplinas as $disciplina) { $i++; $faltas_total = 0; $notas_total = 0; $objDispensa = new clsPmieducarDispensaDisciplina($matricula, $disciplina["ref_cod_serie"], $this->ref_ref_cod_escola, $disciplina["ref_cod_disciplina"]); $dispensa = $objDispensa->existe(); $objDisciplina = new clsPmieducarDisciplina($disciplina["ref_cod_disciplina"]); $detDisciplina = $objDisciplina->detalhe(); $boletim .= "\n\t\t\t<tr>\n\t\t\t\t<td bgcolor=\"" . $cor[$i % 2] . "\" class=\"cell_normal\">{$detDisciplina["nm_disciplina"]}</td>\n\t\t\t"; if (is_array($lista_modulos)) { reset($lista_modulos); foreach ($lista_modulos as $modulo) { if ($dispensa) { $boletim .= "\n\t\t\t\t\t\t<td bgcolor=\"" . $cor[$i % 2] . "\" class=\"cell_separa\" colspan=\"2\" align=\"center\">dispensa</td>\n\t\t\t\t\t\t"; } else { // pegando a falta desse modulo $faltas = 0; $objFaltaAluno = new clsPmieducarFaltaAluno(); $objFaltaAluno->setOrderby("data_cadastro DESC"); $objFaltaAluno->setLimite(1); $lista_faltas = $objFaltaAluno->lista(null, null, null, $disciplina["ref_cod_serie"], $this->ref_ref_cod_escola, $disciplina["ref_cod_disciplina"], $matricula, null, null, null, null, null, 1, $modulo["sequencial"]); if (is_array($lista_faltas)) { foreach ($lista_faltas as $falta_modulo) { $faltas = $falta_modulo["faltas"]; } } $nota = null; $objNotaAluno = new clsPmieducarNotaAluno(); $objNotaAluno->setOrderby("data_cadastro DESC"); $objNotaAluno->setLimite(1); // echo "<br><br><br>null,null,null,{$this->ref_ref_cod_serie},{$this->ref_ref_cod_escola},{$disciplina["ref_cod_disciplina"]},{$matricula},null,null,null,null,null,1,{$modulo["sequencial"]}\n<br>\n"; $lista_notas = $objNotaAluno->lista(null, null, null, $disciplina["ref_cod_serie"], $this->ref_ref_cod_escola, $disciplina["ref_cod_disciplina"], $matricula, null, null, null, null, null, null, 1, $modulo["sequencial"]); // print_r($lista_notas); // echo "<br>"; if (is_array($lista_notas)) { foreach ($lista_notas as $nota_modulo) { $objNotaValor = new clsPmieducarTipoAvaliacaoValores($nota_modulo["ref_ref_cod_tipo_avaliacao"], $nota_modulo["ref_sequencial"]); // echo "{$nota_modulo["ref_ref_cod_tipo_avaliacao"]},{$nota_modulo["ref_sequencial"]}\n<br>\n"; $det_nota_valor = $objNotaValor->detalhe(); $nota = $det_nota_valor["nome"]; $notas_total += $det_nota_valor["valor"]; } unset($lista_notas); } $nota = $nota ? $nota : " "; $faltas = $faltas ? $faltas : 0; $faltas_total += $faltas; $boletim .= "\n\t\t\t\t\t\t<td bgcolor=\"" . $cor[$i % 2] . "\" class=\"cell_separa\">{$nota}</td>\n\t\t\t\t\t\t<td bgcolor=\"" . $cor[$i % 2] . "\" class=\"cell_normal\">{$faltas}</td>\n\t\t\t\t\t\t"; } } $media = $notas_total / count($lista_modulos); $media_aprovacao = $detalhe_curso["media"]; if (!is_null($detalhe_curso["media_exame"])) { // o curso tem exame if ($dispensa) { $boletim .= "\n\t\t\t\t\t\t<td bgcolor=\"" . $cor[$i % 2] . "\" class=\"cell_separa\" align=\"center\">dispensa</td>\n\t\t\t\t\t\t"; } else { // echo count($lista_modulos); $objNotaAluno = new clsPmieducarNotaAluno(); $objNotaAluno->setLimite(1); $objNotaAluno->setOrderby("data_cadastro DESC"); $listaNotas = $objNotaAluno->lista(null, null, null, $disciplina["ref_cod_serie"], null, $disciplina["ref_cod_disciplina"], $matricula, null, null, null, null, null, null, null, count($lista_modulos) + 1); if ($listaNotas) { // ja recebeu a nota do exame foreach ($listaNotas as $nota_exame) { $objNotaValor = new clsPmieducarTipoAvaliacaoValores($nota_exame["ref_ref_cod_tipo_avaliacao"], $nota_exame["ref_sequencial"]); $detNotaValor = $objNotaValor->detalhe(); $nota_exame = $detNotaValor["nome"]; // print_r($detNotaValor); $notas_total += $detNotaValor["valor"]; $nota_exame = $nota_exame ? $nota_exame : "-"; $boletim .= "<td bgcolor=\"" . $cor[$i % 2] . "\" class=\"cell_separa\">{$nota_exame}</td>"; } $media = $notas_total / (count($lista_modulos) + 1); $media_aprovacao = $detalhe_curso["media_exame"]; } else { $nota_exame = $nota_exame ? $nota_exame : "-"; $boletim .= "<td bgcolor=\"" . $cor[$i % 2] . "\" class=\"cell_separa\">-</td>"; } } } if ($media !== false) { $objNotaValor = new clsPmieducarTipoAvaliacaoValores(); $objNotaValor->setLimite(1); $objNotaValor->setOrderby("valor DESC"); $notas_media = $objNotaValor->lista($detalhe_curso["ref_cod_tipo_avaliacao"], null, null, null, $media, $media); foreach ($notas_media as $nota_media) { $media = $nota_media["nome"]; if ($nota_media["valor"] < $media_aprovacao) { $reprovado = 1; } } } else { $media = " "; } if ($dispensa) { $boletim .= "\n\t\t\t\t\t<td bgcolor=\"" . $cor[$i % 2] . "\" class=\"cell_separa\" colspan=\"2\" align=\"center\">dispensa</td>\n\t\t\t\t\t"; } else { $boletim .= "\n\t\t\t\t\t<td bgcolor=\"" . $cor[$i % 2] . "\" class=\"cell_separa\">{$media}</td>\n\t\t\t\t\t<td bgcolor=\"" . $cor[$i % 2] . "\" class=\"cell_normal\">{$faltas_total}</td>\n\t\t\t\t\t"; } } if (!$detalhe_curso["falta_ch_globalizada"] && $maximo_faltas != "Ilimitado") { if ($faltas_total > $maximo_faltas) { $reprovado = 2; } } $falta_globalizada += $faltas_total; } if ($detalhe_curso["falta_ch_globalizada"] && $maximo_faltas != "Ilimitado") { if ($falta_globalizada > $maximo_faltas) { $reprovado = 2; } } $boletim .= "</table>"; return array("boletim" => $boletim, "automatico" => $array_status[$reprovado]); }