function renderHTML() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; $_SESSION['calendario']['ultimo_valido'] = 0; $obj_permissoes = new clsPermissoes(); if ($obj_permissoes->nivel_acesso($this->pessoa_logada) > 7) { $retorno .= ' <table width="100%" height="40%" cellspacing="1" cellpadding="2" border="0" class="tablelistagem"> <tbody>'; $retorno .= ' <tr> <td colspan="2" valig="center" height="50"> <center class="formdktd">Usuário sem permissão para acessar esta página</center> </td> </tr>'; $retorno .= ' </tbody> </table>'; return $retorno; } $retorno .= ' <table width="100%" cellspacing="1" cellpadding="2" border="0" class="tablelistagem"> <tbody>'; if ($_POST) { $this->ref_cod_escola = $_POST['ref_cod_escola'] ? $_POST['ref_cod_escola'] : $_SESSION['calendario']['ref_cod_escola']; $this->ref_cod_instituicao = $_POST['ref_cod_instituicao'] ? $_POST['ref_cod_instituicao'] : $_SESSION['calendario']['ref_cod_instituicao']; if ($_POST['mes']) { $this->mes = $_POST['mes']; } if ($_POST['ano']) { $this->ano = $_POST['ano']; } if ($_POST['cod_calendario_ano_letivo']) { $this->cod_calendario_ano_letivo = $_POST['cod_calendario_ano_letivo']; } } elseif (isset($_SESSION['calendario'])) { // passa todos os valores em SESSION para atributos do objeto foreach ($_SESSION['calendario'] as $var => $val) { $this->{$var} = $val === '' ? NULL : $val; } } if ($_GET) { header('Location: educar_calendario_ano_letivo_lst.php'); } if (!$this->mes) { $this->mes = date('n'); } if (!$this->ano) { $this->ano = date('Y'); } $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada); if (!$this->ref_cod_escola) { $this->ref_cod_escola = $obj_permissoes->getEscola($this->pessoa_logada); } if (!$this->ref_cod_instituicao) { $this->ref_cod_instituicao = $obj_permissoes->getInstituicao($this->pessoa_logada); } $get_escola = 1; $obrigatorio = FALSE; include 'educar_calendario_pesquisas.php'; $obj_calendario_ano_letivo = new clsPmieducarCalendarioAnoLetivo(); $obj_calendario_ano_letivo->setOrderby('ano ASC'); $obj_calendario_ano_letivo->setLimite($this->limite, $this->offset); $lista = array(); $obj_calendario_ano_letivo->setOrderby('ano'); switch ($nivel_usuario) { // Poli-institucional case 1: case 2: case 4: if (!isset($this->ref_cod_escola)) { break; } $lista = $obj_calendario_ano_letivo->lista($this->cod_calendario_ano_letivo, $this->ref_cod_escola, NULL, NULL, !isset($this->cod_calendario_ano_letivo) ? $this->ano : NULL, NULL, NULL, 1); break; } $total = $obj_calendario_ano_letivo->_total; if (empty($lista)) { if ($nivel_usuario == 4) { $retorno .= '<tr><td colspan="2" align="center" class="formdktd">Sem Calendário Letivo</td></tr>'; } else { if ($_POST) { $retorno .= '<tr><td colspan="2" align="center" class="formdktd">Sem Calendário para o ano selecionado</td></tr>'; } else { $retorno .= '<tr><td colspan="2" align="center" class="formdktd">Selecione uma escola para exibir o calendário</td></tr>'; } } } // Monta a lista if (is_array($lista) && count($lista)) { foreach ($lista as $key => $registro) { // Guarda dados na $_SESSION $_SESSION['calendario'] = array('cod_calendario_ano_letivo' => $registro['cod_calendario_ano_letivo'], 'ref_cod_instituicao' => $this->ref_cod_instituicao, 'ref_cod_escola' => $this->ref_cod_escola, 'ano' => $this->ano, 'mes' => $this->mes); // Nome da escola $obj_ref_cod_escola = new clsPmieducarEscola($registro['ref_cod_escola']); $det_ref_cod_escola = $obj_ref_cod_escola->detalhe(); $registro['nm_escola'] = $det_ref_cod_escola['nome']; // Início e término do ano letivo. $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $inicio_ano = $obj_ano_letivo_modulo->menorData($registro['ano'], $this->ref_cod_escola); $fim_ano = $obj_ano_letivo_modulo->maiorData($registro['ano'], $this->ref_cod_escola); $inicio_ano = explode('/', dataFromPgToBr($inicio_ano)); $fim_ano = explode('/', dataFromPgToBr($fim_ano)); // Turmas da escola $turmas = App_Model_IedFinder::getTurmas($registro['ref_cod_escola']); // Mapper de Calendario_Model_TurmaDataMapper $calendarioTurmaMapper = new Calendario_Model_TurmaDataMapper(); $obj_calendario = new clsCalendario(); $obj_calendario->setLargura(600); $obj_calendario->permite_trocar_ano = TRUE; $obj_calendario->setCorDiaSemana(array(0, 6), 'ROSA'); $obj_dia_calendario = new clsPmieducarCalendarioDia($registro['cod_calendario_ano_letivo'], $this->mes, NULL, NULL, NULL, NULL, NULL); $lista_dia = $obj_dia_calendario->lista($registro['cod_calendario_ano_letivo'], $this->mes, NULL, NULL, NULL, NULL); if ($lista_dia) { $array_dias = array(); $array_descricao = array(); foreach ($lista_dia as $dia) { $descricao = ''; $url = sprintf('educar_calendario_anotacao_lst.php?ref_cod_calendario_ano_letivo=%s&ref_cod_escola=%s&dia=%s&mes=%s&ano=%s', $registro['cod_calendario_ano_letivo'], $this->ref_cod_escola, $dia['dia'], $dia['mes'], $this->ano); $botao_editar = sprintf(' <div style="z-index: 0;"> <br /> <input type="button" value="Anotações" onclick="window.location=\'%s\';" class="botaolistagem"/> </div>', $url); if ($dia['ref_cod_calendario_dia_motivo']) { $array_dias[$dia['dia']] = $dia['dia']; $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']); $det_motivo = $obj_motivo->detalhe(); /** * @todo CoreExt_Enum? */ $tipo = strtoupper($det_motivo['tipo']) == 'E' ? 'Dia Extra-Letivo' : 'Dia Não Letivo'; // Busca pelas turmas que estão marcadas para esse dia $args = array('calendarioAnoLetivo' => $registro['cod_calendario_ano_letivo'], 'mes' => $dia['mes'], 'dia' => $dia['dia'], 'ano' => $this->ano); $calendarioTurmas = $calendarioTurmaMapper->findAll(array(), $args); $nomeTurmas = array(); foreach ($calendarioTurmas as $calendarioTurma) { $nomeTurmas[] = $turmas[$calendarioTurma->turma]; } if (0 == count($nomeTurmas)) { $calendarioTurmas = ''; } else { $calendarioTurmas = 'Turmas: <ul><li>' . implode('</li><li>', $nomeTurmas) . '</li></ul>'; } $descricao = sprintf('<div style="z-index: 0;">%s</div><div align="left" style="z-index: 0;">Motivo: %s<br />Descrição: %s<br />%s</div>%s', $tipo, $det_motivo['nm_motivo'], $dia['descricao'], $calendarioTurmas, $botao_editar); $array_descricao[$dia['dia']] = $descricao; if (strtoupper($det_motivo['tipo']) == 'E') { $obj_calendario->adicionarLegenda('Extra Letivo', 'LARANJA_ESCURO'); $obj_calendario->adicionarArrayDias('Extra Letivo', array($dia['dia'])); } elseif (strtoupper($det_motivo['tipo']) == 'N') { $obj_calendario->adicionarLegenda('Não Letivo', '#VERDE_ESCURO'); $obj_calendario->adicionarArrayDias('Não Letivo', array($dia['dia'])); } $obj_calendario->diaDescricao($array_dias, $array_descricao); } elseif ($dia['descricao']) { $array_dias[$dia['dia']] = $dia['dia']; $descricao = sprintf('<div style="z-index: 0;">Descrição: %s</div>%s', $dia['descricao'], $botao_editar); $array_descricao[$dia['dia']] = $descricao; } } if (!empty($array_dias)) { $obj_calendario->diaDescricao($array_dias, $array_descricao); } } if ($this->mes <= (int) $inicio_ano[1] && $this->ano == (int) $inicio_ano[2]) { if ($this->mes == (int) $inicio_ano[1]) { $obj_calendario->adicionarLegenda('Início Ano Letivo', 'AMARELO'); $obj_calendario->adicionarArrayDias('Início Ano Letivo', array($inicio_ano[0])); } $dia_inicio = (int) $inicio_ano[0]; $dias = array(); if ($this->mes < (int) $inicio_ano[1]) { $NumeroDiasMes = (int) date('t', $this->mes); for ($d = 1; $d <= $NumeroDiasMes; $d++) { $dias[] = $d; } $obj_calendario->setLegendaPadrao('Não Letivo'); if (!empty($dias)) { $obj_calendario->adicionarArrayDias('Não Letivo', $dias); } } else { $dia_inicio; for ($d = 1; $d < $dia_inicio; $d++) { $dias[] = $d; } $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO'); if (!empty($dias)) { $obj_calendario->adicionarLegenda('Não Letivo', '#F7F7F7'); $obj_calendario->adicionarArrayDias('Não Letivo', $dias); } } } elseif ($this->mes >= (int) $fim_ano[1] && $this->ano == (int) $fim_ano[2]) { $dia_inicio = (int) $fim_ano[0]; $dias = array(); if ($this->mes > (int) $fim_ano[1]) { $NumeroDiasMes = (int) date('t', $this->mes); for ($d = 1; $d <= $NumeroDiasMes; $d++) { $dias[] = $d; } $obj_calendario->setLegendaPadrao('Não Letivo'); if (!empty($dias)) { $obj_calendario->adicionarArrayDias('Não Letivo', $dias); } } else { $NumeroDiasMes = (int) date('t', $this->mes); for ($d = $fim_ano[0]; $d <= $NumeroDiasMes; $d++) { $dias[] = $d; } $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO'); if (!empty($dias)) { $obj_calendario->adicionarLegenda('Não Letivo', '#F7F7F7'); $obj_calendario->adicionarArrayDias('Não Letivo', $dias); } } if ($this->mes == (int) $fim_ano[1]) { $obj_calendario->adicionarLegenda('Término Ano Letivo', 'AMARELO'); $obj_calendario->adicionarArrayDias('Término Ano Letivo', array($fim_ano[0])); } } else { $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO'); } $obj_calendario->setCorDiaSemana(array(0, 6), 'ROSA'); $obj_anotacao = new clsPmieducarCalendarioDiaAnotacao(); $lista_anotacoes = $obj_anotacao->lista(NULL, $this->mes, $registro['cod_calendario_ano_letivo'], NULL, 1); if ($lista_anotacoes) { $dia_anotacao = array(); foreach ($lista_anotacoes as $anotacao) { if ($this->mes == (int) $anotacao['ref_mes']) { $dia_anotacao[$anotacao['ref_dia']] = $anotacao['ref_dia']; } } $obj_calendario->adicionarIconeDias($dia_anotacao, 'A'); } $obj_calendario->all_days_url = sprintf('educar_calendario_anotacao_lst.php?ref_cod_calendario_ano_letivo=%s', $registro['cod_calendario_ano_letivo']); // Gera código HTML do calendário $calendario = $obj_calendario->getCalendario($this->mes, $this->ano, 'mes_corrente', $_GET, array('cod_calendario_ano_letivo' => $registro['cod_calendario_ano_letivo'])); $retorno .= sprintf('<tr><td colspan="2"><center><b>%s</b>%s</center></td></tr>', $registro['nm_escola'], $calendario); } } if ($obj_permissoes->permissao_cadastra(620, $this->pessoa_logada, 7)) { if ($_POST && empty($lista) && $_SESSION['calendario']['ultimo_valido']) { $url = sprintf('educar_calendario_ano_letivo_lst.php?ref_cod_instituicao=%s&ref_cod_escola=%s&ano=%s', $this->ref_cod_instituicao, $this->ref_cod_escola, $_SESSION['calendario']['ano']); $bt_voltar = sprintf('<input type="button" value="Voltar" onclick="window.location=\'%s\';" class="botaolistagem" />', $url); } $url = sprintf('educar_calendario_ano_letivo_cad.php?ref_cod_instituicao=%s&ref_cod_escola=%s', $this->ref_cod_instituicao, $this->ref_cod_escola); $retorno .= sprintf(' <tr> <td> </td> </tr> <tr> <td align="center" colspan="2"> %s <input type="button" value="Novo Calendário Letivo" onclick="window.location=\'%s\';" class="botaolistagem" /> </td> </tr>', $bt_voltar, $url); } $retorno .= ' </tbody> </table>'; $localizacao = new LocalizacaoSistema(); $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "Início", "educar_index.php" => "i-Educar - Escola", "" => "Calendário do ano letivo")); $this->enviaLocalizacao($localizacao->montar()); return $retorno; }
function buscaDiasLetivos() { $obj_calendario = new clsPmieducarEscolaAnoLetivo(); $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1, null); $totalDiasUteis = 0; $total_semanas = 0; $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $obj_ano_letivo_modulo->setOrderby("data_inicio asc"); $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista($this->ano, $this->ref_cod_escola, null, null); if ($lst_ano_letivo_modulo) { $inicio = $lst_ano_letivo_modulo['0']; $fim = $lst_ano_letivo_modulo[count($lst_ano_letivo_modulo) - 1]; $mes_inicial = explode("-", $inicio['data_inicio']); $mes_inicial = $mes_inicial[1]; $dia_inicial = $mes_inicial[2]; $mes_final = explode("-", $fim['data_fim']); $mes_final = $mes_final[1]; $dia_final = $mes_final[2]; } for ($mes = $mes_inicial; $mes <= $mes_final; $mes++) { $obj_calendario_dia = new clsPmieducarCalendarioDia(); $lista_dias = $obj_calendario_dia->lista($calendario['cod_calendario_ano_letivo'], $mes, null, null, null, null, null, null, null, 1); $dias_mes = array(); if ($lista_dias) { foreach ($lista_dias as $dia) { $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']); $det_motivo = $obj_motivo->detalhe(); $dias_mes[$dia['dia']] = strtolower($det_motivo['tipo']); } } //Dias previstos do mes // Qual o primeiro dia do mes $primeiroDiaDoMes = mktime(0, 0, 0, $mes, 1, $this->ano); // Quantos dias tem o mes $NumeroDiasMes = date('t', $primeiroDiaDoMes); //informacoes primeiro dia do mes $dateComponents = getdate($primeiroDiaDoMes); // What is the name of the month in question? $NomeMes = $mesesDoAno[$dateComponents['mon']]; // What is the index value (0-6) of the first day of the // month in question. $DiaSemana = $dateComponents['wday']; //total de dias uteis + dias extra-letivos - dia nao letivo - fim de semana $DiaSemana = 0; if ($mes == $mes_inicial) { $dia_ini = $dia_inicial; } elseif ($mes == $mes_final) { $dia_ini = $dia_final; } else { $dia_ini = 1; } for ($dia = $dia_ini; $dia <= $NumeroDiasMes; $dia++) { if ($DiaSemana >= 7) { $DiaSemana = 0; $total_semanas++; } if ($DiaSemana != 0 && $DiaSemana != 6) { if (!(key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('n'))) { $totalDiasUteis++; } } elseif (key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('e')) { $totalDiasUteis++; } $DiaSemana++; } } $this->total_dias_uteis = $totalDiasUteis; $this->total_semanas = $total_semanas; }
function Gerar() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; session_write_close(); $this->titulo = "Faltas/Notas Aluno - Detalhe"; $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet"); $this->ref_cod_matricula = $_GET["ref_cod_matricula"]; $this->ref_cod_turma = $_GET["ref_cod_turma"]; $this->ref_sequencial_matricula_turma = $_GET["sequencial"]; $obj_matricula_turma = new clsPmieducarMatriculaTurma(); // echo $this->ref_cod_matricula." ".$this->ref_cod_turma; $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula, $this->ref_cod_turma, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, $this->ref_sequencial_matricula_turma); if (is_array($lst_matricula_turma)) { $registro = array_shift($lst_matricula_turma); } if (!$registro) { header("location: educar_falta_nota_aluno_lst.php"); die; } if (class_exists("clsPmieducarTurma")) { $obj_ref_ref_cod_turma = new clsPmieducarTurma($registro["ref_cod_turma"]); $det_ref_ref_cod_turma = $obj_ref_ref_cod_turma->detalhe(); $nm_turma = $det_ref_ref_cod_turma["nm_turma"]; } else { $registro["ref_cod_turma"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarTurma\n-->"; } if (class_exists("clsPmieducarSerie")) { $obj_ref_cod_serie = new clsPmieducarSerie($registro["ref_ref_cod_serie"]); $det_ref_cod_serie = $obj_ref_cod_serie->detalhe(); $nm_serie = $det_ref_cod_serie["nm_serie"]; } else { $registro["ref_cod_serie"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarSerie\n-->"; } if (class_exists("clsPmieducarCurso")) { $obj_ref_cod_curso = new clsPmieducarCurso($registro["ref_cod_curso"]); $det_ref_cod_curso = $obj_ref_cod_curso->detalhe(); $nm_curso = $det_ref_cod_curso["nm_curso"]; $padrao_ano_escolar = $det_ref_cod_curso["padrao_ano_escolar"]; $falta_ch_globalizada = $det_ref_cod_curso["falta_ch_globalizada"]; if ($padrao_ano_escolar) { $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo(); $lst_ano_letivo = $obj_ano_letivo->lista($registro["ref_ref_cod_escola"], null, null, null, 1, null, null, null, null, 1); if (is_array($lst_ano_letivo)) { $det_ano_letivo = array_shift($lst_ano_letivo); $ano_letivo = $det_ano_letivo["ano"]; $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista($ano_letivo, $registro["ref_ref_cod_escola"]); if (is_array($lst_ano_letivo_modulo)) { $qtd_modulos = count($lst_ano_letivo_modulo); } } } else { $obj_turma_modulo = new clsPmieducarTurmaModulo(); $lst_turma_modulo = $obj_turma_modulo->lista($registro["ref_cod_turma"]); if (is_array($lst_turma_modulo)) { $qtd_modulos = count($lst_turma_modulo); } } } else { $registro["ref_cod_curso"] = "Erro na geracao"; echo "<!--\nErro\nClasse nao existente: clsPmieducarCurso\n-->"; } if (class_exists("clsPmieducarInstituicao")) { $obj_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]); $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe(); $registro["ref_cod_instituicao"] = $obj_cod_instituicao_det["nm_instituicao"]; } else { $registro["ref_cod_instituicao"] = "Erro na geração"; echo "<!--\nErro\nClasse não existente: clsPmieducarInstituicao\n-->"; } if (class_exists("clsPmieducarEscola")) { $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_ref_cod_escola"]); $det_ref_cod_escola = $obj_ref_cod_escola->detalhe(); $nm_escola = $det_ref_cod_escola["nome"]; } else { $registro["ref_ref_cod_escola"] = "Erro na geração"; echo "<!--\nErro\nClasse não existente: clsPmieducarEscola\n-->"; } if (class_exists("clsPmieducarAluno")) { $obj_aluno = new clsPmieducarAluno(); $lst_aluno = $obj_aluno->lista($registro["ref_cod_aluno"], null, null, null, null, null, null, null, null, null, 1); if (is_array($lst_aluno)) { $det_aluno = array_shift($lst_aluno); $registro["ref_cod_aluno"] = $det_aluno["nome_aluno"]; } } else { $registro["ref_cod_aluno"] = "Erro na geração"; echo "<!--\nErro\nClasse não existente: clsPmieducarAluno\n-->"; } if ($registro["ref_cod_aluno"]) { $this->addDetalhe(array("Aluno", "{$registro["ref_cod_aluno"]}")); } if ($registro["ref_cod_matricula"]) { $this->addDetalhe(array("Matrícula", "{$registro["ref_cod_matricula"]}")); } $obj_permissoes = new clsPermissoes(); $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada); if ($nivel_usuario == 1) { if ($registro["ref_cod_instituicao"]) { $this->addDetalhe(array("Instituição", "{$registro["ref_cod_instituicao"]}")); } } if ($nivel_usuario == 1 || $nivel_usuario == 2) { if ($nm_escola) { $this->addDetalhe(array("Escola", "{$nm_escola}")); } } if ($nm_curso) { $this->addDetalhe(array("Curso", "{$nm_curso}")); } if ($nm_serie) { $this->addDetalhe(array("Série", "{$nm_serie}")); } if ($nm_turma) { $this->addDetalhe(array("Turma", "{$nm_turma}")); } if ($qtd_modulos) { $this->addDetalhe(array("Quantidade de Módulos", "{$qtd_modulos}")); } $obj_matricula = new clsPmieducarMatricula($registro["ref_cod_matricula"]); $det_matricula = $obj_matricula->detalhe(); $modulo = $det_matricula["modulo"]; $aprovado = $det_matricula["aprovado"]; $ano_matricula = $det_matricula["ano"]; $max_qtd_nota = 0; $min_qtd_nota = 10; //************************************* DETALHE - MATRICULADO NUMA SERIE *************************************// if ($registro["ref_ref_cod_serie"]) { $obj_dispensa = new clsPmieducarDispensaDisciplina(); $lst_dispensa = $obj_dispensa->lista($registro["ref_cod_matricula"], $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], null, null, null, null, null, null, null, null, 1); if (is_array($lst_dispensa)) { foreach ($lst_dispensa as $key => $disciplina) { $dispensa[$disciplina["ref_cod_disciplina"]] = $disciplina["ref_cod_disciplina"]; } } $obj_esd = new clsPmieducarEscolaSerieDisciplina(); $obj_esd->setOrderby("nm_disciplina"); $lst_disciplinas = $obj_esd->lista($registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], null, 1, true); if ($lst_disciplinas) { foreach ($lst_disciplinas as $disciplinas) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $qtd_notas = $obj_nota_aluno->getQtdNotas(null, null, $disciplinas["ref_cod_disciplina"], $this->ref_cod_matricula); if ($max_qtd_nota < $qtd_notas) { $max_qtd_nota = $qtd_notas; } if ($min_qtd_nota > $qtd_notas) { $min_qtd_nota = $qtd_notas; } } } if (is_array($lst_disciplinas)) { $tabela = "<table>\n\t\t\t\t\t\t <tr align='center'>\n\t\t\t\t\t\t <td rowspan='2' bgcolor='#a1b3bd'><b>Nome</b></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Exame</b></td>"; } else { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Módulo {$i}</b></td>"; } } $tabela .= "</tr>"; $tabela .= "<tr align=center>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Nota</b></td>"; } else { $tabela .= "<td bgcolor='#a1b3bd'><b>Nota</b></td><td bgcolor='#a1b3bd'><b>Faltas</b></td>"; } } $tabela .= "</tr>"; $cont = 0; $qtd_disciplinas = count($lst_disciplinas); $prim_disciplina = false; foreach ($lst_disciplinas as $valor) { // echo "<pre>"; print_r($lst_disciplinas); die(); $parar = false; if (!strcmp($valor["nm_disciplina"], "Matemática")) { $parar = true; } if (!$dispensa[$valor["ref_cod_disciplina"]]) { if ($cont % 2 == 0) { $color = " bgcolor='#E4E9ED' "; } else { $color = " bgcolor='#FFFFFF' "; } unset($notas_aluno); $obj_nota_aluno = new clsPmieducarNotaAluno(); $obj_nota_aluno->setOrderby("modulo ASC"); $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], $valor["ref_cod_disciplina"], $registro["ref_cod_matricula"], null, null, null, null, null, null, 1); if (is_array($lst_nota_aluno)) { foreach ($lst_nota_aluno as $key => $nota_aluno) { if ($nota_aluno['nota']) { $notas_aluno[] = $nota_aluno["nota"]; } else { $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]); $det_avaliacao_valores = $obj_avaliacao_valores->detalhe(); $notas_aluno[] = $det_avaliacao_valores["nome"]; } } } unset($faltas_aluno); if ($falta_ch_globalizada) { $obj_faltas = new clsPmieducarFaltas(); $obj_faltas->setOrderby("sequencial asc"); $lst_faltas = $obj_faltas->lista($registro["ref_cod_matricula"]); if (is_array($lst_faltas)) { foreach ($lst_faltas as $key => $faltas) { $faltas_aluno[] = $faltas['falta']; } } } else { $obj_falta_aluno = new clsPmieducarFaltaAluno(); $obj_falta_aluno->setOrderby("cod_falta_aluno ASC"); $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], $valor["ref_cod_disciplina"], $registro["ref_cod_matricula"], null, null, null, null, null, 1); if (is_array($lst_falta_aluno)) { foreach ($lst_falta_aluno as $key => $falta_aluno) { $faltas_aluno[] = $falta_aluno["faltas"]; } } } $obj_disciplina = new clsPmieducarDisciplina($valor["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); $nm_disciplina = $det_disciplina["nm_disciplina"]; $apura_falta = $det_disciplina["apura_falta"]; $tabela .= "<tr align='left'>\n\t\t\t\t\t\t\t\t\t <td {$color} align='left'>{$nm_disciplina}</td>"; for ($i = 0; $i < $max_qtd_nota; $i++) { if ($qtd_modulos - 1 < $i) { if ($notas_aluno[$i]) { $notas_aluno[$i] = number_format($notas_aluno[$i], 2, ",", "."); $tabela .= "<td align='center' colspan='2' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' colspan='2' {$color} align='left'>-</td>"; } } else { if ($notas_aluno[$i]) { $tabela .= "<td align='center' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } if ($falta_ch_globalizada && !$prim_disciplina) { $tabela .= "<td align='center' rowspan='{$qtd_disciplinas}' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { if (!$falta_ch_globalizada) { if (is_numeric($faltas_aluno[$i])) { $tabela .= "<td align='center' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } } } } } $prim_disciplina = true; $tabela .= "</tr>"; $cont++; } } if (!$ano_letivo || $ano_letivo == $ano_matricula) { if ($max_qtd_nota > 0) { $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t\t <td align='center'></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { //if ( ($max_qtd_nota != $min_qtd_nota) && ($min_qtd_nota < $i) && ($qtd_modulos >= $modulo) && false) if (!$det_ref_cod_curso['edicao_final']) { $tabela .= "<td colspan='2'></td>"; } else { $tabela .= "<td align='center' colspan='2' bgcolor='#a1b3bd' align='center'><a href='educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$i}'>Editar</a></td>"; } } $tabela .= "</tr>"; } } $tabela .= "</table>"; } } else { $obj_disciplinas = new clsPmieducarDisciplina(); $obj_disciplina->setOrderby("nm_disciplina"); $lst_disciplinas = $obj_disciplinas->lista(null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $registro["ref_cod_curso"]); foreach ($lst_disciplinas as $disciplinas) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $qtd_notas = $obj_nota_aluno->getQtdNotas(null, null, null, $this->ref_cod_matricula, $disciplinas["cod_disciplina"]); if ($max_qtd_nota < $qtd_notas) { $max_qtd_nota = $qtd_notas; } } if (is_array($lst_disciplinas)) { $tabela = "<table>\n\t\t\t\t\t\t <tr align='center'>\n\t\t\t\t\t\t <td rowspan='2' bgcolor='#a1b3bd'><b>Nome</b></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Exame</b></td>"; } else { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Módulo {$i}</b></td>"; } } $tabela .= "</tr>"; $tabela .= "<tr align=center>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { if ($qtd_modulos < $i) { $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Nota</b></td>"; } else { $tabela .= "<td bgcolor='#a1b3bd'><b>Nota</b></td><td bgcolor='#a1b3bd'><b>Faltas</b></td>"; } } $tabela .= "</tr>"; $cont = 0; $qtd_disciplinas = count($lst_disciplinas); $prim_disciplina = false; foreach ($lst_disciplinas as $valor) { if ($cont % 2 == 0) { $color = " bgcolor='#E4E9ED' "; } else { $color = " bgcolor='#FFFFFF' "; } unset($notas_aluno); $obj_nota_aluno = new clsPmieducarNotaAluno(); $obj_nota_aluno->setOrderby("modulo ASC"); $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, null, null, null, $registro["ref_cod_matricula"], null, null, null, null, null, null, 1, null, $valor["cod_disciplina"]); if (is_array($lst_nota_aluno)) { foreach ($lst_nota_aluno as $key => $nota_aluno) { if ($nota_aluno['nota']) { $notas_aluno[] = $nota_aluno["nota"]; } else { $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]); $det_avaliacao_valores = $obj_avaliacao_valores->detalhe(); $notas_aluno[] = $det_avaliacao_valores["nome"]; } } } unset($faltas_aluno); if ($falta_ch_globalizada) { $obj_faltas = new clsPmieducarFaltas(); $lst_faltas = $obj_faltas->lista($registro["ref_cod_matricula"]); if (is_array($lst_faltas)) { foreach ($lst_faltas as $key => $faltas) { $faltas_aluno[] = $faltas['falta']; } } } else { $obj_falta_aluno = new clsPmieducarFaltaAluno(); $obj_falta_aluno->setOrderby("cod_falta_aluno ASC"); $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, null, null, null, $registro["ref_cod_matricula"], null, null, null, null, null, 1, null, $valor["cod_disciplina"]); if (is_array($lst_falta_aluno)) { foreach ($lst_falta_aluno as $key => $falta_aluno) { $faltas_aluno[] = $falta_aluno["faltas"]; } } } $nm_disciplina = $valor["nm_disciplina"]; $apura_falta = $valor["apura_falta"]; $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t <td {$color} align='center'>{$nm_disciplina}</td>"; for ($i = 0; $i < $max_qtd_nota; $i++) { if ($qtd_modulos - 1 < $i) { if ($notas_aluno[$i]) { $notas_aluno[$i] = number_format($notas_aluno[$i], 2, ",", "."); $tabela .= "<td align='center' colspan='2' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' colspan='2' {$color} align='left'>-</td>"; } } else { if ($notas_aluno[$i]) { $tabela .= "<td align='center' {$color} align='left'>{$notas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } if ($falta_ch_globalizada && !$prim_disciplina) { $tabela .= "<td align='center' rowspan='{$qtd_disciplinas}' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { if (!$falta_ch_globalizada) { if (is_numeric($faltas_aluno[$i])) { $tabela .= "<td align='center' {$color} align='left'>{$faltas_aluno[$i]}</td>"; } else { $tabela .= "<td align='center' {$color} align='left'>-</td>"; } } } } } $prim_disciplina = true; $tabela .= "</tr>"; $cont++; } if ($max_qtd_nota > 0) { $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t <td align='center'></td>"; for ($i = 1; $i <= $max_qtd_nota; $i++) { //if ( ($max_qtd_nota != $min_qtd_nota) && ($min_qtd_nota < $i) && ($qtd_modulos <= $modulo) ) if (!$det_ref_cod_curso['edicao_final']) { $tabela .= "<td colspan='2'></td>"; } else { $tabela .= "<td align='center' colspan='2' bgcolor='#a1b3bd' align='center'><a href='educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$i}'>Editar</a></td>"; } } $tabela .= "</tr>"; } $tabela .= "</table>"; } } if ($tabela) { $this->addDetalhe(array("Disciplina", "{$tabela}")); } if ($aprovado) { if ($aprovado == 1) { $aprovado_ = "Aprovado"; } elseif ($aprovado == 2) { $aprovado_ = "Reprovado"; } elseif ($aprovado == 3) { if ($qtd_modulos < $modulo) { $aprovado_ = "Em Exame"; } else { $aprovado_ = "Em Andamento"; } } $this->addDetalhe(array("Situação", "{$aprovado_}")); } if ($obj_permissoes->permissao_cadastra(642, $this->pessoa_logada, 7)) { if ($qtd_modulos >= $modulo && $aprovado == 3) { $this->array_botao = array("Nova Nota/Falta"); $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}"); } elseif ($qtd_modulos < $modulo && $aprovado == 3) { $this->array_botao = array("Nota Exame"); if ($qtd_modulos < $max_qtd_nota) { $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$max_qtd_nota}"); } else { $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}"); } } } $this->url_cancelar = "educar_falta_nota_aluno_lst.php"; $this->largura = "100%"; }
function Gerar() { $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 Excluir() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_excluir(561, $this->pessoa_logada, 7, 'educar_escola_lst.php'); $obj = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, $this->ref_ano, NULL, $this->pessoa_logada, NULL, NULL, NULL, 0); $excluiu = $obj->excluir(); if ($excluiu) { $obj = new clsPmieducarAnoLetivoModulo($this->ref_ano, $this->ref_ref_cod_escola); $excluiu1 = $obj->excluirTodos(); if ($excluiu1) { $this->mensagem .= 'Exclusão efetuada com sucesso.<br />'; header('Location: educar_escola_lst.php'); die; } $this->mensagem = 'Exclusão não realizada.<br />'; return FALSE; } $this->mensagem = 'Exclusão não realizada.<br />'; return FALSE; }
function Gerar() { $obj_curso = new clsPmieducarCurso($this->ref_cod_curso); $det_curso = $obj_curso->detalhe(); // Carrega as informações necessárias do curso if ($det_curso) { $this->ref_cod_tipo_avaliacao = $det_curso["ref_cod_tipo_avaliacao"]; $this->media = $det_curso["media"]; $this->media_exame = $det_curso["media_exame"]; $this->frequencia_minima = $det_curso["frequencia_minima"]; $this->falta_ch_globalizada = $det_curso["falta_ch_globalizada"]; $this->padrao_ano_escolar = $det_curso["padrao_ano_escolar"]; $this->carga_horaria = $det_curso["carga_horaria"]; $this->hora_falta = $det_curso["hora_falta"]; } // Verifica se vai seguir o padrão do ano escolar da escola if ($this->padrao_ano_escolar == 1) { $obj_escola_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_ref_cod_escola, null, null, null, 1, null, null, 1); $det_escola_ano_letivo = $obj_escola_ano_letivo->detalhe(); // Carrega o ano letivo if (is_array($det_escola_ano_letivo)) { $this->ano_letivo = $det_escola_ano_letivo["ano"]; } $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $obj_ano_letivo_modulo->setOrderby("data_fim"); $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista($this->ano_letivo, $this->ref_ref_cod_escola); if (is_array($lst_ano_letivo_modulo)) { $obj_turma_disciplina = new clsPmieducarTurmaDisciplina(); $lst_turma_disciplina = $obj_turma_disciplina->lista($this->ref_cod_turma); // Carrega a quantidade de disciplinas da turma $this->qtd_disciplinas = count($lst_turma_disciplina); // echo "<pre>"; // print_r($lst_turma_disciplina); if ($lst_turma_disciplina) { foreach ($lst_turma_disciplina as $disciplina) { // Carrega o código das disciplinas da turma $this->cod_disciplinas[] = $disciplina["ref_cod_disciplina"]; } // Carrega a quantidade de módulos do ano letivo $this->qtd_modulos = count($lst_ano_letivo_modulo); $cont = 1; if (is_array($lst_ano_letivo_modulo)) { // Busca em qual módulo a turma está //$resultado = $obj_turma_modulo->numModulo( $cont, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->cod_disciplinas, $this->ref_cod_turma, $this->ref_cod_turma ); $obj_matriculas = new clsPmieducarMatriculaTurma(); $lst_matriculas = $obj_matriculas->lista(null, $this->ref_cod_turma, null, null, null, null, null, null, 1, $this->ref_ref_cod_serie, $this->ref_cod_curso, $this->ref_ref_cod_escola); $resultado = 0; if (is_array($lst_matriculas)) { foreach ($lst_matriculas as $registro) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $aux_min = $obj_nota_aluno->retornaModuloAluno($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $registro["ref_cod_matricula"]); $aux_min = $aux_min + 1; if ($resultado == 0) { $resultado = $aux_min; } else { if ($resultado > $aux_min) { $resultado = $aux_min; } } } } $this->num_modulo = $resultado; foreach ($lst_ano_letivo_modulo as $registro) { // Verifica se a turma está num módulo da turma if ($resultado == $registro["sequencial"]) { $obj_modulo = new clsPmieducarModulo($registro["ref_cod_modulo"]); $det_modulo = $obj_modulo->detalhe(); // Carrega o nome do módulo no qual a turma se encontra $this->modulo = $det_modulo["nm_tipo"]; $obj_turma_disciplina = new clsPmieducarTurmaDisciplina(); $obj_turma_disciplina->setOrderby("ref_cod_disciplina"); // Carrega o código das disciplinas da turma $lst_turma_disciplina = $obj_turma_disciplina->lista($this->ref_cod_turma); if (is_array($lst_turma_disciplina)) { $cont = 0; foreach ($lst_turma_disciplina as $valores) { $obj_disciplina = new clsPmieducarDisciplina($valores["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); if ($det_disciplina) { // Carrega a informação se a disciplina apura falta ou não $this->lst_apura_falta["{$det_disciplina["cod_disciplina"]}"] = $det_disciplina["apura_falta"]; $obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina $lst_notas = $obj_notas->retornaDiscMod($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $det_disciplina["cod_disciplina"], $this->ref_cod_turma, $this->ref_cod_turma, null, true); if ($cont == 0) { $num_aux = $lst_notas; } else { if ($lst_notas < $num_aux) { $num_aux = $lst_notas; } } } $cont++; } /*if ( is_numeric( $lst_notas ) ) { $this->num_modulo = $lst_notas + 1; } else { $this->num_modulo = 1; }*/ } // Carrega o número do módulo em que a turma está // $this->num_modulo = ( $resultado + 1 ); break; } else { if ($resultado > $this->qtd_modulos) { // Carrega o nome do módulo no qual a turma se encontra como "Exame" $this->modulo = "Exame"; // Carrega o número do módulo igual a quantidade de módulos da turma mais 1 $this->num_modulo = $resultado + 1; break; } } $cont++; } } } } } else { $obj_turma_modulo = new clsPmieducarTurmaModulo(); $obj_turma_modulo->setOrderby("data_fim"); $lst_turma_modulo = $obj_turma_modulo->lista($this->ref_cod_turma); $obj_matriculas = new clsPmieducarMatriculaTurma(); $lst_matriculas = $obj_matriculas->lista(null, $this->ref_cod_turma, null, null, null, null, null, null, 1, $this->ref_ref_cod_serie, $this->ref_cod_curso, $this->ref_ref_cod_escola); $resultado = 0; if (is_array($lst_matriculas)) { foreach ($lst_matriculas as $registro) { $obj_nota_aluno = new clsPmieducarNotaAluno(); $aux_min = $obj_nota_aluno->retornaModuloAluno($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $registro["ref_cod_matricula"]); $aux_min = $aux_min + 1; if ($resultado == 0) { $resultado = $aux_min; } else { if ($resultado > $aux_min) { $resultado = $aux_min; } } } } $this->num_modulo = $resultado; if (is_array($lst_turma_modulo)) { $obj_turma_disciplina = new clsPmieducarTurmaDisciplina(); $lst_turma_disciplina = $obj_turma_disciplina->lista($this->ref_cod_turma); // Carrega a quantidade de disciplinas da turma $this->qtd_disciplinas = count($lst_turma_disciplina); if ($lst_turma_disciplina) { foreach ($lst_turma_disciplina as $disciplina) { // Carrega o código das disciplinas da turma $this->cod_disciplinas[] = $disciplina["ref_cod_disciplina"]; $obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina $lst_notas = $obj_notas->retornaDiscMod($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $disciplina["ref_cod_disciplina"], $this->ref_cod_turma, $this->ref_cod_turma, null, true); if ($cont == 0) { $num_aux = $lst_notas; } else { if ($lst_notas < $num_aux) { $num_aux = $lst_notas; } } } // Carrega a quantidade de módulos da turma $this->qtd_modulos = count($lst_turma_modulo); $cont = 1; foreach ($lst_turma_modulo as $registro) { $obj_turma_modulo = new clsPmieducarTurmaModulo(); // Busca em qual módulo a turma está // $resultado = $obj_turma_modulo->numModulo( $cont, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->cod_disciplinas, $this->ref_cod_turma, $this->ref_cod_turma ); // Verifica se a turma está num módulo da turma if ($resultado == $cont) { $obj_modulo = new clsPmieducarModulo($registro["ref_cod_modulo"]); $det_modulo = $obj_modulo->detalhe(); // Carrega o nome do módulo no qual a turma se encontra $this->modulo = $det_modulo["nm_tipo"]; // Carrega o número do módulo no qual a turma se encontra $this->num_modulo = $resultado; break; } else { if ($resultado > $this->qtd_modulos) { // Carrega o nome do módulo no qual a turma se encontra como "Exame" $this->modulo = "Exame"; // Carrega o número do módulo no qual a turma se encontra igual ao número de módulos da turma mais 1 $this->num_modulo = $resultado + 1; break; } } $cont++; } } } } // echo "<pre>"; // print_r( $this->cod_disciplinas ); $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo(); $lst_ano_letivo = $obj_ano_letivo->lista($this->ref_ref_cod_escola, null, null, null, 1, null, null, null, null, 1); if (is_array($lst_ano_letivo)) { $det_ano_letivo = array_shift($lst_ano_letivo); // Carrega o ano letivo em que a turma se encontra $this->ano_letivo = $det_ano_letivo["ano"]; } $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($this->ref_cod_tipo_avaliacao); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); // Carrega o tipo de avaliação if ($det_tipo_avaliacao) { $this->conceitual = $det_tipo_avaliacao["conceitual"]; } // Carrega todos os valores do tipo de avaliação do curso $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores(); $obj_avaliacao_valores->setOrderby("valor ASC"); $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao); if (is_array($lst_avaliacao_valores)) { $opcoes_valores = array("" => "Selecione"); foreach ($lst_avaliacao_valores as $valores) { $opcoes_valores[$valores['sequencial']] = $valores["nome"]; } } $obj_turma_disciplina = new clsPmieducarTurmaDisciplina(); $obj_turma_disciplina->setOrderby("ref_cod_disciplina"); // Carrega o código das disciplinas da turma $lst_turma_disciplina = $obj_turma_disciplina->lista($this->ref_cod_turma); //echo "<pre>"; //print_r( $lst_turma_disciplina ); if (is_array($lst_turma_disciplina)) { // Carrega a quantidade de disciplinas da turma $this->qtd_disciplinas = count($lst_turma_disciplina); $opcoes_disciplinas = array("" => "Selecione"); foreach ($lst_turma_disciplina as $valores) { $obj_disciplina = new clsPmieducarDisciplina($valores["ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); if ($det_disciplina) { // Carrega a informação se a disciplina apura falta ou não $this->lst_apura_falta["{$det_disciplina["cod_disciplina"]}"] = $det_disciplina["apura_falta"]; //$obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina //$lst_notas = $obj_notas->retornaDiscMod( $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $det_disciplina["cod_disciplina"], $this->ref_cod_turma, $this->ref_cod_turma, null, true ); // Verifica se a quantidade de notas por aluno é diferente do número do módulo em que a turma se encontra //echo "{$lst_notas} != {$this->num_modulo}<br>"; //if ( $lst_notas != $this->num_modulo ) //{ $opcoes_disciplinas[$det_disciplina["cod_disciplina"]] = $det_disciplina["nm_disciplina"]; //} } } } //echo "<pre>"; //print_r( $opcoes_disciplinas ); // Verifica se deve ser exibida a página para classificar os alunos if ($this->classifica == "S") { // Verifica se a turma terminou o último módulo ou se está no último módulo if ($this->num_modulo >= $this->qtd_modulos) { $obj_nota_aluno = new clsPmieducarNotaAluno(); // Carrega as médias de cada disciplina de cada aluno $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true, true); if (is_array($lst_exame)) { $lst_disciplina_aprovacao = array("" => "Selecione"); foreach ($lst_exame as $exame) { // Verifica se o aluno possui freqüência abaixo da freqüência mínima if (100 - $exame["faltas"] < $this->frequencia_minima) { $obj_disciplina = new clsPmieducarDisciplina($exame["disc_ref_ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); if ($det_disciplina) { // Carrega a disciplina que possui alunos com freqüência abaixo da freqüência mínima $lst_disciplina_aprovacao["{$exame["disc_ref_ref_cod_disciplina"]}"] = $det_disciplina["nm_disciplina"]; // Carrega as informações referentes a disciplina e ao aluno que possui freqüência abaixo da freqüência mínima $lst_aprovacao[] = $exame; } } } foreach ($lst_aprovacao as $classificacao) { if ($classificacao["media"] < $this->media) { $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["ref_ref_cod_matricula"] = $classificacao["ref_ref_cod_matricula"]; $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["exibe"] = "S"; } else { if ($lst_classificacao[$classificacao["ref_ref_cod_matricula"]]) { if ($lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["exibe"] != "S") { $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["ref_ref_cod_matricula"] = $classificacao["ref_ref_cod_matricula"]; $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["exibe"] = "N"; } } else { $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["ref_ref_cod_matricula"] = $classificacao["ref_ref_cod_matricula"]; $lst_classificacao[$classificacao["ref_ref_cod_matricula"]]["exibe"] = "N"; } } } foreach ($lst_classificacao as $registro) { foreach ($lst_exame as $exame) { if ($exame["ref_ref_cod_matricula"] == $registro["ref_ref_cod_matricula"]) { if ($exame["media"] < $this->media) { if ($registro["exibe"] == "N") { $lst_classificacao[$registro["ref_ref_cod_matricula"]]["ref_ref_cod_matricula"] = $registro["ref_ref_cod_matricula"]; $lst_classificacao[$registro["ref_ref_cod_matricula"]]["exibe"] = "S"; } } } } } $opcoes_disciplinas = array_unique($lst_disciplina_aprovacao); } // Verifica se existem alunos com a freqüência abaixo da freqüência mínima if (is_array($lst_aprovacao)) { foreach ($lst_classificacao as $registro) { $obj_matricula = new clsPmieducarMatricula($registro["ref_ref_cod_matricula"], null, null, null, null, null, null, null, null, null, 1, null, 1, $this->modulo); $det_matricula = $obj_matricula->detalhe(); if ($det_matricula) { $obj_aluno = new clsPmieducarAluno($det_matricula["ref_cod_aluno"]); $det_aluno = $obj_aluno->detalhe(); if ($det_aluno) { $obj_pessoa = new clsPessoa_($det_aluno["ref_idpes"]); $det_pessoa = $obj_pessoa->detalhe(); $obj_dispensa = new clsPmieducarDispensaDisciplina($this->ref_cod_turma, $det_matricula["cod_matricula"], $this->ref_cod_turma, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, null, null, null, null, null, 1); $det_dispensa = $obj_dispensa->detalhe(); if (is_numeric($this->ref_cod_tipo_avaliacao)) { $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($this->ref_cod_tipo_avaliacao, null, null, null, null, null, 1, null, $this->ref_cod_instituicao); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); // Verifica se o tipo de avaliação não é conceitual if ($det_tipo_avaliacao["conceitual"] == 0) { $this->campoOculto("nm_aluno_{$det_pessoa["idpes"]}", $det_pessoa["nome"]); $this->campoTextoInv("nm_aluno_{$det_pessoa["idpes"]}_", "Aluno", $det_pessoa["nome"], 30, 255, false, false, true); $this->lst_matriculas[] = array("{$det_matricula["ref_cod_aluno"]}", "{$det_pessoa["idpes"]}", "{$det_matricula["cod_matricula"]}"); // Verifica se a falta não é globalizada e se não está na última disciplina if (!($this->falta_ch_globalizada == 1 && $this->qtd_disciplinas > 1)) { //$this->campoTextoInv( "faltas_{$det_pessoa["idpes"]}_", "Faltas", $registro["faltas"], 5, 5, false, false, true ); // Verifica se a média é maior ou igual a média mínima if ($registro["exibe"] == "N") { $this->campoCheck("aprovacao_{$det_pessoa["idpes"]}_", " ", 0, "Aprovado"); } else { $this->campoCheck("aprovacao_{$det_pessoa["idpes"]}_", " ", 0, "Exame"); } } } else { $this->campoTexto("nm_aluno_{$det_pessoa["idpes"]}", "Aluno", $det_pessoa["nome"], 30, 255, false, false, false, "", "", "", "onKeyUp", true); } } else { $this->campoTexto("nm_aluno_{$det_pessoa["idpes"]}", "Aluno", $det_pessoa["nome"], 30, 255, false, false, false, "", "", "", "onKeyUp", true); } } } } } } } else { // Verifica se a turma terminou o último módulo if ($this->num_modulo > $this->qtd_modulos) { $obj_nota_aluno = new clsPmieducarNotaAluno(); // Carrega as médias de cada disciplina de cada aluno $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true, false, true); if (is_array($lst_exame)) { $lst_disciplina_aprovacao = array("" => "Selecione"); foreach ($lst_exame as $exame) { $obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina $lst_notas = $obj_notas->retornaDiscMod($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $exame["disc_ref_ref_cod_disciplina"], $this->ref_cod_turma, $this->ref_cod_turma, $exame["ref_ref_cod_matricula"]); $obj_dispensa = new clsPmieducarDispensaDisciplina($this->ref_cod_turma, $exame["ref_ref_cod_matricula"], $this->ref_cod_turma, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $exame["disc_ref_ref_cod_disciplina"], null, null, null, null, null, 1); $det_dispensa = $obj_dispensa->detalhe(); // Verifica se a quantiade de notas da disciplina é diferente da quantidade de módulos, se não foi dispensado da disciplina e se a média é menor que a média mínima if ($lst_notas != $this->num_modulo && !is_array($det_dispensa) && $exame["media"] < $this->media) { $obj_disciplina = new clsPmieducarDisciplina($exame["disc_ref_ref_cod_disciplina"]); $det_disciplina = $obj_disciplina->detalhe(); if ($det_disciplina) { // Carrega a disciplina que possui alunos com média abaixo da média mínima $lst_disciplina_aprovacao["{$exame["disc_ref_ref_cod_disciplina"]}"] = $det_disciplina["nm_disciplina"]; } } } $opcoes_disciplinas = array_unique($lst_disciplina_aprovacao); } } $this->campoRotulo("tipo_modulo", "Módulo", $this->modulo); $this->campoRotulo("numero_modulo", "Número do Módulo", $this->num_modulo); // $this->campoTexto( "tipo_modulo", "Módulo", $this->modulo, 30, 255, false, false, false, "", "", "", "onKeyUp", true ); $this->campoLista("ref_cod_disciplina", "Disciplina", $opcoes_disciplinas, $this->ref_cod_disciplina); if (is_numeric($this->ref_cod_disciplina)) { $this->tipoacao = "Novo"; // Verifica se a turma terminou o último módulo if ($this->qtd_modulos < $this->num_modulo) { $obj_nota_aluno = new clsPmieducarNotaAluno(); // Carrega as médias dos alunos por disciplina $lst_exame = $obj_nota_aluno->listaMedias($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $this->qtd_modulos, $this->ref_cod_curso, true, true, false, true); if (is_array($lst_exame)) { foreach ($lst_exame as $registro) { $obj_matricula = new clsPmieducarMatricula($registro["ref_ref_cod_matricula"], null, null, null, null, null, null, null, null, null, 1, null, 1, $this->modulo); $det_matricula = $obj_matricula->detalhe(); if ($registro["disc_ref_ref_cod_disciplina"] == $this->ref_cod_disciplina) { // Verifica se a média do aluno em uma disciplina está abaixo da média mínima if ($registro["media"] < $this->media) { if ($det_matricula) { $obj_aluno = new clsPmieducarAluno($det_matricula["ref_cod_aluno"]); $det_aluno = $obj_aluno->detalhe(); if ($det_aluno) { $obj_pessoa = new clsPessoa_($det_aluno["ref_idpes"]); $det_pessoa = $obj_pessoa->detalhe(); $obj_dispensa = new clsPmieducarDispensaDisciplina($this->ref_cod_turma, $det_matricula["cod_matricula"], $this->ref_cod_turma, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, null, null, null, null, null, 1); $det_dispensa = $obj_dispensa->detalhe(); // Verifica se o aluno não foi dispensado da disciplina if (!$det_dispensa) { if (is_numeric($this->ref_cod_tipo_avaliacao)) { $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($this->ref_cod_tipo_avaliacao, null, null, null, null, null, 1, null, $this->ref_cod_instituicao); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); // Verifica se o tipo de avaliação não é conceitual if ($det_tipo_avaliacao["conceitual"] == 0) { $this->campoOculto("nm_aluno_{$det_pessoa["idpes"]}", $det_pessoa["nome"]); $this->campoTextoInv("nm_aluno_{$det_pessoa["idpes"]}_", "Aluno", $det_pessoa["nome"], 30, 255, false, false, true); $this->lst_matriculas[] = array("{$det_matricula["ref_cod_aluno"]}", "{$det_pessoa["idpes"]}", "{$det_matricula["cod_matricula"]}"); $this->campoLista("nota_{$det_pessoa["idpes"]}", " Nota", $opcoes_valores, "", "", true); $this->exame = "S"; // Verifica se a falta não é globalizada e se não está na última disciplina if (!($this->falta_ch_globalizada == 1 && $this->qtd_disciplinas > 1)) { // Verifica se a disciplina apura faltas if ($this->lst_apura_falta[$this->ref_cod_disciplina] == 1) { // Verifica se o ano letivo ainda está em andamento if (!($this->num_modulo > $this->qtd_modulos)) { $this->campoNumero("faltas_{$det_pessoa["idpes"]}", " Faltas", "", 3, 3, true); } else { $this->exame = "S"; } } else { $this->campoLista("nota_{$det_pessoa["idpes"]}", " Nota", $opcoes_valores, "", "", false); } } } else { $this->campoTexto("nm_aluno_{$det_pessoa["idpes"]}", "Aluno", $det_pessoa["nome"], 30, 255, false, false, false, "", "", "", "onKeyUp", true); } } else { $this->campoTexto("nm_aluno_{$det_pessoa["idpes"]}", "Aluno", $det_pessoa["nome"], 30, 255, false, false, false, "", "", "", "onKeyUp", true); } } } } } } } } else { } } else { if (is_array($this->lst_matricula_turma)) { foreach ($this->lst_matricula_turma as $registro) { $obj_notas = new clsPmieducarNotaAluno(); // Carrega a quantidade de notas por aluno de uma turma numa determinada disciplina $lst_notas = $obj_notas->retornaDiscMod($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, $this->ref_cod_turma, $this->ref_cod_turma, $registro["ref_cod_matricula"]); //echo "matrc.: {$registro["ref_cod_matricula"]}<br>"; // echo "1 {$this->num_modulo} == ".( $lst_notas + 1 )."<br>"; if ($this->num_modulo == $lst_notas + 1) { $obj_matricula = new clsPmieducarMatricula(); $modulo_matric = $obj_matricula->numModulo($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $registro["ref_cod_matricula"]); $obj_matricula = new clsPmieducarMatricula($registro["ref_cod_matricula"], null, null, null, null, null, null, null, null, null, 1, null, 1, $this->modulo); $det_matricula = $obj_matricula->detalhe(); if ($det_matricula) { // echo "2 ".( $modulo_matric + 1 )." == {$this->num_modulo}<br>"; if ($modulo_matric + 1 == $this->num_modulo) { $obj_aluno = new clsPmieducarAluno($det_matricula["ref_cod_aluno"]); $det_aluno = $obj_aluno->detalhe(); if ($det_aluno) { $obj_pessoa = new clsPessoa_($det_aluno["ref_idpes"]); $det_pessoa = $obj_pessoa->detalhe(); $obj_dispensa = new clsPmieducarDispensaDisciplina(); $det_dispensa = $obj_dispensa->lista($this->ref_cod_turma, $det_matricula["cod_matricula"], $this->ref_cod_turma, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_disciplina, null, null, null, null, null, null, null, 1); $det_disciplina = $det_disciplina[0]; // Verifica se o aluno não foi dispensado da disciplina if (!$det_dispensa) { if (is_numeric($this->ref_cod_tipo_avaliacao)) { $obj_tipo_avaliacao = new clsPmieducarTipoAvaliacao($this->ref_cod_tipo_avaliacao, null, null, null, null, null, 1, null, $this->ref_cod_instituicao); $det_tipo_avaliacao = $obj_tipo_avaliacao->detalhe(); $this->campoOculto("nm_aluno_{$det_pessoa["idpes"]}", $det_pessoa["nome"]); $this->campoTextoInv("nm_aluno_{$det_pessoa["idpes"]}_", "Aluno", $det_pessoa["nome"], 30, 255, false, false, true); $this->lst_matriculas[] = array("{$det_matricula["ref_cod_aluno"]}", "{$det_pessoa["idpes"]}", "{$det_matricula["cod_matricula"]}"); $obj_nota_aluno = new clsPmieducarNotaAluno(); $disc_nota = $obj_nota_aluno->retornaDiscNota($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $det_matricula["cod_matricula"], $this->num_modulo); $obj_disciplina_serie = new clsPmieducarDisciplinaSerie(); $qtd_disc = $obj_disciplina_serie->retornaQtdDiscMat($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->ref_cod_turma, $this->ref_cod_turma, $det_matricula["cod_matricula"]); if ($this->falta_ch_globalizada == 1 && $disc_nota == $qtd_disc - 1) { $this->campoLista("nota_{$det_pessoa["idpes"]}", " Nota", $opcoes_valores, "", "", true); } else { $this->campoLista("nota_{$det_pessoa["idpes"]}", " Nota", $opcoes_valores, "", "", false); } // Verifica se a falta não é globalizada e se não está na última disciplina if (!($this->falta_ch_globalizada == 1 && $this->qtd_disciplinas > 1)) { // Verifica se a disciplina apura faltas if ($this->lst_apura_falta[$this->ref_cod_disciplina] == 1) { // Verifica se o ano letivo ainda está em andamento if (!($this->num_modulo > $this->qtd_modulos)) { $this->campoNumero("faltas_{$det_pessoa["idpes"]}", " Faltas", "", 3, 3, true); } else { $this->exame = "S"; } } else { $this->campoLista("nota_{$det_pessoa["idpes"]}", " Nota", $opcoes_valores, "", "", false); } } else { if ($this->falta_ch_globalizada == 1 && $disc_nota == $qtd_disc - 1) { // Verifica se o ano letivo ainda está em andamento if (!($this->num_modulo > $this->qtd_modulos)) { if ($this->num_modulo == $this->qtd_modulos) { $this->campoNumero("faltas_{$det_pessoa["idpes"]}", " Faltas", "", 3, 3, true, "", "", false, false, true); $this->campoLista("aprovacao_{$det_pessoa["idpes"]}", "", array("" => "Selecione", "S" => "Aprovado", "N" => "Reprovado"), ""); } else { $this->campoNumero("faltas_{$det_pessoa["idpes"]}", " Faltas", "", 3, 3, true); } } } } } else { $this->campoTexto("nm_aluno_{$det_pessoa["idpes"]}", "Aluno", $det_pessoa["nome"], 30, 255, false, false, false, "", "", "", "onKeyUp", true); } } } } } } } } } } } $this->lst_matriculas = serialize($this->lst_matriculas); $this->cod_disciplinas = serialize($this->cod_disciplinas); $this->lst_apura_falta = serialize($this->lst_apura_falta); $this->campoOculto("ref_cod_turma", $this->ref_cod_turma); $this->campoOculto("ref_ref_cod_escola", $this->ref_ref_cod_escola); $this->campoOculto("ref_ref_cod_serie", $this->ref_ref_cod_serie); $this->campoOculto("ref_cod_curso", $this->ref_cod_curso); $this->campoOculto("ref_cod_tipo_avaliacao", $this->ref_cod_tipo_avaliacao); $this->campoOculto("media", $this->media); $this->campoOculto("media_exame", $this->media_exame); $this->campoOculto("ano_letivo", $this->ano_letivo); $this->campoOculto("conceitual", $this->conceitual); $this->campoOculto("lst_matriculas", $this->lst_matriculas); $this->campoOculto("falta_ch_globalizada", $this->falta_ch_globalizada); $this->campoOculto("qtd_modulos", $this->qtd_modulos); $this->campoOculto("num_modulo", $this->num_modulo); $this->campoOculto("frequencia_minima", $this->frequencia_minima); $this->campoOculto("carga_horaria", $this->carga_horaria); $this->campoOculto("cod_disciplinas", $this->cod_disciplinas); $this->campoOculto("lst_apura_falta", $this->lst_apura_falta); $this->campoOculto("qtd_disciplinas", $this->qtd_disciplinas); $this->campoOculto("exame", $this->exame); $this->campoOculto("classifica", $this->classifica); }
function renderHTML() { if ($_POST) { foreach ($_POST as $key => $value) { $this->{$key} = $value; } } if (!$_POST) { echo '<script> alert("Erro ao gerar relatório!\\nNão existem dados!"); window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1)); </script>'; return true; } if (empty($this->cursos)) { echo '<script> alert("Erro ao gerar relatório!\\nNenhum curso selecionado!"); window.location = window.location; </script>'; return true; } if ($this->ref_cod_escola) { $obj_escola = new clsPmieducarEscola($this->ref_cod_escola); $det_escola = $obj_escola->detalhe(); $this->nm_escola = $det_escola['nome']; $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']); $det_instituicao = $obj_instituicao->detalhe(); $this->nm_instituicao = $det_instituicao['nm_instituicao']; } $obj_calendario = new clsPmieducarEscolaAnoLetivo(); $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1, null); if (!$lista_calendario) { echo '<script> alert("Escola não possui calendário definido para este ano"); window.location = window.location; </script>'; return true; } //$calendario = array_shift($lista_calendario); $obj_cal_ano_letivo = new clsPmieducarCalendarioAnoLetivo(); $lst_cal_ano_letivo = $obj_cal_ano_letivo->lista(null, $this->ref_cod_escola, null, null, $this->ano, null, null, null, null, 1, null, $this->ref_cod_instituicao); $calendario = array_shift($lst_cal_ano_letivo); $obj_calendario_dia = new clsPmieducarCalendarioDia(); $lista_dias = $obj_calendario_dia->lista($calendario['cod_calendario_ano_letivo'], $this->mes, null, null, null, null, null, null, null, 1); $dias_mes = array(); if ($lista_dias) { foreach ($lista_dias as $dia) { $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']); $det_motivo = $obj_motivo->detalhe(); $dias_mes[$dia['dia']] = strtolower($det_motivo['tipo']); } } //Dias previstos do mes // Qual o primeiro dia do mes $primeiroDiaDoMes = mktime(0, 0, 0, $this->mes, 1, $this->ano); // Quantos dias tem o mes $NumeroDiasMes = date('t', $primeiroDiaDoMes); //informacoes primeiro dia do mes $dateComponents = getdate($primeiroDiaDoMes); // What is the name of the month in question? $NomeMes = $mesesDoAno[$dateComponents['mon']]; // What is the index value (0-6) of the first day of the // month in question. $DiaSemana = $dateComponents['wday']; //total de dias uteis + dias extra-letivos - dia nao letivo - fim de semana $this->totalDiasUteis = 0; $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $inicio_ano = $obj_ano_letivo_modulo->menorData($this->ano, $this->ref_cod_escola); $inicio_ano = explode("-", $inicio_ano); for ($dia = 1; $dia <= $NumeroDiasMes; $dia++) { if ($DiaSemana >= 7) { $DiaSemana = 0; } if ($this->mes == $inicio_ano[1]) { if ($dia >= $inicio_ano[2]) { if ($DiaSemana != 0 && $DiaSemana != 6) { if (!(key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('n'))) { $this->totalDiasUteis++; } } elseif (key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('e')) { $this->totalDiasUteis++; } } } else { if ($DiaSemana != 0 && $DiaSemana != 6) { if (!(key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('n'))) { $this->totalDiasUteis++; } } elseif (key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('e')) { $this->totalDiasUteis++; } } $DiaSemana++; } $cursos_in = ''; $conc = ''; foreach ($this->cursos as $curso) { $cursos_in .= "{$conc}{$curso}"; $conc = ","; } $this->pdf = new clsPDF("Movimentação Mensal de Alunos - {$this->ano}", "Movimentação Mensal de Alunos - {$this->ano}", "A4", "", false, false); $this->pdf->largura = 842.0; $this->pdf->altura = 595.0; $fonte = 'arial'; $corTexto = '#000000'; $altura_linha = 23; $inicio_escrita_y = 175; $this->pdf->OpenPage(); $this->addCabecalho(); $this->novoCabecalho(); $quantidade_total = array(); foreach ($this->cursos as $curso) { //busca todas as series de um curso $obj_serie_cursos = new clsPmieducarSerie(); $lista_serie_cursos = $obj_serie_cursos->lista(null, null, null, $curso, null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao); $total_turmas_curso = 0; $total_curso = array(); for ($a = 0; $a < 30; $a++) { $total_curso[$a] = 0; } if ($lista_serie_cursos) { for ($a = 0; $a < 30; $a++) { $total_serie[$a] = 0; } foreach ($lista_serie_cursos as $serie) { $total_serie = array(); //nome da serie $nm_serie = $serie['nm_serie']; //MATRICULA INICIAL //busca todas turmas de cada serie $obj_serie_turmas = new clsPmieducarTurma(); $obj_serie_turmas->setOrderby("nm_turma"); $lista_serie_turmas = $obj_serie_turmas->lista(null, null, null, $serie['cod_serie'], $this->ref_cod_escola, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null); //total de turmas de uma serie $total_turmas_curso += $total_turmas_serie = $obj_serie_turmas->_total; if ($lista_serie_turmas) { $quantidades = array(); foreach ($lista_serie_turmas as $turma) { //professor regente da turma $obj_servidor = new clsPessoa_($turma['ref_cod_regente']); $det_sevidor = $obj_servidor->detalhe(); $nm_servidor = $det_sevidor['nome']; //nome da turma de uma serie $nm_turma = $turma['nm_turma']; if ($turma['hora_inicial'] <= '12:00') { $turno = 'M'; } elseif ($turma['hora_inicial'] > '12:00' && $turma['hora_inicial'] <= '18:00') { $turno = 'V'; } else { $turno = 'N'; } $depurar = false; if (trim($turma["nm_turma"]) == "202") { // $depurar=true; } /** * busca todos os alunos que foram matriculados nos meses anteriores ao atual */ $obj_matriculas = new clsPmieducarMatriculaTurma(); //$lista_matriculas = $obj_matriculas->lista(null,$turma['cod_turma'],null,null,null,null,null,null,1,$serie['cod_serie'],$curso,$this->ref_cod_escola,$this->ref_cod_instituicao,null,null,array( 1, 2, 3 ),((int)$this->mes === 1 ) ? $this->mes + 1: $this->mes,null,$this->ano ); //$lista_matriculas = $obj_matriculas->lista(null,$turma['cod_turma'],null,null,null,null,null,null,null,$serie['cod_serie'],$curso,$this->ref_cod_escola,$this->ref_cod_instituicao,null,null,null,((int)$this->mes === 1 ) ? $this->mes + 1: $this->mes,null,$this->ano ); $lista_matriculas = $obj_matriculas->lista(null, $turma['cod_turma'], null, null, null, null, null, null, null, $serie['cod_serie'], $curso, $this->ref_cod_escola, $this->ref_cod_instituicao, null, null, null, null, null, $this->ano, null, null, null, null, true, null, $this->mes, null, null, null, null, $depurar); $total_matriculas_turma = $obj_matriculas->_total; $total_matriculas_turma_masculino = 0; $total_matriculas_turma_feminino = 0; if ($lista_matriculas) { foreach ($lista_matriculas as $matricula) { $obj_matricula = new clsPmieducarMatricula($matricula['ref_cod_matricula']); $det_matricula = $obj_matricula->detalhe(); $obj_aluno = new clsPmieducarAluno($det_matricula['ref_cod_aluno']); $det_aluno = $obj_aluno->detalhe(); $obj_pessoa = new clsFisica($det_aluno['ref_idpes']); $det_pessoa = $obj_pessoa->detalhe(); if (strtoupper($det_pessoa['sexo']) == 'M') { $total_matriculas_turma_masculino++; } else { $total_matriculas_turma_feminino++; } } } //quantidades matricula inicial // M $quantidades[0] = $total_matriculas_turma_masculino; // F $quantidades[1] = $total_matriculas_turma_feminino; // T $quantidades[2] = $total_matriculas_turma; $db3 = new clsBanco(); if (trim($turma["nm_turma"]) == "304") { // echo "<pre>"; print_r($quantidades);// die(); } /*Array ( [0] => 15 [1] => 14 [2] => 29 ) EL. ENTURMACAO 48743 2 EL. TRANSFERENCIA 48775 1 AD ENTURMACAO 48816 4 EL. TRANSFERENCIA 54097 1 AD ENTURMACAO 54962 4 AD ENTURMACAO 55101 4 AD TRANSFERENCIA 57059 3 AD TRANSFERENCIA 57070 3*/ // echo $turma["cod_turma"]."<br>"; //sql para pegar o numero de alunos que // abandonaram e diminuir da soma final /*$sql = "SELECT COUNT(0) FROM pmieducar.matricula m, pmieducar.matricula_turma mt, pmieducar.aluno a, cadastro.fisica f WHERE mt.ref_cod_turma = {$turma["cod_turma"]} AND mt.ativo = 1 AND mt.ref_cod_matricula = m.cod_matricula AND m.ref_cod_aluno = a.cod_aluno AND a.ref_idpes = f.idpes AND sexo = 'M' AND ano = {$this->ano} AND m.aprovado not in(1,2,3) AND ( to_char(mt.data_cadastro,'MM')::int = '{$this->mes}' OR to_char(mt.data_exclusao,'MM')::int = '{$this->mes}')"; $diminui_masc = (int)$db3->CampoUnico($sql); if ($depurar) { echo $sql."<br>"; } $sql = "SELECT COUNT(0) FROM pmieducar.matricula m, pmieducar.matricula_turma mt, pmieducar.aluno a, cadastro.fisica f WHERE mt.ref_cod_turma = {$turma["cod_turma"]} AND mt.ativo = 1 AND mt.ref_cod_matricula = m.cod_matricula AND m.ref_cod_aluno = a.cod_aluno AND a.ref_idpes = f.idpes AND sexo = 'F' AND ano = {$this->ano} AND m.aprovado not in(1,2,3) AND ( to_char(mt.data_cadastro,'MM')::int = '{$this->mes}' OR to_char(mt.data_exclusao,'MM')::int = '{$this->mes}')"; $diminui_fem = (int)$db3->CampoUnico($sql); */ // $depurar = false; if ($depurar || $turma["nm_turma"] == "304") { // die($sql); // $depurar = true; } // $diminui_fem = $diminui_masc = 0; // ENTURMACAO /** * seleciona todas as matriculas com data_* no mes atual */ $sql_complemento = "OR (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tEXISTS (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSELECT 1 FROM pmieducar.transferencia_solicitacao ts WHERE ts.ativo = 1 AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t to_char(ts.data_transferencia,'MM')::int = {$this->mes} AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ts.ref_cod_matricula_saida = m.cod_matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t)"; $sql_complemento = ""; if ($depurar) { // $sql_complemento1 = "AND m.cod_matricula NOT IN (48743, 48775, 48816, 54097, 54962, 55101, 57059, 57070)"; // $sql_complemento1 = "AND m.cod_matricula NOT IN (48743, 48775, 48816, 54097, 54962, 55101, 57059)"; } $db = new clsBanco(); $consulta = "SELECT\n\t\t\t\t\t\t\t\t\t\t\tDISTINCT mt.ref_cod_matricula, mt.sequencial, mt.ativo\n\t\t\t\t\t\t\t\t\t\t FROM\n\t\t\t\t\t\t\t\t\t\t \tpmieducar.matricula_turma mt\n\t\t\t\t\t\t\t\t\t\t \t,pmieducar.matricula m\n\t\t\t\t\t\t\t\t\t\t WHERE\n\t\t\t\t\t\t\t\t\t\t \tmt.ref_cod_matricula = m.cod_matricula\n\t\t\t\t\t\t\t\t\t\t \tAND m.ano = {$this->ano}\n\t\t\t\t\t\t\t\t\t\t \tAND m.ativo = 1\n\t\t\t\t\t\t\t\t\t\t \tAND mt.ref_cod_turma = {$turma["cod_turma"]}\n\t\t\t\t\t\t\t\t\t\t \tAND (\tto_char(mt.data_cadastro,'MM')::int = {$this->mes}\n\t\t\t\t\t\t\t\t\t\t \t\tOR\n\t\t\t\t\t\t\t\t\t\t \t\t\tto_char(mt.data_exclusao,'MM')::int = {$this->mes}\n\t\t\t\t\t\t\t\t\t\t \t\t\t{$sql_complemento}\n\t\t\t\t\t\t\t\t\t\t \t\t)\n\t\t\t\t\t\t\t\t\t\t \tORDER BY\n\t\t\t\t\t\t\t\t\t\t \t\t1, 2, ativo"; $depurar = false; if ($depurar || trim($turma["nm_turma"]) == "202") { // $depurar = true; } $db->Consulta($consulta); $total_admitido_enturmacao = 0; $total_admitido_enturmacao_masc = 0; $total_admitido_enturmacao_fem = 0; $total_eliminado_enturmacao = 0; $total_eliminado_enturmacao_masc = 0; $total_eliminado_enturmacao_fem = 0; $total_reclassificacao = 0; $total_admitido_reclassificao = 0; $total_admitido_reclassificao_masc = 0; $total_admitido_reclassificao_fem = 0; $total_eliminado_reclassificacao = 0; $total_eliminado_reclassificacao_masc = 0; $total_eliminado_reclassificacao_fem = 0; $total_transferencia = 0; $total_admitido_transferencia = 0; $total_admitido_transferencia_masc = 0; $total_admitido_transferencia_fem = 0; $total_eliminado_transferencia = 0; $total_eliminado_transferencia_masc = 0; $total_eliminado_transferencia_fem = 0; $total_abandono = 0; //$diminui_fem + $diminui_masc; $total_abandono_masc = 0; //$diminui_masc; $total_abandono_fem = 0; //$diminui_fem; $diminui_fem = $diminui_masc = 0; $total_aprovado = 0; $total_aprovado_masc = 0; $total_aprovado_fem = 0; $matriculas_transferencia = array(); if ($db->Num_Linhas()) { $db2 = new clsBanco(); while ($db->ProximoRegistro()) { list($cod_matricula, $sequencial, $ativo) = $db->Tupla(); // $depurar=false; if ($cod_matricula == 48743) { // die("<br><br><br><br><br><br>".$ativo." ,______"); // $depurar=true; } $obj_matricula = new clsPmieducarMatricula($cod_matricula); $det_matricula = $obj_matricula->detalhe(); $obj_aluno = new clsPmieducarAluno($det_matricula['ref_cod_aluno']); $det_aluno = $obj_aluno->detalhe(); $obj_pessoa = new clsFisica($det_aluno['ref_idpes']); $det_pessoa = $obj_pessoa->detalhe(); $sexo = strtoupper($det_pessoa['sexo']); $consulta = "SELECT ativo\n\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula = '{$cod_matricula}'\n\t\t\t\t\t\t\t\t\t\t\t\t AND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = '{$turma['cod_turma']}'\n\t\t\t\t\t\t\t\t\t\t\t\t AND (data_cadastro, COALESCE(data_exclusao,now())) = ( SELECT data_cadastro, COALESCE(data_exclusao,now())\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula IN ( SELECT cod_matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t WHERE ano = '{$this->ano}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t AND ref_cod_aluno = ( SELECT DISTINCT ref_cod_aluno\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t \t\t\t\t\t FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t \t\t\t\t\t WHERE cod_matricula = '{$cod_matricula}' ) )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro desc,data_exclusao desc\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT 1 )\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro desc,data_exclusao desc,ativo "; /*OR to_char( data_exclusao,'MM')::int = '{$this->mes}'*/ $eh_ultima_matricula = $db2->CampoUnico($consulta); /** * nao eh a ultima matricula */ //02-07-07 //f(!is_numeric($eh_ultima_matricula) || $eh_ultima_matricula == 0 /*&& $eh_ultima_matricula != 0 && $eh_ultima_matricula != 1*/) if (!is_numeric($eh_ultima_matricula)) { $foi_admitido_transferencia = false; $foi_eliminado_transferencia = false; if ($cod_matricula == 48743) { // die("<br><br><br><br><br><br>".$ativo." ,______"); // $depurar=true; } /** * verifica se for a primeira enturmacao * se ela esta marcada como reclassificacao */ //echo "$cod_matricula-$sequencial<br>"; $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t AND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t AND (data_cadastro, COALESCE(data_exclusao,now())) = ( SELECT data_cadastro, COALESCE(data_exclusao,now())\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT 1 )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc,ativo "; /*OR to_char( data_exclusao,'MM')::int = '{$this->mes}' */ $eh_primeira_enturmacao_desta_matricula = $db2->CampoUnico($consulta); $consulta = "SELECT matricula_reclassificacao\n\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t WHERE cod_matricula = {$cod_matricula}"; $matricula_reclassificacao = $db2->CampoUnico($consulta); //ref_cod_matricula_saida $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula_entrada = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t AND ativo = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )"; $existe_transferencia = $db2->CampoUnico($consulta); /** * verifica se eh a primeira matricula do aluno */ $obj_matricula_aluno = new clsPmieducarMatricula(); $lst_matricula_aluno = $obj_matricula_aluno->lista(null, null, null, null, null, null, $det_aluno['cod_aluno'], null, null, null, null, null, $this->ano); $eh_primeira_matricula_do_aluno = count($lst_matricula_aluno) == 1 ? 1 : 0; $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t AND matricula_transferencia = true AND to_char(data_cadastro,'MM')::int = {$this->mes}"; $primeira_matricula_eh_transferencia = $db2->CampoUnico($consulta); $consulta = "SELECT max(sequencial)\n\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma\n\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula = {$cod_matricula}"; $max_sequencial = $db2->CampoUnico($consulta); if (is_numeric($primeira_matricula_eh_transferencia)) { $matriculas_transferencia[$cod_matricula] = $cod_matricula; $total_admitido_transferencia++; if ($depurar) { echo "AD TRANSFERENCIA {$cod_matricula} aquiiii<br>"; $matriculas[] = $cod_matricula; } if ($sexo == 'M') { $total_admitido_transferencia_masc++; } else { $total_admitido_transferencia_fem++; } } if ($eh_primeira_enturmacao_desta_matricula && $matricula_reclassificacao) { if ($depurar) { $matriculas[] = $cod_matricula; } $total_admitido_reclassificao++; if ($sexo == 'M') { $total_admitido_reclassificao_masc++; } else { $total_admitido_reclassificao_fem++; } } elseif ($eh_primeira_enturmacao_desta_matricula && $existe_transferencia || $eh_primeira_enturmacao_desta_matricula && $eh_primeira_matricula_do_aluno && $primeira_matricula_eh_transferencia) { if (is_numeric($existe_transferencia) && $existe_transferencia == 1) { if ($depurar) { echo "AD TRANSFERENCIA {$cod_matricula} 1<br>"; $matriculas[] = $cod_matricula; } if (!is_numeric(array_search($cod_matricula, $matriculas_transferencia))) { $total_admitido_transferencia++; if ($sexo == 'M') { $total_admitido_transferencia_masc++; } else { $total_admitido_transferencia_fem++; } $foi_admitido_transferencia = true; } } } else { if (!is_numeric($primeira_matricula_eh_transferencia) && $ativo == 1) { if ($depurar) { echo "AD ENTURMACAO {$cod_matricula} 1<br>"; $matriculas[] = $cod_matricula; } $total_admitido_enturmacao++; if ($sexo == 'M') { $total_admitido_enturmacao_masc++; } else { $total_admitido_enturmacao_fem++; } } } /** * verifica se eh a ultima enturmacao desta matricula */ $consulta = "SELECT ref_cod_turma\n\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t AND (ref_cod_turma,sequencial) = (SELECT ref_cod_turma, max(sequencial)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgroup by ref_cod_turma,data_cadastro\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torder by data_cadastro desc limit 1)"; $ultima_turma_enturmacao = $db2->CampoUnico($consulta); if ($ultima_turma_enturmacao == $turma['cod_turma']) { $consulta = "SELECT aprovado\n\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t WHERE cod_matricula = {$cod_matricula}"; $situacao = $db2->CampoUnico($consulta); $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula_saida = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t AND (ativo = 1 OR data_transferencia IS NOT NULL)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND(to_char(data_transferencia,'MM')::int = '{$this->mes}' OR data_transferencia IS NULL)"; $existe_transferencia = $db2->CampoUnico($consulta); if ($situacao <= 3 && is_numeric($existe_transferencia)) { //if($turma['cod_turma'] == 757) // echo "1-$cod_matricula-$matricula_reclassificacao<br>"; if ($ativo == 0) { $total_eliminado_enturmacao++; if ($depurar) { echo "EL. ENTURMACAO {$cod_matricula} 1<br>"; } if ($sexo == 'M') { $total_eliminado_enturmacao_masc++; } else { $total_eliminado_enturmacao_fem++; } } } else { if ($situacao == 5) { $total_eliminado_reclassificacao++; if ($sexo == 'M') { $total_eliminado_reclassificacao_masc++; } else { $total_eliminado_reclassificacao_fem++; } } if ($situacao == 4 && is_numeric($existe_transferencia)) { $total_eliminado_transferencia++; if ($depurar) { echo "EL. TRANSFERENCIA " . $cod_matricula . " 1<br>"; } if ($sexo == 'M') { $total_eliminado_transferencia_masc++; } else { $total_eliminado_transferencia_fem++; } /** * se for a primeira enturmacao mesmo que tenha * sido eliminado deve contabilizar uma * admissao por enturmacao */ if ($eh_primeira_enturmacao_desta_matricula && !$primeira_matricula_eh_transferencia && !$foi_admitido_transferencia) { //if($turma['cod_turma'] == 40) //echo "1-$cod_matricula<br>"; echo "AD ENTURMACAO {$cod_matricula} aaaaaaaaaaaaaa<br>"; $total_admitido_enturmacao++; if ($sexo == 'M') { $total_admitido_enturmacao_masc++; } else { $total_admitido_enturmacao_fem++; } } } elseif ($situacao == 6) { $total_abandono++; if ($sexo == 'M') { $total_abandono_masc++; } else { $total_abandono_fem++; } } elseif ($situacao == 1) { $total_aprovado++; if ($sexo == 'M') { $total_aprovado_masc++; } else { $total_aprovado_fem++; } } elseif ($situacao == 4 && !is_numeric($existe_transferencia) && is_numeric($eh_primeira_enturmacao_desta_matricula) && !$primeira_matricula_eh_transferencia) { //if($turma['cod_turma'] == 450) // echo "1-$cod_matricula<br>"; if ($depurar) { echo "AD ENTURMACAO {$cod_matricula} 2<br>"; $matriculas[] = $cod_matricula; } $total_admitido_enturmacao++; if ($sexo == 'M') { $total_admitido_enturmacao_masc++; } else { $total_admitido_enturmacao_fem++; } } } } else { if ($ativo == 0) { if ($sequencial <= $max_sequencial) { //if($turma['cod_turma'] == 757) //echo "2-$cod_matricula-$matricula_reclassificacao<br>"; $total_eliminado_enturmacao++; if ($depurar) { echo "EL. ENTURMACAO {$cod_matricula} 2<br>"; } if ($sexo == 'M') { $total_eliminado_enturmacao_masc++; } else { $total_eliminado_enturmacao_fem++; } if (is_numeric($eh_primeira_enturmacao_desta_matricula) && !$existe_transferencia && !$matricula_reclassificacao) { if ($depurar) { echo "AD ENTURMACAO {$cod_matricula} 3<br>"; $matriculas[] = $cod_matricula; } $total_admitido_enturmacao++; if ($sexo == 'M') { $total_admitido_enturmacao_masc++; } else { $total_admitido_enturmacao_fem++; } } } elseif (is_numeric($eh_primeira_enturmacao_desta_matricula)) { if ($primeira_matricula_eh_transferencia) { if ($depurar) { echo "AD TRANSFERENCIAAA {$cod_matricula} 2<BR>"; $matriculas[] = $cod_matricula; } if (!is_numeric(array_search($cod_matricula, $matriculas_transferencia))) { $total_admitido_transferencia++; if ($sexo == 'M') { $total_admitido_transferencia_masc++; } else { $total_admitido_transferencia_fem++; } } } elseif (!$existe_transferencia && !$matricula_reclassificacao) { if ($depurar) { echo "AD ENTURMACAO {$cod_matricula} 3<br>"; $matriculas[] = $cod_matricula; } $total_admitido_enturmacao++; if ($sexo == 'M') { $total_admitido_enturmacao_masc++; } else { $total_admitido_enturmacao_fem++; } } } } } } else { //echo "ref_cod_matricula = $cod_matricula //AND sequencial = $sequencial"; $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t AND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t AND (data_cadastro, COALESCE(data_exclusao,now())) = ( SELECT data_cadastro, COALESCE(data_exclusao,now())\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT 1 )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc,ativo "; /*OR to_char( data_exclusao,'MM')::int = '{$this->mes}'*/ $eh_primeira_enturmacao_desta_matricula = $db2->CampoUnico($consulta); $consulta = "SELECT matricula_reclassificacao\n\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t WHERE cod_matricula = {$cod_matricula}"; $matricula_reclassificacao = $db2->CampoUnico($consulta); /** * verifica se eh a primeira matricula do aluno */ $obj_matricula_aluno = new clsPmieducarMatricula(); $lst_matricula_aluno = $obj_matricula_aluno->lista(null, null, null, null, null, null, $det_aluno['cod_aluno']); $eh_primeira_matricula_do_aluno = count($lst_matricula_aluno) == 1 ? 1 : 0; $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t AND matricula_transferencia = true"; $primeira_matricula_eh_transferencia = $db2->CampoUnico($consulta); if (is_numeric($primeira_matricula_eh_transferencia)) { $matriculas_transferencia[$cod_matricula] = $cod_matricula; $total_admitido_transferencia++; if ($sexo == 'M') { $total_admitido_transferencia_masc++; } else { $total_admitido_transferencia_fem++; } } if ($eh_primeira_enturmacao_desta_matricula && $matricula_reclassificacao) { $total_admitido_reclassificao++; if ($depurar) { $matriculas[] = $cod_matricula; } if ($sexo == 'M') { $total_admitido_reclassificao_masc++; } else { $total_admitido_reclassificao_fem++; } } else { $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula_entrada = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t AND ativo = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )"; $existe_transferencia = (int) $db2->CampoUnico($consulta); //if($turma['cod_turma'] == 33 && $existe_transferencia) // echo "$cod_matricula<br>"; if (is_numeric($eh_primeira_enturmacao_desta_matricula) && $existe_transferencia && $existe_transferencia == 1 || is_numeric($eh_primeira_enturmacao_desta_matricula) && $eh_primeira_matricula_do_aluno && $primeira_matricula_eh_transferencia) { if ($depurar) { echo "AD TRANSFERENCIA {$cod_matricula} 3<br>"; $matriculas[] = $cod_matricula; } if (!is_numeric(array_search($cod_matricula, $matriculas_transferencia))) { $total_admitido_transferencia++; if ($sexo == 'M') { $total_admitido_transferencia_masc++; } else { $total_admitido_transferencia_fem++; } } } else { //if($det_matricula['aprovado'] != 4) // { //if($turma['cod_turma'] == 450) //echo "2-$cod_matricula<br>"; if (!is_numeric($primeira_matricula_eh_transferencia)) { $total_admitido_enturmacao++; if ($depurar) { echo "AD ENTURMACAO {$cod_matricula} 4<br>"; $matriculas[] = $cod_matricula; } if ($sexo == 'M') { $total_admitido_enturmacao_masc++; } else { $total_admitido_enturmacao_fem++; } } } } /** * verifica se eh a ultima enturmacao desta matricula */ $consulta = "SELECT ref_cod_turma\n\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t AND sequencial = (SELECT max(sequencial)\n\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula = {$cod_matricula})\n\t\t\t\t\t\t\t\t\t\t\t\t\torder by data_cadastro desc limit 1"; $ultima_turma_enturmacao = $db2->CampoUnico($consulta); //echo "$cod_matricula - $ultima_turma_enturmacao == {$turma['cod_turma']}"; if ($ultima_turma_enturmacao == $turma['cod_turma']) { $consulta = "SELECT aprovado\n\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t WHERE cod_matricula = {$cod_matricula}"; $situacao = $db2->CampoUnico($consulta); if ($situacao <= 3) { if ($ativo == 0) { //if($turma['cod_turma'] == 757) //echo "3-$cod_matricula-$matricula_reclassificacao<br>"; $total_eliminado_enturmacao++; if ($sexo == 'M') { $total_eliminado_enturmacao_masc++; } else { $total_eliminado_enturmacao_fem++; } } else { $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula_saida = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t AND (ativo = 1 OR data_transferencia IS NOT NULL)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND(to_char(data_transferencia,'MM')::int = '{$this->mes}' OR data_transferencia IS NULL)"; $existe_transferencia = $db2->CampoUnico($consulta); if (is_numeric($existe_transferencia) && $existe_transferencia == 1) { $total_eliminado_transferencia++; if ($depurar) { echo "EL TRANSFERENCIA " . $cod_matricula . " 2<br>"; } if ($sexo == 'M') { $total_eliminado_transferencia_masc++; } else { $total_eliminado_transferencia_fem++; } } //echo '<br>->'.$existe_transferencia = $db->CampoUnico($consulta); //echo '<-<br>'; } } else { //echo $turma['cod_turma'].'b'; //echo "enter.$cod_matricula"; $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t WHERE ref_cod_matricula_saida = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND (ativo = 1 OR data_transferencia IS NOT NULL)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND(to_char(data_transferencia,'MM')::int = '{$this->mes}' OR data_transferencia IS NULL)"; $existe_transferencia = $db2->CampoUnico($consulta); //echo $situacao.'<br>'; //if($turma['cod_turma'] == 33) //echo "$cod_matricula<br>"; if ($situacao == 5) { $total_eliminado_reclassificacao++; if ($sexo == 'M') { $total_eliminado_reclassificacao_masc++; } else { $total_eliminado_reclassificacao_fem++; } } elseif (is_numeric($existe_transferencia) && $existe_transferencia == 1) { $total_eliminado_transferencia++; if ($depurar) { echo "EL TRANSFERENCIA " . $cod_matricula . " 3<br>"; } if ($sexo == 'M') { $total_eliminado_transferencia_masc++; } else { $total_eliminado_transferencia_fem++; } } elseif ($situacao == 6) { $total_abandono++; if ($sexo == 'M') { $total_abandono_masc++; } else { $total_abandono_fem++; } } elseif ($situacao == 1 || $situacao == 2) { $total_aprovado++; if ($sexo == 'M') { $total_aprovado_masc++; } else { $total_aprovado_fem++; } } } } } } } // die(implode(",",$matriculas)); //ADMITIDOS ativo = 1 //admitido por enturmacao no mes atual //QUANTIDADES ENTURMACAO ADMITIDOS //M $quantidades[3] = $total_admitido_enturmacao_masc; //F $quantidades[4] = $total_admitido_enturmacao_fem; //T $quantidades[5] = $total_admitido_enturmacao; //ELIMINADOS ativo = 0 //QUANTIDADES ENTURMACAO ELIMINADOS //M $quantidades[6] = $total_eliminado_enturmacao_masc; //F $quantidades[7] = $total_eliminado_enturmacao_fem; //T $quantidades[8] = $total_eliminado_enturmacao; //RECLASSIFICACAO //ADMITIDOS //$obj_matriculas->_total = 0; //$primeiroDiaDoMes = mktime(0,0,0,9,1,2006); // $NumeroDiasMes = date('t',$primeiroDiaDoMes); // $ultimoDiaMes =date('d/m/Y',mktime(0,0,0,9,$NumeroDiasMes,2006)); /** * busca todas as matriculas marcadas como matricula_reclassificacao de uma serie de um curso * em seguida busca todas as matriculas_turma da matricula_turma ordenado por data e pegando a primeira matricula de reclassificacao * se essa matricula for igual a matricula atual do loop entao esta matricula * é uma reclassificacao */ //QUANTIDADES RECLASSIFICACAO ADMITIDOS //M $quantidades[9] = $total_admitido_reclassificao_masc; //F $quantidades[10] = $total_admitido_reclassificao_fem; //T $quantidades[11] = $total_admitido_reclassificao; //ELIMINADOS $obj_matriculas->_total = 0; //QUANTIDADES RECLASSIFICACAO ELIMINADOS //M $quantidades[12] = $total_eliminado_reclassificacao_masc; //F $quantidades[13] = $total_eliminado_reclassificacao_fem; //T $quantidades[14] = $total_eliminado_reclassificacao; //TRANSFERENCIA //ADMITIDOS ativo = 1 //QUANTIDADES TRASNFERENCIA ADMITIDOS //M $quantidades[15] = $total_admitido_transferencia_masc; //F $quantidades[16] = $total_admitido_transferencia_fem; //T $quantidades[17] = $total_admitido_transferencia; //ELIMINADOS aprovado = 4 //TRANSFERENCIA EXTERNA //QUANTIDADES TRANFERENCIA EXTERNO ELIMINADOS //M $quantidades[18] = $total_eliminado_transferencia_masc; //F $quantidades[19] = $total_eliminado_transferencia_fem; //T $quantidades[20] = $total_eliminado_transferencia; //ABANDONO /*$db2 = new clsBanco(); $consulta = " SELECT count(1) FROM pmieducar.matricula_turma ,pmieducar.matricula WHERE cod_matricula = ref_cod_matricula AND ref_cod_turma = {$turma['cod_turma']} AND aprovado = 6 AND matricula_turma.ativo = 1 AND matricula.ativo = 1 AND ( to_char( matricula_turma.data_cadastro,'MM')::int = {$this->mes} OR to_char( matricula_turma.data_exclusao,'MM')::int = {$this->mes} ) "; $total_transf = $db2->CampoUnico($consulta) ;*/ //QUANTIDADES ABANDONO //M $quantidades[21] = $total_abandono_masc; //F $quantidades[22] = $total_abandono_fem; //T $quantidades[23] = $total_abandono; //APROVADOS //QUANTIDADES APROVADOS //M $quantidades[24] = $total_aprovado_masc; //F $quantidades[25] = $total_aprovado_fem; //T $quantidades[26] = $total_aprovado; /** * Inicio linha */ $altura_linha = 18; $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha); $largura_linha = 18; for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) { //159 $this->pdf->linha_relativa($ct, $this->page_y, 0, 18); } //n $this->pdf->linha_relativa(50, $this->page_y, 0, 18); //ciclo $this->pdf->linha_relativa(134, $this->page_y, 0, 18); //turno $this->pdf->linha_relativa(149, $this->page_y, 0, 18); //professor $this->pdf->linha_relativa(275, $this->page_y, 0, 18); $largura_linha = 18; $index = 0; for ($ct = 260; $ct < 260 + 26 * 18; $ct += $largura_linha * 3) { $this->pdf->escreve_relativo($quantidades[$index] == 0 ? '' : $quantidades[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $this->pdf->escreve_relativo($quantidades[$index + 1] == 0 ? '' : $quantidades[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $this->pdf->escreve_relativo($quantidades[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $total_serie[$index] += $quantidades[$index]; $total_serie[$index + 1] += $quantidades[$index + 1]; $total_serie[$index + 2] += $quantidades[$index + 2]; $total_curso[$index] += $quantidades[$index]; $total_curso[$index + 1] += $quantidades[$index + 1]; $total_curso[$index + 2] += $quantidades[$index + 2]; $index += 3; } // echo '<pre>';print_r($total_curso); //matricula final // ( MI + Adm.Entur + Adm.Recla + Adm1.Transf ) - ( Elim.Entur + Elim.Recla + Elim.Transf + Abandono ) $quantidades[27] = $quantidades[0] + $quantidades[3] + $quantidades[9] + $quantidades[15] - ($quantidades[6] + $quantidades[12] + $quantidades[18] + $quantidades[21]); // - $diminui_masc; //F $quantidades[28] = $quantidades[1] + $quantidades[4] + $quantidades[10] + $quantidades[16] - ($quantidades[7] + $quantidades[13] + $quantidades[19] + $quantidades[22]); // - $diminui_fem; //T $quantidades[29] = $quantidades[2] + $quantidades[5] + $quantidades[11] + $quantidades[17] - ($quantidades[8] + $quantidades[14] + $quantidades[20] + $quantidades[23]); // - $diminui_fem - $diminui_masc; $this->pdf->escreve_relativo($quantidades[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $this->pdf->escreve_relativo($quantidades[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $this->pdf->escreve_relativo($quantidades[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $total_serie[$index] += $quantidades[$index]; $total_serie[$index + 1] += $quantidades[$index + 1]; $total_serie[$index + 2] += $quantidades[$index + 2]; $total_curso[$index] += $quantidades[$index]; $total_curso[$index + 1] += $quantidades[$index + 1]; $total_curso[$index + 2] += $quantidades[$index + 2]; $expande = 24; $numero_x = 12 + $expande; $this->pdf->escreve_relativo("", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left'); //posicao ciclo $ciclo_x = $expande + 15; $this->pdf->escreve_relativo("{$turma['nm_turma']}", $ciclo_x, $this->page_y + 3, 100, 50, $fonte, 7, $corTexto, 'center'); //posicao turno $turno_x = $ciclo_x + $expande + 28; $this->pdf->escreve_relativo("{$turno}", $turno_x, $this->page_y + 3, 100, 40, $fonte, 7, $corTexto, 'center'); $professor_x = 125 + $expande; $this->pdf->escreve_relativo("{$nm_servidor}", $professor_x + 5, $this->page_y + 5, 100, 40, $fonte, 6, $corTexto, 'center'); $this->page_y += 18; /** * Fim linha */ if ($this->page_y + $altura_linha > 498) { $this->pdf->ClosePage(); $this->pdf->OpenPage(); $this->addCabecalho(); $this->novoCabecalho(); } } } /** * subtototal */ $index = 0; $altura_linha = 18; $largura_linha = 18; if ($lista_serie_turmas) { $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha); for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) { $this->pdf->linha_relativa($ct, $this->page_y, 0, 18); } $this->pdf->linha_relativa(50, $this->page_y, 0, 18); $this->pdf->linha_relativa(275, $this->page_y, 0, 18); for ($ct = 260; $ct < 260 + 30 * 18; $ct += $largura_linha * 3) { $this->pdf->escreve_relativo($total_serie[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $this->pdf->escreve_relativo($total_serie[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $this->pdf->escreve_relativo($total_serie[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $index += 3; } $expande = 24; $numero_x = 12 + $expande; $this->pdf->escreve_relativo("{$total_turmas_serie}", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left'); $professor_x = 40 + $expande; $this->pdf->escreve_relativo("Subtotal {$nm_serie}", $professor_x + 5, $this->page_y + 3, 150, 40, $fonte, 7, $corTexto, 'center'); $this->page_y += 18; } /** * */ if ($this->page_y + $altura_linha > 498) { $this->pdf->ClosePage(); $this->pdf->OpenPage(); $this->addCabecalho(); $this->novoCabecalho(); } } if ($total_curso[0] > 0) { /** * TOTAL CURSO */ $altura_linha = 18; $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha); for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) { $this->pdf->linha_relativa($ct, $this->page_y, 0, 18); } //n $this->pdf->linha_relativa(50, $this->page_y, 0, 18); $this->pdf->linha_relativa(275, $this->page_y, 0, 18); $index = 0; for ($ct = 260; $ct < 260 + 30 * 18; $ct += $largura_linha * 3) { $this->pdf->escreve_relativo($total_curso[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $this->pdf->escreve_relativo($total_curso[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $this->pdf->escreve_relativo($total_curso[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $index += 3; } $expande = 24; $numero_x = 12 + $expande; $this->pdf->escreve_relativo("{$total_turmas_curso}", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left'); $obj_curso = new clsPmieducarCurso($curso); $det_curso = $obj_curso->detalhe(); $nm_curso = $det_curso['nm_curso']; $professor_x = 40 + $expande; $this->pdf->escreve_relativo("Total {$nm_curso}", $professor_x + 5, $this->page_y + 3, 150, 40, $fonte, 7, $corTexto, 'center'); $this->page_y += 18; } foreach ($total_curso as $key => $valor) { $quantidade_total[$key] += $valor; } /** * */ if ($this->page_y > 498) { $this->pdf->ClosePage(); $this->pdf->OpenPage(); $this->addCabecalho(); $this->novoCabecalho(); } } } $altura_linha = 18; $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha); for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) { $this->pdf->linha_relativa($ct, $this->page_y, 0, 18); } //n $this->pdf->linha_relativa(50, $this->page_y, 0, 18); $this->pdf->linha_relativa(275, $this->page_y, 0, 18); $index = 0; for ($ct = 260; $ct < 260 + 30 * 18; $ct += $largura_linha * 3) { $this->pdf->escreve_relativo($quantidade_total[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $this->pdf->escreve_relativo($quantidade_total[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $this->pdf->escreve_relativo($quantidade_total[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center'); $index += 3; } $expande = 24; $numero_x = 12 + $expande; $this->pdf->escreve_relativo("{$total_turmas_curso}", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left'); $obj_curso = new clsPmieducarCurso($curso); $det_curso = $obj_curso->detalhe(); $nm_curso = $det_curso['nm_curso']; $professor_x = 40 + $expande; $this->pdf->escreve_relativo("Total Geral", $professor_x + 20, $this->page_y + 3, 150, 40, $fonte, 7, $corTexto, 'center'); $this->page_y += 18; $this->rodape(); $this->pdf->ClosePage(); //header( "location: " . $this->pdf->GetLink() ); $this->pdf->CloseFile(); $this->get_link = $this->pdf->GetLink(); echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $this->get_link . "'}</script>"; echo "<html><center>Se o download não iniciar automaticamente <br /><a target='blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n\t\t\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t<a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br><img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\"></a>\n\t\t\t</span>\n\t\t\t</center>"; }
function Editar() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra(620, $this->pessoa_logada, 7, "educar_calendario_ano_letivo_lst.php"); $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $data_inicio = $obj_ano_letivo_modulo->menorData($this->ano, $this->ref_cod_escola); $data_fim = $obj_ano_letivo_modulo->maiorData($this->ano, $this->ref_cod_escola); if ($data_inicio && $data_fim) { $obj_calend_ano_letivo = new clsPmieducarCalendarioAnoLetivo($this->cod_calendario_ano_letivo, $this->ref_cod_escola, $this->pessoa_logada, null, $this->ano, null, null, 1); if ($obj_calend_ano_letivo->edita()) { $this->mensagem .= "Edição efetuada com sucesso.<br>"; header("Location: educar_calendario_ano_letivo_lst.php"); die; return true; } $this->mensagem = "Edição não realizada.<br>"; echo "<!--\nErro ao editar clsPmieducarCalendarioAnoLetivo\nvalores obrigatorios\nif( is_numeric( {$this->cod_calendario_ano_letivo} ) && is_numeric( {$this->ref_usuario_exc} ) )\n-->"; return false; } echo "<script> alert( 'Não foi possível definir as datas de início e fim do ano letivo.' ) </script>"; return false; /* $obj = new clsPmieducarCalendarioAnoLetivo($this->cod_calendario_ano_letivo, $this->ref_cod_escola, $this->pessoa_logada, $this->pessoa_logada, $this->ano, $this->data_cadastra, $this->data_exclusao, $this->ativo, $this->inicio_ano_letivo, $this->termino_ano_letivo); $editou = $obj->edita(); if( $editou ) { $this->mensagem .= "Edição efetuada com sucesso.<br>"; header( "Location: educar_calendario_ano_letivo_lst.php" ); die(); return true; } $this->mensagem = "Edição não realizada.<br>"; echo "<!--\nErro ao editar clsPmieducarCalendarioAnoLetivo\nvalores obrigatorios\nif( is_numeric( $this->cod_calendario_ano_letivo ) && is_numeric( $this->ref_usuario_exc ) )\n-->"; return false; */ }
/** * 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]); }