function renderHTML()
 {
     $relatorio = new relatorios("Relatório de Patch de Software", 210, false, "Patch de Software", "A4", "Prefeitura de Itajaí\nServidores\nRua Tijucas, 511 - Centro\nCEP. 88304-020 - Itajaí - SC");
     //tamanho do retangulo, tamanho das linhas.
     $relatorio->novaPagina();
     $this->cod_software_patch = $_GET['cod_software_patch'];
     $obj_patch = new clsPmicontrolesisSoftwarePatch($this->cod_software_patch);
     $det_patch = $obj_patch->detalhe();
     if (!$det_patch) {
         die("<center>Não foi possível encontrar o Patch solicitado</center>");
     }
     $obj_soft = new clsPmicontrolesisSoftware($det_patch['ref_cod_software']);
     $det_soft = $obj_soft->detalhe();
     $data_patch = dataFromPgToBr($det_patch['data_patch'], 'Y-d-m');
     $data_patch_ = dataFromPgToBr($det_patch['data_patch'], 'd/m/Y');
     $db = new clsBanco();
     $consulta = " SELECT data_patch\n\t\t\t\t        FROM pmicontrolesis.software_patch\n\t\t\t   \t       WHERE ativo = true\n\t\t\t\t         AND ref_cod_software = 1\n\t\t\t\t\t\tORDER BY data_patch DESC\n\t\t\t\t\t\t      OFFSET 1\n\t\t\t\t\t\t      LIMIT 1";
     $data_patch_anterior = $db->CampoUnico($consulta);
     $data_patch_anterior_ = dataFromPgToBr($data_patch_anterior, 'm/d/Y');
     $data_patch_anterior = dataFromPgToBr($data_patch_anterior, 'Y-d-m');
     $where_and = "";
     if ($data_patch_anterior) {
         $where_and = "  AND ( to_char(data_cadastro,'yyyy-mm-dd') > '{$data_patch_anterior}'\n\t\t\t\t\t         OR to_char(data_exclusao,'yyyy-mm-dd')   > '{$data_patch_anterior}'\n\t\t\t\t\t\t    )";
     }
     $consulta = "SELECT *\n\t\t\t\t\t   FROM pmicontrolesis.software_alteracao\n\t\t\t\t\t  WHERE ativo = true\n\t\t\t\t\t    AND ( to_char(data_cadastro,'yyyy-mm-dd')    <= '{$data_patch}'\n\t\t\t\t\t          OR to_char(data_exclusao,'yyyy-mm-dd') <= '{$data_patch}'\n\t\t\t\t\t\t    )\n\t\t\t\t\t\t{$where_and}";
     $db->Consulta($consulta);
     $periodo = $data_patch_ ? "      ALTERAÇÕES:{$data_patch_anterior_}-{$data_patch_}" : "";
     $opcoes_motivo = array('i' => 'Inserção', 'a' => 'Alteração', 'e' => 'Exclusão');
     $opcoes_tipo = array('s' => 'Script', 'b' => 'Banco');
     if ($db->Num_Linhas()) {
         $i = 0;
         $total = $db->Num_Linhas();
         $relatorio->novalinha(array("SISTEMA:  {$det_soft['nm_software']}{$periodo}        DATA PATCH:  {$data_patch_}"), 0, 13, true, "arial", false, "#d3d3d3", "#d3d3d3", "#000000");
         while ($db->ProximoRegistro()) {
             $registro = $db->Tupla();
             $registro['motivo'] = $opcoes_motivo[$registro['motivo']];
             $registro['tipo'] = $opcoes_tipo[$registro['tipo']];
             $num_linhas = 6 + (int) strlen($registro['descricao']) / 85;
             $data = $registro['data_exclusao'] ? dataFromPgToBr($registro['data_exclusao']) : dataFromPgToBr($registro['data_cadastro']);
             $relatorio->novalinha(array("Descrição de alterações:  {$registro['descricao']}\nMotivo Alteração: {$registro['motivo']}\nTipo Alteração:{$registro['tipo']}\nScript/Banco:{$registro['script_banco']}\nData: {$data}"), 0, $num_linhas * 10, false, "arial", false, "#ffffff", "#ffffff", "#ffffff", false, false, null, null, 'justify');
             $i++;
             if ($i < $total) {
                 $relatorio->novalinha(array(""), 0, 5, false, false, false, false, false, false, true);
             }
         }
         $link = $relatorio->fechaPdf();
     } else {
         $this->campoRotulo("aviso", "Aviso", "Nenhuma Registro neste relat&oacute;rio.");
     }
     echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $link . "'}</script>";
     echo "<html><center>Se o download não iniciar automaticamente <br /><a target='_blank' href='" . $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 cadastra()
 {
     // Cadastro do telefone da pessoa na tabela fone_pessoa
     if ($this->idpes && $this->tipo && $this->idpes_cad) {
         $db = new clsBanco();
         $db->Consulta("SELECT 1 FROM {$this->schema_cadastro}.{$this->tabela_telefone} WHERE idpes = '{$this->idpes}' AND tipo = '{$this->tipo}'");
         // Verifica se ja existe um telefone desse tipo cadastrado para essa pessoa
         if (!$db->Num_Linhas()) {
             // nao tem, cadastra 1 novo
             if ($this->ddd && $this->fone) {
                 $db->Consulta("INSERT INTO {$this->schema_cadastro}.{$this->tabela_telefone} (idpes, tipo, ddd, fone,origem_gravacao, idsis_cad, data_cad, operacao, idpes_cad) VALUES ('{$this->idpes}', '{$this->tipo}', '{$this->ddd}', '{$this->fone}','M', 17, NOW(), 'I', '{$this->idpes_cad}')");
                 return true;
             }
         } else {
             // jah tem, edita
             $this->edita();
             return true;
         }
     }
     return false;
 }
Exemplo n.º 3
0
 function Novo()
 {
     if (!$this->data_inicial) {
         $this->data_inicial = false;
     } else {
         $titulo = "({$this->data_inicial} - ";
         $data = explode("/", $this->data_inicial);
         $this->data_inicial = "{$data[2]}/{$data[1]}/{$data[0]}";
     }
     if (!$this->data_final) {
         $titulo .= date('d/m/Y', time()) . ")";
         $this->data_final = false;
     } else {
         $titulo .= "{$this->data_final})";
         $data = explode("/", $this->data_final);
         $this->data_final = "{$data[2]}/{$data[1]}/{$data[0]}";
     }
     // gera a lista de licitacoes deste periodo
     $where = "";
     if ($this->data_inicial) {
         $where .= " AND data_hora >= {$this->data_inicial}";
     }
     if ($this->data_final) {
         $where .= " AND data_hora <= {$this->data_final}";
     }
     $db = new clsBanco();
     $db2 = new clsBanco();
     $db->Consulta("\n\t\t\tSELECT \n\t\t\t\tcod_compras_licitacoes, \n\t\t\t\tref_ref_cod_pessoa_fj, \n\t\t\t\tref_cod_compras_modalidade, \n\t\t\t\tnumero, \n\t\t\t\tobjeto, \n\t\t\t\tdata_hora, \n\t\t\t\tref_pregoeiro, \n\t\t\t\tref_equipe1, \n\t\t\t\tref_equipe2, \n\t\t\t\tref_equipe3, \n\t\t\t\tano_processo, \n\t\t\t\tmes_processo, \n\t\t\t\tseq_processo, \n\t\t\t\tseq_portaria, \n\t\t\t\tano_portaria, \n\t\t\t\tvalor_referencia, \n\t\t\t\tvalor_real, \n\t\t\t\tref_cod_compras_final_pregao \n\t\t\tFROM \n\t\t\t\tcompras_licitacoes, \n\t\t\t\tcompras_pregao_execucao\n\t\t\tWHERE \n\t\t\t\tref_cod_compras_licitacoes = cod_compras_licitacoes \n\t\t\t\t{$where}\n\t\t");
     if ($db->Num_Linhas()) {
         $relatorio = new relatorios("Relatório de Licitações", 100, false, "Intranet - CTIMA", "A4h");
         $relatorio->setMargem(25, 25);
         while ($db->ProximoRegistro()) {
             $objPessoa = new clsPessoaFisica();
             $nm_final = "";
             list($cod_compras_licitacoes, $ref_ref_cod_pessoa_fj, $ref_cod_compras_modalidade, $numero, $objeto, $data_hora, $ref_pregoeiro, $ref_equipe1, $ref_equipe2, $ref_equipe3, $ano_processo, $mes_processo, $seq_processo, $seq_portaria, $ano_portaria, $valor_referencia, $valor_real, $ref_cod_compras_final_pregao) = $db->Tupla();
             if ($ref_cod_compras_final_pregao) {
                 $nm_final = $db2->UnicoCampo("SELECT nm_final FROM compras_final_pregao WHERE cod_compras_final_pregao = '{$ref_cod_compras_final_pregao}'");
             }
             list($nm_pregoeiro) = $objPessoa->queryRapida($ref_pregoeiro, "nome");
             list($nm_equipe1) = $objPessoa->queryRapida($ref_equipe1, "nome");
             $nm_equipe1 = substr($nm_equipe1, 0, 18) . "...";
             list($nm_equipe2) = $objPessoa->queryRapida($ref_equipe2, "nome");
             $nm_equipe2 = substr($nm_equipe2, 0, 18) . "...";
             list($nm_equipe3) = $objPessoa->queryRapida($ref_equipe3, "nome");
             $nm_equipe3 = substr($nm_equipe3, 0, 18) . "...";
             // escreve os dados da licitacao
             $relatorio->novalinha(array("Data", "Número"), 0, 13, true, "arial", 110);
             $relatorio->novalinha(array(date("d/m/Y", strtotime(substr($data_hora, 0, 19))), $numero), 0, 13, false, "arial", 110);
             $relatorio->novalinha(array("Processo", "Portaria"), 0, 13, true, "arial", 110);
             $relatorio->novalinha(array("{$ano_processo} {$mes_processo} {$seq_processo}", "{$ano_portaria} {$seq_portaria}"), 0, 13, false, "arial", 110);
             $relatorio->novalinha(array("Objeto:", $objeto), 0, 26, false, "arial", 110);
             $relatorio->novalinha(array("Pregoeiro:", $nm_pregoeiro), 0, 13, false, "arial", 110);
             $relatorio->novalinha(array("Equipe:", "{$nm_equipe1},", "{$nm_equipe2},", "{$nm_equipe3}."), 0, 13, false, "arial", 110);
             $relatorio->novalinha(array("Valor Referencia", "Valor Final", "Diferença", "%", "Status"), 0, 13, false, "arial", array(110, 100, 100, 70, 100));
             $porcentagem = 100;
             if ($valor_referencia) {
                 $porcentagem = 100 - $valor_real / $valor_referencia * 100;
             }
             $relatorio->novalinha(array(number_format($valor_referencia, "2", ",", "."), number_format($valor_real, "2", ",", "."), number_format($valor_referencia - $valor_real, "2", ",", "."), number_format($porcentagem, "2", ",", ".") . "%", $nm_final), 0, 13, false, "arial", array(110, 100, 100, 70, 100));
         }
         // pega o link e exibe ele ao usuario
         $link = $relatorio->fechaPdf();
         $this->campoRotulo("arquivo", "Arquivo", "<a href='" . $link . "'>Clique aqui para Baixar</a>");
     }
     $this->largura = "100%";
     return true;
 }
Exemplo n.º 4
0
 function pessoasGrupo($int_ref_cod_grupo, $str_ordenacao = false, $int_ativo = 1, $int_limite_ini = false, $int_limite_qtd = false)
 {
     $orderBy = "";
     $WHERE = "";
     if (is_string($str_ordenacao)) {
         $orderBy = "ORDER BY {$str_ordenacao}";
     }
     if (is_numeric($int_ativo)) {
         $WHERE = "AND ativo = {$int_ativo}";
     }
     $limit = "";
     if (is_numeric($int_limite_ini) && is_numeric($int_limite_qtd)) {
         $limit = " LIMIT {$int_limite_ini},{$int_limite_qtd}";
     }
     // Seleciona o total de registro da tabela
     $db = new clsBanco();
     $db->Consulta(" (select ref_ref_cod_pessoa_fj as id, 1 as tipo FROM pmiotopic.grupomoderador WHERE ref_cod_grupos = {$int_ref_cod_grupo} {$WHERE}\n\t\t\t\t\t\tUNION\n\t\t\t\t\t\tselect ref_idpes as id, 2 as tipo FROM pmiotopic.grupopessoa WHERE ref_cod_grupos = {$int_ref_cod_grupo}  {$WHERE}) {$orderBy} {$limit} ");
     $total = $db->Num_Linhas();
     $resultado = array();
     while ($db->ProximoRegistro()) {
         $tupla = $db->Tupla();
         $tupla["total"] = $total;
         $resultado[] = $tupla;
     }
     if (count($resultado)) {
         return $resultado;
     }
     return false;
 }
Exemplo n.º 5
0
 function RenderHTML()
 {
     $this->scriptNome = "agenda.php";
     $db = new clsBanco();
     $db2 = new clsBanco();
     // inicializacao de variaveis
     @session_start();
     $this->editor = $_SESSION['id_pessoa'];
     session_write_close();
     if ($_REQUEST["cod_agenda"]) {
         $this->agenda = $_REQUEST["cod_agenda"];
         $objAgenda = new clsAgenda($this->editor, false, $_REQUEST["cod_agenda"]);
     } else {
         $objAgenda = new clsAgenda($this->editor, $this->editor, false);
         $this->agenda = $objAgenda->getCodAgenda();
     }
     // Checa se a pessoa possui permissao (daqui por diante comeca a visualizar, editar, excluir, etc.)
     if (!$objAgenda->permissao_agenda()) {
         header("location: " . $this->scriptNome);
         die;
     }
     if (isset($_REQUEST["time"])) {
         $this->time_atual = $_REQUEST["time"];
     } else {
         $this->time_atual = time();
     }
     $this->time_amanha = $this->time_atual + 86400;
     $this->time_ontem = $this->time_atual - 86400;
     $this->time_real_atual = time();
     $this->data_atual = date("d/m/Y", $this->time_atual);
     $this->data_atual_db = date("Y-m-d", $this->time_atual);
     /*
     	DELETAR
     */
     if (isset($_GET["deletar"])) {
         $objAgenda->excluiCompromisso($_GET["deletar"]);
     }
     /*
     	EDITAR
     */
     if (isset($_POST["agenda_rap_id"])) {
         $objAgenda->edita_compromisso($_POST["agenda_rap_id"], $_POST["agenda_rap_titulo"], $_POST["agenda_rap_conteudo"], $_POST["agenda_rap_data"], $_POST["agenda_rap_hora"], $_POST["agenda_rap_horafim"], $_POST["agenda_rap_publico"], $_POST["agenda_rap_importante"]);
     }
     /*
     	INSERIR
     */
     if (isset($_POST["novo_hora_inicio"])) {
         $objAgenda->cadastraCompromisso(false, $_POST["novo_titulo"], $_POST["novo_descricao"], $_POST["novo_data"], $_POST["novo_hora_inicio"], $_POST["novo_hora_fim"], $_POST["novo_publico"], $_POST["novo_importante"], $_POST["novo_repetir_dias"], $_POST["novo_repetir_qtd"]);
     }
     /*
     	GRAVA NOTA PARA COMPROMISSO
     */
     if (isset($_POST["grava_compromisso"]) && is_numeric($_POST["grava_compromisso"])) {
         $objAgenda->edita_nota2compromisso($_POST["grava_compromisso"], $_POST["grava_hora_fim"]);
     }
     /*
     	RESTAURAR UMA VERSAO
     */
     if (isset($_GET["restaura"]) && isset($_GET["versao"])) {
         $objAgenda->restaura_versao($_GET["restaura"], $_GET["versao"]);
     }
     /*
     	INICIO DA PAGINA
     */
     $conteudo = "";
     $conteudo .= "\n\t\t<div id=\"DOM_expansivel\" class=\"DOM_expansivel\"></div>\n\t\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"3\" width=\"100%\">";
     $mesesArr = array("", "Janeiro", "Fevereiro", "Mar&ccedil;o", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");
     $diasArr = array("Domingo", "Segunda Feira", "Ter&ccedil;a Feira", "Quarta Feira", "Quinta Feira", "Sexta Feira", "S&aacute;bado");
     $this->arr_data_atual = array(date("d", $this->time_atual), date("n", $this->time_atual), date("Y", $this->time_atual), date("w", $this->time_atual));
     $amanhaArr = array(date("d", $this->time_amanha), date("n", $this->time_amanha), date("Y", $this->time_amanha), date("w", $this->time_amanha));
     $ontemArr = array(date("d", $this->time_ontem), date("n", $this->time_ontem), date("Y", $this->time_ontem), date("w", $this->time_ontem));
     $nm_agenda = $objAgenda->getNome();
     $this->publica = $objAgenda->getPublica();
     $this->dono = $objAgenda->getCodPessoaDono();
     /*
     	TOPO
     */
     if ($this->editor == $this->dono) {
         $preferencias = "<a href=\"agenda_preferencias.php\"><img src=\"imagens/nvp_agenda_preferencias.gif\" border=\"0\" title=\"Preferencias\" alt=\"Preferencias\"></a> &nbsp;<br>";
     }
     $conteudo .= "\n\t\t<tr>\n\t\t\t<td width=\"80%\" height=\"80\" class=\"escuro\">\n\t\t\t\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td width=\"80%\" style=\"padding-left:5px;\">\n\t\t\t\t\t\t\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" height=\"80\">\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<td rowspan=\"2\" valign=\"top\"><a href=\"{$this->scriptNome}?cod_agenda={$this->agenda}&time={$this->time_ontem}\"><img src=\"imagens/agenda_data_prev_dia.gif\" border=\"0\" title=\"Dia anterior: {$ontemArr[0]} de {$mesesArr[$ontemArr[1]]} de {$ontemArr[2]}\" alt=\"Dia anterior\"></a></td>\n\t\t\t\t\t\t\t\t\t<td background=\"imagens/agenda_data_bg.gif\" title=\"Dia: {$this->arr_data_atual[0]} de {$mesesArr[$this->arr_data_atual[1]]} de {$this->arr_data_atual[2]}\" align=\"center\"><span class=\"data1\">{$this->arr_data_atual[0]}<br></span><span class=\"data2\">" . strtoupper(substr($mesesArr[$this->arr_data_atual[1]], 0, 3)) . "<br><span class=\"data3\">{$this->arr_data_atual[2]}</span></td>\n\t\t\t\t\t\t\t\t\t<td rowspan=\"2\" valign=\"top\"><a href=\"{$this->scriptNome}?cod_agenda={$this->agenda}&time={$this->time_amanha}\"><img src=\"imagens/agenda_data_prox_dia.gif\" border=\"0\" title=\"Pr&oacute;ximo dia: {$amanhaArr[0]} de {$mesesArr[$amanhaArr[1]]} de {$amanhaArr[2]}\" alt=\"Pr&oacute;ximo dia\"></a></td>\n\t\t\t\t\t\t\t\t\t<td rowspan=\"2\" valign=\"top\" style=\"padding:5px;\"><span class=\"titulo\">{$diasArr[$this->arr_data_atual[3]]}</span></td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t<tr><td valign=\"top\"><img src=\"imagens/agenda_data_fundo.gif\" border=\"0\" title=\"Dia: {$this->arr_data_atual[0]} de {$mesesArr[$this->arr_data_atual[1]]} de {$this->arr_data_atual[2]}\" alt=\"{$this->arr_data_atual[0]} de {$mesesArr[$this->arr_data_atual[1]]} de {$this->arr_data_atual[2]}\"><td></tr>\n\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td width=\"20%\" valign=\"bottom\" align=\"right\">{$preferencias}<a href=\"agenda_imprimir.php?cod_agenda={$this->agenda}\"><img src=\"imagens/btn_imprimir.gif\" border=\"0\" title=\"Imprimir compromissos deste dia\" alt=\"Imprimir compromissos\"></a> &nbsp; </td>\n\t\t\t\t\t</tr>\n\t\t\t\t</table>\n\t\t\t</td>\n\t\t\t<td width=\"20%\" height=\"80\" valign=\"bottom\" align=\"center\" class=\"escuro\">\n\t\t\t\t<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" height=\"80\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td valign=\"top\" height=\"40\" align=\"center\">{$nm_agenda}</td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td valign=\"bottom\" height=\"40\"><span class=\"titulo\">Calendario</span></td>\n\t\t\t\t\t</tr>\n\t\t\t\t</table>\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td width=\"80%\" valign=\"top\" rowspan=\"5\" class=\"escuro\" style=\"padding:3px;\">\n\t\t\t\t<form id=\"agenda_principal\" method=\"POST\" action=\"\">\n\t\t\t\t\t<input type=\"hidden\" name=\"parametros\" id=\"parametros\" value=\"?cod_agenda={$this->agenda}&time={$this->time_atual}\">\n\t\t\t\t\t<input type=\"hidden\" name=\"cod_agenda\" id=\"agenda\" value=\"{$this->agenda}\">\n\t\t\t\t\t<input type=\"hidden\" name=\"time\" id=\"time\" value=\"{$this->time_atual}\">\n\t\t\t\t\t<input type=\"hidden\" name=\"data_atual\" id=\"data_atual\" value=\"{$this->data_atual}\">\n\t\t\t\t\t<input type=\"hidden\" name=\"agenda_publica\" id=\"agenda_publica\" value=\"{$this->publica}\">\n\t\t";
     if ($this->erro_msg) {
         $conteudo .= "<center><h3>{$this->erro_msg}</h3></center>";
     }
     $conteudo .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">";
     /*
      * 	COMPROMISSOS
      */
     if (!isset($_GET["versoes"])) {
         $this->compromissos = $objAgenda->listaCompromissosDia($this->data_atual);
         if ($this->compromissos) {
             foreach ($this->compromissos as $compromisso) {
                 $data_inicio = $compromisso["data_inicio"];
                 $cod_agenda_compromisso = $compromisso["cod_agenda_compromisso"];
                 $versao = $compromisso["versao"];
                 $data_fim = $compromisso["data_fim"];
                 $titulo = $compromisso["titulo"];
                 $descricao = $compromisso["descricao"];
                 $importante = $compromisso["importante"];
                 $publico = $compromisso["publico"];
                 /*
                 	variaveis que vao ser usadas para montar cada compromisso
                 */
                 $qtd_palavras_corta = 21;
                 $qtd_tit_copia_desc = 5;
                 $extras = 0;
                 $extenso = false;
                 $disp_conteudo = $descricao;
                 $img_publico = "";
                 $img_expandir = "";
                 $img_importante = "";
                 $img_versao = "";
                 $hora_inicio = date("H:i", strtotime($data_inicio));
                 if (strlen($data_inicio) > 11) {
                     $hora_inicio_disp = "{$hora_inicio} -";
                 } else {
                     $hora_inicio_disp = "";
                 }
                 $hora_fim = date("H:i", strtotime($data_fim));
                 $aberto = 1;
                 // TITULO
                 if ($titulo) {
                     $disp_titulo = $titulo;
                 } else {
                     // se nao tiver titulo pega as X primeiras palavras da descricao ( X = $qtd_tit_copia_desc )
                     $disp_titulo = implode(" ", array_slice(explode(" ", $descricao), 0, $qtd_tit_copia_desc));
                 }
                 $disp_titulo = "{$hora_inicio_disp} {$disp_titulo} - {$hora_fim}";
                 $disp_titulo = str_replace('"', '&quot;', $disp_titulo);
                 // DESCRICAO
                 // exibe apenas as primeira X palavras da descricao, se tiver mais corta e define como texto mto extenso ( X = $qtd_palavras_corta )
                 $descArr = explode(" ", $descricao);
                 if (count($descArr) > $qtd_palavras_corta) {
                     $extenso = true;
                     $disp_conteudo = implode(" ", array_slice($descArr, 0, $qtd_palavras_corta)) . "...";
                 }
                 $disp_conteudo = str_replace("\n", "<br>", $disp_conteudo);
                 // se o texto for muito extenso exibe o botao para expandir e retrair
                 if ($extenso) {
                     $img_expandir = "<a href=\"javascript:agenda_expandir( {$cod_agenda_compromisso} );\"><img src=\"imagens/agenda_icon_retraido.gif\" border=\"0\" alt=\"Expandir\" title=\"Expandir este compromisso\"></a>";
                     $aberto = 0;
                 }
                 // se a agenda for publica exibira os icones de compromisso publico ou ptrivado
                 if ($this->publica) {
                     if ($publico) {
                         // eh publico
                         $extras += 2;
                         $img_publico = "<img src=\"imagens/nvp_icon_olho.gif\" border=\"0\" alt=\"Publico\" title=\"Evento Publico\">";
                     } else {
                         $img_publico = "<img src=\"imagens/nvp_icon_olho2.gif\" border=\"0\" alt=\"Privado\" title=\"Evento Privado\">";
                     }
                 }
                 if ($importante) {
                     // imagem de impotante
                     $img_importante = "<br><img src=\"imagens/nvp_agenda_importante.gif\" border=\"0\" alt=\"Importante\" title=\"Compromisso IMPORTANTE!!\">";
                     // coloca o titulo dentro de um span com classe de alerta (somente se o compromisso ainda nao aconteceu)
                     if (strtotime($data_inicio) >= $this->time_real_atual) {
                         $disp_titulo = "<span class=\"alerta\">{$disp_titulo}</span>";
                     }
                     // eh importante
                     $extras += 1;
                 }
                 $max_versao = $objAgenda->getCompromissoVersao($cod_agenda_compromisso);
                 if ($max_versao > 1) {
                     $img_versao = "<br><a href=\"{$this->scriptNome}?cod_agenda={$this->agenda}&time={$this->time_atual}&versoes={$cod_agenda_compromisso}\"><img src=\"imagens/nvp_agenda_historico.gif\" border=\"0\" alt=\"Historico\" title=\"Clique para ver antigas vers&otilde;es deste compromisso\"></a>";
                 }
                 // se a hora atual for maior ele fica mais apagado porque eh antigo
                 if (strtotime($data_inicio) < $this->time_real_atual) {
                     // eh antigo
                     $extras += 4;
                     $class_titulo = "class=\"comp_tit_antigo\"";
                     $class_desc = "class=\"comp_antigo\"";
                 } else {
                     $class_titulo = "class=\"comp_tit\"";
                     $class_desc = "";
                 }
                 $classe = $classe == "claro" ? "escuro" : "claro";
                 if ($cod_agenda_compromisso) {
                     $img_padrao = "<a href=\"javascript: text2form( {$cod_agenda_compromisso} );\"><img src=\"imagens/nvp_agenda_editar.gif\" border=\"0\" alt=\"Editar\" title=\"Editar este compromisso\"></a><a href=\"javascript: excluir( {$cod_agenda_compromisso} );\"><img src=\"imagens/nvp_agenda_excluir.gif\" border=\"0\" alt=\"Excluir\" title=\"Excluir este compromisso\"></a>";
                 }
                 $conteudo .= "<tr>\n\t\t\t\t\t\t<td class=\"{$classe}\" valign=\"top\" width=\"19\"><div id=\"agenda_expandir_{$cod_agenda_compromisso}\">{$img_expandir}</div><br>{$img_publico}</td>\n\t\t\t\t\t\t<td class=\"{$classe}\" valign=\"top\">\n\t\t\t\t\t\t\t<a name=\"anch{$cod_agenda_compromisso}\"></a>\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"conteudo_original_{$cod_agenda_compromisso}\" id=\"conteudo_original_{$cod_agenda_compromisso}\" value=\"" . str_replace('"', '&quot;', $descricao) . "\">\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"titulo_original_{$cod_agenda_compromisso}\" id=\"titulo_original_{$cod_agenda_compromisso}\" value=\"" . str_replace('"', '&quot;', $titulo) . "\">\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"hora_original_ini_{$cod_agenda_compromisso}\" id=\"hora_original_ini_{$cod_agenda_compromisso}\" value=\"{$hora_inicio}\">\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"hora_original_fim_{$cod_agenda_compromisso}\" id=\"hora_original_fim_{$cod_agenda_compromisso}\" value=\"{$hora_fim}\">\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"data_original_{$cod_agenda_compromisso}\" id=\"data_original_{$cod_agenda_compromisso}\" value=\"{$this->data_atual}\">\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"extras_original_{$cod_agenda_compromisso}\" id=\"extras_original_{$cod_agenda_compromisso}\" value=\"{$extras}\">\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"aberto_{$cod_agenda_compromisso}\" id=\"aberto_{$cod_agenda_compromisso}\" value=\"{$aberto}\">\n\t\t\t\t\t\t\t<div id=\"compromisso_{$cod_agenda_compromisso}\">\n\t\t\t\t\t\t\t\t<div id=\"titulo_{$cod_agenda_compromisso}\" {$class_titulo}>{$disp_titulo}</div>\n\t\t\t\t\t\t\t\t<div id=\"conteudo_{$cod_agenda_compromisso}\" {$class_desc}>{$disp_conteudo}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td class=\"{$classe}\" width=\"75\" valign=\"top\"><div id=\"botoes_{$cod_agenda_compromisso}\">{$img_padrao}{$img_importante}{$img_versao}</div></td>\n\t\t\t\t\t</tr>";
             }
         }
         $classe = $classe == "claro" ? "escuro" : "claro";
         $conteudo .= "<tr><td colspan=\"3\" class=\"{$classe}\" align=\"center\" height=\"60\"><br><input type=\"button\" name=\"agenda_novo\" class=\"agenda_rap_botao\" id=\"agenda_novo\" value=\"Novo Compromisso\" onclick=\"novoForm();\"></td></tr>";
     } else {
         $this->versoes = $objAgenda->listaVersoes($_GET["versoes"]);
         // verifica se o compromisso eh mesmo dessa agenda
         $db->Consulta("SELECT 1 FROM agenda_compromisso WHERE ref_cod_agenda = '{$this->agenda}' AND cod_agenda_compromisso = '{$_GET["versoes"]}'");
         if ($db->Num_Linhas()) {
             // seleciona as versoes desse compromisso
             $db->Consulta("SELECT versao, ref_ref_cod_pessoa_cad, ativo, data_inicio, titulo, descricao, importante, publico, data_cadastro, data_fim FROM agenda_compromisso WHERE cod_agenda_compromisso = '{$_GET["versoes"]}' ORDER BY versao DESC");
             while ($db->ProximoRegistro()) {
                 unset($versao, $ref_ref_cod_pessoa_cad, $ativo, $data_inicio, $titulo, $descricao, $importante, $publico, $data_cadastro, $data_fim);
                 list($versao, $ref_ref_cod_pessoa_cad, $ativo, $data_inicio, $titulo, $descricao, $importante, $publico, $data_cadastro, $data_fim) = $db->Tupla();
                 $nome = $db2->CampoUnico("SELECT nome FROM cadastro.pessoa WHERE idpes = '{$ref_ref_cod_pessoa_cad}'");
                 $ativo = $ativo ? "<b>Ativo</b>" : "Inativo";
                 $importante = $importante ? "Sim" : "N&atilde;o";
                 $publico = $publico ? "Sim" : "N&atilde;o";
                 if ($data_fim) {
                     $data_fim = date("d/m/Y H:i", strtotime($data_fim));
                 } else {
                     $data_fim = "Este compromisso era uma Anota&ccedil;&atilde;o";
                 }
                 $conteudo .= "<tr><td>Vers&atilde;o:</td><td>{$versao}</td></tr>\n";
                 $conteudo .= "<tr><td>Titulo:</td><td>{$titulo}</td></tr>\n";
                 $conteudo .= "<tr><td>Inicio:</td><td>" . date("d/m/Y H:i", strtotime($data_inicio)) . "</td></tr>\n";
                 $conteudo .= "<tr><td>Fim:</td><td>{$data_fim}</td></tr>\n";
                 $conteudo .= "<tr><td>Descricao:</td><td>" . str_replace("\n", "<br>\n", $descricao) . "</td></tr>\n";
                 $conteudo .= "<tr><td>Status:</td><td>{$ativo}</td></tr>\n";
                 $conteudo .= "<tr><td>Importante:</td><td>{$importante}</td></tr>\n";
                 $conteudo .= "<tr><td>Publico:</td><td>{$publico}</td></tr>\n";
                 $conteudo .= "<tr><td>Respons&aacute;vel:</td><td>{$nome}</td></tr>\n";
                 $conteudo .= "<tr><td>Reativar?</td><td><a href=\"{$this->scriptNome}?cod_agenda={$this->agenda}&time={$this->time_atual}&restaura={$_GET["versoes"]}&versao={$versao}\">Clique aqui para reativar esta vers&atilde;o</a></td></tr>\n";
                 $conteudo .= "<tr><td colspan=\"2\"><hr></td></tr>\n";
             }
             $conteudo .= "<tr><td colspan=\"2\" align=\"center\"><input type=\"button\" name=\"voltar\" value=\"Voltar\" class=\"agenda_rap_botao\" onclick=\"document.location.href='{$this->scriptNome}?cod_agenda={$this->agenda}&time={$this->time_atual}'\"></td></tr>";
         }
     }
     /*
      *	fim da pagina
      */
     $conteudo .= "</table>\n\t\t\t\t\t</form>\n\t\t\t\t</td>\n\t\t\t\t<td width=\"20%\" valign=\"top\" align=\"center\" class=\"escuro\">\n\t\t";
     $objCalendario = new calendario($this->time_atual, "{$this->scriptNome}?cod_agenda={$this->agenda}");
     $conteudo .= $objCalendario->gera_calendario();
     $conteudo .= "\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td align=\"center\" class=\"escuro\"><span class=\"titulo\">Importante</span></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td class=\"escuro\" valign=\"top\">";
     $db->Consulta("SELECT data_inicio, titulo, descricao FROM agenda_compromisso WHERE ref_cod_agenda = '{$this->agenda}' AND ativo = 1 AND importante = 1 AND data_inicio > NOW() ORDER BY data_inicio ASC LIMIT 5 OFFSET 0");
     while ($db->ProximoRegistro()) {
         list($aviso_inicio, $aviso_titulo, $aviso_descricao) = $db->Tupla();
         $avis_desc_arr = explode(" ", $aviso_descricao);
         if (count($avis_desc_arr) > 25) {
             $aviso_descricao = implode(" ", array_slice($avis_desc_arr, 0, 25)) . "...";
         }
         if (!$aviso_titulo) {
             $aviso_titulo = implode(" ", array_slice($avis_desc_arr, 0, 7)) . "...";
         }
         $aviso_time = strtotime($aviso_inicio);
         $conteudo .= "<span title=\"{$aviso_descricao}\">\n\t\t\t\t<a href=\"{$this->scriptNome}?cod_agenda={$this->agenda}&time={$aviso_time}\"><b>" . date("d/m/Y", $aviso_time) . " - " . date("H:i", $aviso_time) . "</b></a><br>\n\t\t\t\t{$aviso_titulo}\n\t\t\t</span>\n\t\t\t<br><br>";
     }
     $conteudo .= "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td align=\"center\" class=\"escuro\"><span class=\"titulo\">Anota&ccedil;&otilde;es</span></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td class=\"escuro\" valign=\"top\">\n\t\t\t\t\t<form id=\"notas\" action=\"\" method=\"POST\">\n\t\t\t\t\t\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n\t\t";
     unset($cod_agenda_compromisso, $versao, $data_inicio, $data_fim, $titulo, $descricao, $importante, $publico);
     $i = 0;
     $db->Consulta("SELECT cod_agenda_compromisso, versao, data_inicio, data_fim, titulo, descricao, importante, publico FROM agenda_compromisso WHERE ref_cod_agenda = '{$this->agenda}' AND ativo = 1 AND data_fim IS NULL AND data_inicio >= '{$this->data_atual_db}' AND data_inicio <= '{$this->data_atual_db} 23:59:59' ORDER BY data_inicio ASC");
     while ($db->ProximoRegistro()) {
         list($cod_agenda_compromisso, $versao, $data_inicio, $data_fim, $titulo, $descricao, $importante, $publico) = $db->Tupla();
         $conteudo .= "<tr><td><input class=\"notas\" type=\"text\" name=\"nota_{$i}\" id=\"nota_{$i}\" value=\"{$titulo}\"></td><td><a href=\"javascript: salvaNota( {$cod_agenda_compromisso} );\"><img src=\"imagens/nvp_agenda_compromisso.gif\" border=\"0\" alt=\"Salvar\" title=\"Salvar como Compromisso\"></a></td></tr>";
         $i++;
     }
     $conteudo .= "\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</form>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</table>";
     return $conteudo;
 }
 function renderHTML()
 {
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     if (!is_numeric($this->ref_cod_escola) || !is_numeric($this->ref_cod_curso) || !is_numeric($this->ref_cod_serie) || !is_numeric($this->ref_cod_turma) || !is_numeric($this->ano)) {
         print $this->getError();
         return;
     }
     // Instituição
     $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
     $nm_instituicao = $obj_instituicao->detalhe();
     $nm_instituicao = $nm_instituicao['nm_instituicao'];
     // Escola
     $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
     $nm_escola = $obj_escola->detalhe();
     $nm_escola = $nm_escola['nome'];
     // Curso
     $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $obj_curso->setCamposLista('media, media_exame, nm_curso');
     $det_curso = $obj_curso->detalhe();
     $nm_curso = $det_curso['nm_curso'];
     // Série
     $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
     $obj_serie->setCamposLista('nm_serie');
     $det_serie = $obj_serie->detalhe();
     $nm_serie = $det_serie['nm_serie'];
     $regraId = $det_serie['regra_avaliacao_id'];
     // Turma
     $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
     $obj_turma->setCamposLista('nm_turma');
     $det_turma = $obj_turma->detalhe();
     $nm_turma = $det_turma['nm_turma'];
     // Situação da matrícula do aluno (aprovado)
     $situacao = $this->ano == date('Y') ? App_Model_MatriculaSituacao::EM_ANDAMENTO : implode(', ', array(App_Model_MatriculaSituacao::APROVADO, App_Model_MatriculaSituacao::REPROVADO, App_Model_MatriculaSituacao::EM_ANDAMENTO));
     $sql = sprintf('
   SELECT
     m.cod_matricula,
     (
     SELECT
       nome
     FROM
       pmieducar.aluno al,
       cadastro.pessoa
     WHERE
       al.cod_aluno = m.ref_cod_aluno
       AND al.ref_idpes = pessoa.idpes
     ) AS nome
   FROM
     pmieducar.matricula m,
     pmieducar.matricula_turma mt
   WHERE
     mt.ref_cod_turma = %d
     AND mt.ref_cod_matricula = m.cod_matricula
     AND m.aprovado IN (%s)
     AND mt.ativo = 1
     AND m.ativo = 1
     AND m.ano = %d
   ORDER BY
     nome', $this->ref_cod_turma, $situacao, $this->ano);
     $db = new clsBanco();
     $db->Consulta($sql);
     // Mappers
     $regraMapper = new RegraAvaliacao_Model_RegraDataMapper();
     $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper();
     $regra = $regraMapper->find($regraId);
     if (is_null($regra->formulaRecuperacao)) {
         $regra = 'A regra de avaliação dessa série não possui uma fórmula de cálculo de recuperação.';
     } else {
         $regra = sprintf('Recuperação: %s; fórmula: %s.', $regra->formulaRecuperacao, $regra->formulaRecuperacao->formulaMedia);
     }
     if ($db->Num_Linhas()) {
         $alunos = array();
         // Instancia objeto de relatório padrão
         $detalhes = sprintf('%s%s%s%s%s%s%s - Turma: %s         %s', $nm_instituicao, "\n", $nm_escola, "\n", $nm_curso, "\n", $nm_serie, $nm_turma, date('d/m/Y'));
         $relatorio = new relatorios('Relação de alunos em exame', 210, FALSE, 'Relação de alunos em exame', 'A4', $detalhes);
         $relatorio->exibe_produzido_por = FALSE;
         $relatorio->setMargem(20, 20, 20, 20);
         $relatorio->novalinha(array(sprintf('Nome Escola: %s    Ano: %d', $nm_escola, $this->ano)), 0, 12, TRUE, 'arial', FALSE, '#000000', '#d3d3d3', '#FFFFFF', FALSE, TRUE);
         $relatorio->novalinha(array(sprintf('Curso: %s    Ano/Série: %s    Turma: %s', $nm_curso, $nm_serie, $nm_turma)), 0, 12, TRUE, 'arial', FALSE, '#000000', '#d3d3d3', '#FFFFFF', FALSE, TRUE);
         $relatorio->novalinha(array(sprintf('%s    Data: %s', $regra, date('d/m/Y'))), 0, 12, TRUE, 'arial', FALSE, '#000000', '#d3d3d3', '#FFFFFF', FALSE, TRUE);
         $relatorio->novalinha(array('Mat.', 'Nome Aluno', 'Componentes', 'Média', 'Nota necessária (mín.)'), 0, 12, TRUE, 'arial', array(30, 180, 150, 60), '#515151', '#d3d3d3', '#FFFFFF', FALSE, TRUE);
         while ($db->ProximoRegistro()) {
             list($cod_matricula, $nome_aluno) = $db->Tupla();
             $boletim = new Avaliacao_Service_Boletim(array('matricula' => $cod_matricula, 'RegraDataMapper' => $regraMapper, 'ComponenteDataMapper' => $componenteMapper));
             $componentes = $boletim->getComponentes();
             $medias = $boletim->getMediasComponentes();
             $situacao = $boletim->getSituacaoComponentesCurriculares();
             if ($situacao->situacao != App_Model_MatriculaSituacao::EM_EXAME) {
                 continue;
             }
             foreach ($situacao->componentesCurriculares as $id => $situacaoComponente) {
                 if ($situacaoComponente->situacao != App_Model_MatriculaSituacao::EM_EXAME) {
                     continue;
                 }
                 $mediaRecuperacao = $boletim->preverNotaRecuperacao($id);
                 if (!is_null($mediaRecuperacao)) {
                     $previsao = sprintf('%s (%.2f)', $mediaRecuperacao->nome, $mediaRecuperacao->valorMinimo);
                 } else {
                     $previsao = 'Nenhuma nota possível.';
                 }
                 $data = array($cod_matricula, $nome_aluno, $componentes[$id], $medias[$id][0]->mediaArredondada, $previsao);
                 $relatorio->novalinha($data, 0, 12, FALSE, 'arial', array(30, 180, 150, 60), '#515151', '#d3d3d3', '#FFFFFF', FALSE, TRUE);
             }
         }
     } else {
         print $this->getError();
         return;
     }
     $this->get_link = $relatorio->fechaPdf();
     echo sprintf('
   <script>
     window.onload=function()
     {
       parent.EscondeDiv("LoadImprimir");
       window.location="download.php?filename=%s"
     }
   </script>', $this->get_link);
     echo sprintf('
   <html>
     <center>
       Se o download não iniciar automaticamente <br>
       <a target="blank" href="%s" style="font-size: 16px; color: #000000; text-decoration: underline;">clique aqui!</a><br><br>
       <span style="font-size: 10px;">
         Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>
         Clique na Imagem para Baixar o instalador<br><br>
         <a href="http://www.adobe.com.br/products/acrobat/readstep2.html" target="new"><br><img src="imagens/acrobat.gif" width="88" height="31" border="0"></a>
       </span>
     </center>
   </html>', $this->get_link);
 }
 /**
  * @global $coreExt
  */
 function renderHTML()
 {
     global $coreExt;
     $config = $coreExt['Config']->app->template->pdf;
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     if (empty($this->ref_cod_instituicao)) {
         echo '
   <script>
     alert("Erro ao gerar relatório!\\nNenhuma instituição selecionada!");
     window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
   </script>';
         return TRUE;
     }
     $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
     $det_instituicao = $obj_instituicao->detalhe();
     $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     if ($this->ref_cod_escola) {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $this->nm_escola = $det_escola['nome'];
     }
     if ($this->ref_cod_escola) {
         $sql = sprintf('
     SELECT
       s.cod_servidor,
       p.nome,
       sn.nm_subnivel,
       sn.salario,
       n.nm_nivel
     FROM
       pmieducar.servidor s,
       pmieducar.subnivel sn,
       pmieducar.nivel n,
       cadastro.pessoa p,
       pmieducar.servidor_alocacao a
     WHERE
       s.cod_servidor = p.idpes
       AND s.ref_cod_subnivel IS NOT NULL
       AND s.ref_cod_subnivel = sn.cod_subnivel
       AND sn.ref_cod_nivel = n.cod_nivel
       AND s.ref_cod_instituicao = %d
       AND a.ref_cod_servidor = s.cod_servidor
       AND a.ref_cod_escola = %d
       %s
       AND s.ativo = 1
     ORDER BY
       p.nome', $this->ref_cod_instituicao, $this->ref_cod_escola, $where);
     } else {
         $sql = sprintf('
     SELECT
       s.cod_servidor,
       p.nome,
       sn.nm_subnivel,
       sn.salario,
       n.nm_nivel
     FROM
       pmieducar.servidor s,
       pmieducar.subnivel sn,
       pmieducar.nivel n,
       cadastro.pessoa p
     WHERE
       s.cod_servidor = p.idpes
       AND s.ref_cod_subnivel IS NOT NULL
       AND s.ref_cod_subnivel = sn.cod_subnivel
       AND sn.ref_cod_nivel = n.cod_nivel
       AND s.ref_cod_instituicao = %d
       %s
       AND s.ativo  = 1
     ORDER BY
       p.nome', $this->ref_cod_instituicao, $where);
     }
     $db = new clsBanco();
     $db->Consulta($sql);
     if ($db->Num_Linhas()) {
         $relatorio = new relatorios('Servidores por Nível', 210, FALSE, 'Servidores por Nível', 'A4', $config->get($config->titulo, 'i-Educar') . "\n" . $this->nm_escola);
         $relatorio->setMargem(20, 20, 50, 50);
         $relatorio->exibe_produzido_por = FALSE;
         $relatorio->novalinha(array('Nome', 'Nível', 'Salário'), 0, 16, TRUE, 'arial', array(75, 320, 100), '#515151', '#d3d3d3', '#FFFFFF', FALSE, TRUE);
         while ($db->ProximoRegistro()) {
             list($cod_servidor, $nome, $subnivel, $salario, $nivel) = $db->Tupla();
             $relatorio->novalinha(array($nome, "{$nivel[$subnivel]}", $salario), 0, 16, FALSE, 'arial', array(75, 330, 80), '#515151', '#d3d3d3', '#FFFFFF', FALSE, FALSE);
         }
         $this->get_link = $relatorio->fechaPdf();
         echo sprintf('
     <script>
       window.onload = function()
       {
         parent.EscondeDiv("LoadImprimir");
         window.location="download.php?filename=%s"
       }
     </script>', $this->get_link);
         echo sprintf('
     <html>
       <center>
         Se o download não iniciar automaticamente <br /><a target="blank" href="%s" style="font-size: 16px; color: #000000; text-decoration: underline;">clique aqui!</a><br><br>
         <span style="font-size: 10px;">Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>
           Clique na Imagem para Baixar o instalador<br><br>
           <a href="http://www.adobe.com.br/products/acrobat/readstep2.html" target="new"><br><img src="imagens/acrobat.gif" width="88" height="31" border="0"></a>
         </span>
       </center>
     </html>', $this->get_link);
     } else {
         echo '
     <script>
       window.onload = function()
       {
         parent.EscondeDiv("LoadImprimir");
       }
     </script>
     <center>Nenhum servidor cadastrado ou categorizado em níveis.</center>';
     }
 }
Exemplo n.º 8
0
require_once "include/clsEmail.inc.php";
require_once "include/Geral.inc.php";
// Configuracoes
$verbose = true;
$limite = 300;
if ($verbose) {
    echo "verbose!\n";
}
$emails_enviados = array();
$conteudos = array();
$enviados = 0;
$db = new clsBanco();
$db2 = new clsBanco();
$db->Consulta("SELECT cod_mailling_fila_envio, ref_cod_mailling_email_conteudo, ref_cod_mailling_email, ref_ref_cod_pessoa_fj, data_cadastro FROM mailling_fila_envio WHERE data_envio IS NULL ORDER BY data_cadastro DESC LIMIT {$limite} OFFSET 0");
if ($verbose) {
    echo "selecionados " . $db->Num_Linhas() . " emails que aguardavam na fila!\n";
}
while ($db->ProximoRegistro()) {
    list($cod_fila, $cod_conteudo, $cod_email, $cod_funcionario, $data_cadastro) = $db->Tupla();
    $email = "";
    if (!$conteudos[$cod_conteudo]) {
        // cria o array para cada conteudo para gerenciar os e-mails que jah receberam este conteudo
        if (!is_array($emails_enviados[$cod_conteudo])) {
            $emails_enviados[$cod_conteudo] = array();
        }
        $db2->Consulta("SELECT conteudo, assunto, nm_remetente, email_remetente FROM mailling_email_conteudo WHERE cod_mailling_email_conteudo = '{$cod_conteudo}'");
        $db2->ProximoRegistro();
        list($conteudo, $assunto, $rem_nome, $rem_email) = $db2->Tupla();
        $conteudos[$cod_conteudo]["conteudo"] = $conteudo;
        $conteudos[$cod_conteudo]["assunto"] = $assunto;
        $conteudos[$cod_conteudo]["rem_nome"] = $rem_nome;
 function Novo()
 {
     if ($this->secretaria != 0) {
         if ($this->data_inicial != "" || $this->data_final != "") {
             $AND = '';
             if ($this->data_inicial) {
                 $data = explode("/", $this->data_inicial);
                 $dia_i = $data[0];
                 $mes_i = $data[1];
                 $ano_i = $data[2];
                 $data_inicial = $ano_i . "/" . $mes_i . "/" . $dia_i . " 00:00:00";
                 $AND = " AND data_pedido >= '{$data_inicial}'";
             }
             if ($this->data_final) {
                 $data_ = explode("/", $this->data_final);
                 $dia_f = $data_[0];
                 $mes_f = $data_[1];
                 $ano_f = $data_[2];
                 $data_final = $ano_f . "/" . $mes_f . "/" . $dia_f . " 23:59:59";
                 $AND .= " AND data_pedido <= '{$data_final}'";
             }
         }
         if ($this->secretaria) {
             $sql = "SELECT d.ref_funcionario, d.vl100 + d.vl75 + d.vl50 + d.vl25 FROM pmidrh.diaria d, portal.funcionario f, pmidrh.setor s where d.ref_funcionario = f.ref_cod_pessoa_fj AND d.ref_cod_setor = {$this->secretaria} AND d.ativo = 't' {$AND} GROUP BY d.ref_funcionario, d.vl100, d.vl75, d.vl50, d.vl25";
             //$sql = "SELECT d.ref_funcionario, sum( COALESCE(d.vl100,1) + COALESCE(d.vl75,1) + COALESCE(d.vl50,1) + COALESCE(d.vl25,1) ) FROM pmidrh.diaria d, portal.funcionario f, pmidrh.setor s where d.ref_funcionario = f.ref_cod_pessoa_fj AND d.ref_cod_setor = {$this->secretaria} AND d.ativo = 't' {$AND} GROUP BY d.ref_funcionario";
             $db = new clsBanco();
             $nome = $db->campoUnico(" SELECT nm_setor FROM pmidrh.setor WHERE cod_setor = {$this->secretaria}");
             $relatorio = new relatorios("Relatório de Diárias por Secretaria\nSecretaria: {$nome}", 200, false, "SEGPOG - Departamento de Logística", "A4", "Prefeitura de Itajaí\nSEGPOG - Departamento de Logística\nRua Alberto Werner, 100 - Vila Operária\nCEP. 88304-053 - Itajaí - SC");
             //tamanho do retangulo, tamanho das linhas.
             $relatorio->novaPagina(30, 28);
             $relatorio->novalinha(array("Funcionário", "Valor Total"), 0, 13, true);
             $db = new clsBanco();
             $db->Consulta($sql);
             if ($db->Num_Linhas()) {
                 while ($db->ProximoRegistro()) {
                     list($cod_funcionario, $v100, $v75, $v50, $v25) = $db->Tupla();
                     $db2 = new clsBanco();
                     $nome_funcionario = $db2->campoUnico("SELECT nome FROM cadastro.pessoa WHERE idpes = {$cod_funcionario}");
                     $relatorio->novalinha(array($nome_funcionario, number_format($v100 + $v75 + $v50 + $v25, 2, ',', '.')), 1, 13);
                 }
                 // pega o link e exibe ele ao usuario
                 $link = $relatorio->fechaPdf();
                 $this->campoRotulo("arquivo", "Arquivo", "<a href='" . $link . "'>Visualizar Relatório</a>");
             } else {
                 $this->campoRotulo("aviso", "Aviso", "Nenhum Funcionário neste relatório.");
             }
         } else {
             $this->campoRotulo("aviso", "Aviso", "Escolha uma Secretaria.");
         }
         $this->largura = "100%";
         return true;
     } else {
         $this->campoRotulo("aviso", "Aviso", "Nenhum Funcionário neste relatório.");
     }
 }
Exemplo n.º 10
0
 function montaTabelaMatricula()
 {
     $sql = sprintf('SELECT
           cod_matricula
         FROM
           pmieducar.matricula
         WHERE
           ref_cod_aluno = %d
           AND ativo = 1
         ORDER BY
           cod_matricula DESC', $this->cod_aluno);
     $db = new clsBanco();
     $db->Consulta($sql);
     if ($db->Num_Linhas()) {
         while ($db->ProximoRegistro()) {
             list($ref_cod_matricula) = $db->Tupla();
             if (is_numeric($ref_cod_matricula)) {
                 $obj_matricula = new clsPmieducarMatricula();
                 $obj_matricula->setOrderby('ano ASC');
                 $lst_matricula = $obj_matricula->lista($ref_cod_matricula);
                 if ($lst_matricula) {
                     $registro = array_shift($lst_matricula);
                 }
                 $table .= sprintf('<table class="tableDetalhe">
            <tr class="formdktd">
              <td colspan="2"><strong>Matrícula - Ano %d</strong></td>
            </tr>', $registro['ano']);
                 $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'];
                 $obj_serie = new clsPmieducarSerie($registro['ref_ref_cod_serie']);
                 $det_serie = $obj_serie->detalhe();
                 $nm_serie = $det_serie['nm_serie'];
                 $obj_cod_instituicao = new clsPmieducarInstituicao($registro['ref_cod_instituicao']);
                 $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
                 $nm_instituicao = $obj_cod_instituicao_det['nm_instituicao'];
                 $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'];
                 $obj_mat_turma = new clsPmieducarMatriculaTurma();
                 $det_mat_turma = $obj_mat_turma->lista($ref_cod_matricula, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
                 if ($det_mat_turma) {
                     $det_mat_turma = array_shift($det_mat_turma);
                     $obj_turma = new clsPmieducarTurma($det_mat_turma['ref_cod_turma']);
                     $det_turma = $obj_turma->detalhe();
                     $nm_turma = $det_turma['nm_turma'];
                 } else {
                     $nm_turma = '';
                 }
                 $transferencias = array();
                 if ($registro['aprovado'] == 1) {
                     $aprovado = 'Aprovado';
                 } elseif ($registro['aprovado'] == 2) {
                     $aprovado = 'Reprovado';
                 } elseif ($registro['aprovado'] == 3) {
                     $aprovado = 'Em Andamento';
                 } elseif ($registro['aprovado'] == 4) {
                     if (is_numeric($registro['cod_matricula'])) {
                         $aprovado = 'Transferido';
                         $sql = sprintf('SELECT
                     ref_cod_matricula_entrada,
                     ref_cod_matricula_saida,
                     to_char(data_transferencia, \'DD/MM/YYYY\') AS dt_transferencia
                   FROM
                     pmieducar.transferencia_solicitacao
                   WHERE
                     (ref_cod_matricula_entrada = %d
                     OR ref_cod_matricula_saida = %d)
                     AND ativo = 1', $registro['cod_matricula'], $registro['cod_matricula']);
                         $db2 = new clsBanco();
                         $db2->Consulta($sql);
                         if ($db2->Num_Linhas()) {
                             while ($db2->ProximoRegistro()) {
                                 list($ref_cod_matricula_entrada, $ref_cod_matricula_saida, $dt_transferencia) = $db2->Tupla();
                                 if ($ref_cod_matricula_saida == $registro['cod_matricula']) {
                                     $transferencias[] = array('data_trans' => $dt_transferencia, 'desc' => 'Data Transferência Saída');
                                 } elseif ($ref_cod_matricula_entrada == $registro['cod_matricula']) {
                                     $transferencias[] = array('data_trans' => $dt_transferencia, 'desc' => 'Data Transferência Admissão');
                                 }
                             }
                         }
                     }
                 } elseif ($registro['aprovado'] == 5) {
                     $aprovado = 'Reclassificado';
                 } elseif ($registro['aprovado'] == 6) {
                     $aprovado = 'Abandono';
                 } elseif ($registro['aprovado'] == 7) {
                     $aprovado = 'Em Exame';
                 }
                 $formando = $registro['formando'] == 0 ? 'Não' : 'Sim';
                 $table .= sprintf('<tr class="formlttd"><td>Número da Matrícula</td><td>%s</td></tr>', $registro['cod_matricula']);
                 $table .= sprintf('<tr class="formmdtd"><td>Instituição</td><td>%s</td></tr>', $nm_instituicao);
                 $table .= sprintf('<tr class="formlttd"><td>Escola</td><td>%s</td></tr>', $nm_escola);
                 $table .= sprintf('<tr class="formmdtd"><td>Série</td><td>%s</td></tr>', $nm_serie);
                 $table .= sprintf('<tr class="formlttd"><td>Turma</td><td>%s</td></tr>', $nm_turma);
                 $table .= sprintf('<tr class="formmdtd"><td>Situação</td><td>%s</td></tr>', $aprovado);
                 $class = 'formmdtd';
                 if (is_array($transferencias)) {
                     asort($transferencias);
                     foreach ($transferencias as $trans) {
                         $table .= sprintf('<tr class="%s"><td>%s</td><td>%s</td></tr>', $class, $trans['desc'], $trans['data_trans']);
                         $class = $class == 'formmdtd' ? 'formlttd' : 'formmdtd';
                     }
                 }
                 if ($registro['aprovado'] < 4) {
                     if (is_numeric($registro["cod_matricula"])) {
                         $sql = sprintf('SELECT
                     to_char(data_transferencia, \'DD/MM/YYYY\')
                   FROM
                     pmieducar.transferencia_solicitacao
                   WHERE
                     ref_cod_matricula_entrada = %d
                     AND ativo = 1', $registro['cod_matricula']);
                         $db2 = new clsBanco();
                         $data_transferencia = $db2->CampoUnico($sql);
                         if ($data_transferencia) {
                             $table .= sprintf('
               <tr class="%s">
                 <td>Data Transferência Admissão</td>
                 <td>%s</td>
               </tr>', $class, $data_transferencia);
                             $class = $class == 'formmdtd' ? 'formlttd' : 'formmdtd';
                         }
                     }
                 }
                 $table .= sprintf('<tr class="%s"><td>Formando</td><td>%s</td></tr>', $class == 'formmdtd' ? 'formlttd' : 'formmdtd', $formando);
                 $table .= '</table>';
             }
         }
     } else {
         return '<strong>O aluno não está matriculado em nenhuma escola</strong>';
     }
     return $table;
 }
    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>";
    }
Exemplo n.º 12
0
 /**
  * Faz o login do usuário.
  * @param  mixed  $acao
  */
 public function Logar($acao)
 {
     if ($acao) {
         $login = @$_POST['login'];
         $senha = md5(@$_POST['senha']);
         $db = new clsBanco();
         $db->Consulta("SELECT ref_cod_pessoa_fj FROM funcionario WHERE matricula = '{$login}'");
         if ($db->ProximoRegistro()) {
             list($idpes) = $db->Tupla();
             // Padrão: meia hora atrás
             $intervalo = date("Y-m-d H:i", time() - 60 * 1);
             // Se o último login bem sucedido foi em menos de meia hora, conta somente dali para a frente
             $db->consulta("SELECT data_hora FROM acesso WHERE cod_pessoa = '{$idpes}' AND data_hora > '{$intervalo}' AND sucesso = 't' ORDER BY data_hora DESC LIMIT 1");
             if ($db->Num_Linhas()) {
                 $db->ProximoRegistro();
                 list($intervalo) = $db->Tupla();
             }
             // Trava usuário se tentar login mais de 5 vezes
             $tentativas = $db->CampoUnico("SELECT COUNT(0) FROM acesso WHERE cod_pessoa = '{$idpes}' AND data_hora > '{$intervalo}' AND sucesso = 'f'");
             if ($tentativas > 5) {
                 $hora_ultima_tentativa = $db->CampoUnico("SELECT data_hora FROM acesso WHERE cod_pessoa = '{$idpes}' ORDER BY data_hora DESC LIMIT 1 OFFSET 4");
                 $hora_ultima_tentativa = explode(".", $hora_ultima_tentativa);
                 $hora_ultima_tentativa = $hora_ultima_tentativa[0];
                 $data_libera = date("d/m/Y H:i", strtotime($hora_ultima_tentativa) + 60 * 30);
                 die("<html><body></body><script>alert('Houveram mais de 5 tentativas frustradas de acessar a sua conta na última meia hora.\\nPor segurança, sua conta ficará interditada até: {$data_libera}');document.location.href='/intranet';</script></html>");
             }
             $db->Consulta("SELECT ref_cod_pessoa_fj, opcao_menu, ativo, tempo_expira_senha, tempo_expira_conta, data_troca_senha, data_reativa_conta, proibido, ref_cod_setor_new, tipo_menu FROM funcionario WHERE ref_cod_pessoa_fj = '{$idpes}' AND senha = '{$senha}'");
             if ($db->ProximoRegistro()) {
                 list($id_pessoa, $opcaomenu, $ativo, $tempo_senha, $tempo_conta, $data_senha, $data_conta, $proibido, $setor_new, $tipo_menu) = $db->Tupla();
                 if (!$proibido) {
                     if ($ativo) {
                         // Usuário ativo, verifica se a conta expirou
                         $expirada = FALSE;
                         if (!empty($tempo_conta) && !empty($data_conta)) {
                             if (time() - strtotime($data_conta) > $tempo_conta * 60 * 60 * 24) {
                                 // Conta expirada
                                 $db->Consulta("UPDATE funcionario SET ativo='0' WHERE ref_cod_pessoa_fj = '{$id_pessoa}'");
                                 die("<html><body></body><script>alert( 'Sua conta na intranet expirou.\nContacte um administrador para reativa-la.' );document.location.href='/intranet';</script></html>");
                             }
                         }
                         // Vendo se a senha não expirou
                         if (!empty($tempo_senha) && !empty($data_senha)) {
                             if (time() - strtotime($data_senha) > $tempo_senha * 60 * 60 * 24) {
                                 // Senha expirada, pede que mude a senha
                                 die("<html><body><form id='reenvio' name='reenvio' action='usuario_trocasenha.php' method='POST'><input type='hidden' name='cod_pessoa' value='{$id_pessoa}'></form></body><script>document.getElementById('reenvio').submit();</script></html>");
                             }
                         }
                         // Pega o endereço IP do host, primeiro com HTTP_X_FORWARDED_FOR (para pegar o IP real
                         // caso o host esteja atrás de um proxy)
                         if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '') {
                             // No caso de múltiplos IPs, pega o último da lista
                             $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
                             $ip_maquina = trim(array_pop($ip));
                         } else {
                             $ip_maquina = $_SERVER['REMOTE_ADDR'];
                         }
                         $sql = "SELECT ip_logado, data_login FROM funcionario WHERE ref_cod_pessoa_fj = {$id_pessoa}";
                         $db2 = new clsBanco();
                         $db2->Consulta($sql);
                         while ($db2->ProximoRegistro()) {
                             list($ip_banco, $data_login) = $db2->Tupla();
                             if ($ip_banco) {
                                 if (abs(time() - strftime("now") - strtotime($data_login)) <= 10 * 60 && $ip_banco != $ip_maquina) {
                                     die("<html><body></body><script>alert('Conta já em uso.\\nTente novamente mais tarde');document.location.href='/intranet';</script></html>");
                                 } else {
                                     $sql = "UPDATE funcionario SET data_login = NOW() WHERE ref_cod_pessoa_fj = {$id_pessoa}";
                                     $db2->Consulta($sql);
                                 }
                             } else {
                                 $sql = "UPDATE funcionario SET ip_logado = '{$ip_maquina}', data_login = NOW() WHERE ref_cod_pessoa_fj = {$id_pessoa}";
                                 $db2->Consulta($sql);
                             }
                         }
                         // Login do usuário, grava dados na sessão
                         @session_start();
                         $_SESSION = array();
                         $_SESSION['itj_controle'] = 'logado';
                         $_SESSION['id_pessoa'] = $id_pessoa;
                         $_SESSION['pessoa_setor'] = $setor_new;
                         $_SESSION['menu_opt'] = unserialize($opcaomenu);
                         $_SESSION['tipo_menu'] = $tipo_menu;
                         @session_write_close();
                         $this->logado = TRUE;
                     } else {
                         if (!empty($tempo_conta) && !empty($data_conta)) {
                             if (time() - strtotime($data_conta) > $tempo_conta * 60 * 60 * 24) {
                                 $this->erroMsg = "Sua conta expirou. Contacte o administrador para reativá-la.";
                                 $expirada = 1;
                             } else {
                                 $this->erroMsg = "Sua conta n&atilde;o est&aacute; ativa. Use a op&ccedil;&atilde;o 'Nunca usei a intrenet'.";
                                 $expirada = 0;
                             }
                         }
                     }
                 } else {
                     $this->erroMsg = "Imposs&iacute;vel realizar login.";
                     $this->logado = FALSE;
                 }
             } else {
                 if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '') {
                     // No caso de múltiplos IPs, pega o último da lista
                     $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
                     $ip_de_rede = trim(array_pop($ip));
                 }
                 $ip = empty($_SERVER['REMOTE_ADDR']) ? 'NULL' : $_SERVER['REMOTE_ADDR'];
                 $ip_de_rede = empty($ip_de_rede) ? 'NULL' : $ip_de_rede;
                 $db->Consulta("INSERT INTO acesso (data_hora, ip_externo, ip_interno, cod_pessoa, sucesso) VALUES (now(), '{$ip}', '{$ip_de_rede}',  {$idpes}, 'f')");
                 $this->erroMsg = 'Login ou Senha incorretos.';
                 $this->logado = FALSE;
             }
         } else {
             $this->erroMsg = "Login ou Senha incorretos.";
             $this->logado = FALSE;
         }
     } else {
         $arquivo = 'templates/nvp_htmlloginintranet.tpl';
         $ptrTpl = fopen($arquivo, "r");
         $strArquivo = fread($ptrTpl, filesize($arquivo));
         if ($this->erroMsg) {
             $strArquivo = str_replace("<!-- #&ERROLOGIN&# -->", $this->erroMsg, $strArquivo);
         }
         fclose($ptrTpl);
         die($strArquivo);
         // @todo
         #throw new Exception($strArquivo);
     }
 }
    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;
        }
        $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
        $det_instituicao = $obj_instituicao->detalhe();
        $this->nm_instituicao = $det_instituicao["nm_instituicao"];
        $this->preencheu_qtd = false;
        $this->qtd_alunos_def = array();
        if (is_numeric($this->ref_cod_escola)) {
            $obj_escola_ano_letivo = new clsPmieducarEscolaAnoLetivo();
            //			$lst_escola_ano_letivo = $obj_escola_ano_letivo->lista( $this->ref_cod_escola, $this->ano,null,null,1,null,null,null,null,1 );
            $lst_escola_ano_letivo = $obj_escola_ano_letivo->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1);
            if (!is_array($lst_escola_ano_letivo)) {
                echo '<script>
		     			alert("Escola não possui calendário definido para este ano");
		     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
		     		</script>';
                die;
            }
            $esquerda = 30;
            $cima = 125;
            $direita = 535;
            $baixo = 627;
            $controle_pox_Y = $cima + 102;
            $fonte = 'arial';
            $corTexto = '#000000';
            $tamTexto = 8;
            $sql = "SELECT cod_deficiencia, count(0) as quantidade,\n\t\t\t\t\t\t\t(SELECT fantasia WHERE es.ref_idpes = idpes\n\t\t\t\t\t\t\t\tUNION\n\t\t\t\t\t\t\t SELECT nm_escola FROM pmieducar.escola_complemento ec\n\t\t\t\t\t\t\t \tWHERE cod_escola = ref_cod_escola) as nome_escola\n\t\t\t\t\t\tFROM pmieducar.matricula m, pmieducar.aluno a,\n\t\t\t\t\t\tcadastro.fisica_deficiencia fd, cadastro.deficiencia d, pmieducar.escola es, cadastro.juridica j\n\t\t\t\t\t\tWHERE a.cod_aluno = m.ref_cod_aluno AND a.ref_idpes = fd.ref_idpes\n\t\t\t\t\t\tAND cod_deficiencia = ref_cod_deficiencia AND ano = {$this->ano}\n\t\t\t\t\t\tAND m.ativo = 1 AND m.aprovado IN (1, 2, 3) AND a.ativo = 1\n\t\t\t\t\t\tAND es.cod_escola = ref_ref_cod_escola\n\t\t\t\t\t\tAND ref_cod_instituicao = {$this->ref_cod_instituicao}\n\t\t\t\t\t\tAND ref_ref_cod_escola = {$this->ref_cod_escola}\n\t\t\t\t\t\tAND j.idpes = es.ref_idpes\n\t\t\t\t\t\tGROUP BY cod_deficiencia, nome_escola ORDER BY cod_deficiencia";
            $db = new clsBanco();
            $db->Consulta($sql);
            $nome_colocado = false;
            if ($db->Num_Linhas()) {
                $this->pdf = new clsPDF("Relação de Alunos ANEEs", "Relação de Alunos ANEEs", "A4", "", false, false);
                $this->pdf->OpenPage();
                $this->necessidades = array();
                $this->addCabecalho();
                $this->novaPagina();
                $qtd_mostrar = 0;
                while ($db->ProximoRegistro()) {
                    list($cod_deficiencia, $quantidade, $nome_escola) = $db->Tupla();
                    if (!$nome_colocado) {
                        $nome_colocado = true;
                        $this->pdf->escreve_relativo($nome_escola, $esquerda + 1, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                    }
                    $qtd_mostrar += $quantidade;
                    $this->qtd_alunos_def[$cod_deficiencia] += $quantidade;
                    if ($quantidade < 100) {
                        $this->pdf->escreve_relativo($quantidade < 10 ? "0{$quantidade}" : $quantidade, $this->necessidades[$cod_deficiencia] + 45, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                    } else {
                        $this->pdf->escreve_relativo($quantidade, $this->necessidades[$cod_deficiencia] + 43, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                    }
                }
                if ($qtd_mostrar < 100) {
                    $this->pdf->escreve_relativo($qtd_mostrar < 10 ? "0{$qtd_mostrar}" : $qtd_mostrar, max($this->necessidades) + 45 + 15, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                } else {
                    $this->pdf->escreve_relativo($qtd_mostrar, max($this->necessidades) + 43 + 15, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                }
                $this->pdf->linha_relativa($esquerda, $controle_pox_Y + 4, $direita, 0);
                $controle_pox_Y += 15;
                $this->pdf->escreve_relativo("TOTAL GERAL", $esquerda + 230, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                $qtd_mostrar = 0;
                foreach ($this->qtd_alunos_def as $cod_deficiencia => $total) {
                    $qtd_mostrar += $total;
                    if ($total < 100) {
                        $this->pdf->escreve_relativo($total < 10 ? "0{$total}" : $total, $this->necessidades[$cod_deficiencia] + 45, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                    } else {
                        $this->pdf->escreve_relativo($total, $this->necessidades[$cod_deficiencia] + 43, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                    }
                }
                if ($qtd_mostrar < 100) {
                    $this->pdf->escreve_relativo($qtd_mostrar < 10 ? "0{$qtd_mostrar}" : $qtd_mostrar, max($this->necessidades) + 45 + 15, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                } else {
                    $this->pdf->escreve_relativo($qtd_mostrar, max($this->necessidades) + 43 + 15, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                }
                $this->pdf->linha_relativa($esquerda, $controle_pox_Y + 4, $direita, 0);
                $this->rodape();
                $this->pdf->ClosePage();
                $this->get_link = $this->pdf->GetLink();
                $this->pdf->CloseFile();
                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\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\t\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t\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\t\t\t</span>\n\t\t\t\t\t\t</center>";
            } else {
                echo '<script>
	     			alert("A escola não possui nenhum aluno com deficiência!");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
                die;
                return true;
            }
        } else {
            $sql = "SELECT\n\t\t\t\t\t\tcod_escola\n\t\t\t\t\t\t, fantasia as nome\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\tpmieducar.escola\n\t\t\t\t\t\t\t, cadastro.juridica\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tref_cod_instituicao = {$this->ref_cod_instituicao}\n\t\t\t\t\t\t\tAND idpes = ref_idpes\n\t\t\t\t\t\t\tAND ativo = 1\n\t\t\t\t\tUNION\n\t\t\t\t\t\tSELECT\n\t\t\t\t\t\t\tcod_escola\n\t\t\t\t\t\t\t, nm_escola\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\tpmieducar.escola\n\t\t\t\t\t\t\t, pmieducar.escola_complemento\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tref_cod_instituicao = {$this->ref_cod_instituicao}\n\t\t\t\t\t\t\tAND cod_escola = ref_cod_escola\n\t\t\t\t\t\t\tAND escola.ativo = 1\n\t\t\t\t\t\tORDER BY 2 ASC";
            $db = new clsBanco();
            $db->Consulta($sql);
            $esquerda = 30;
            $cima = 125;
            $direita = 535;
            $baixo = 627;
            $controle_pox_Y = $cima + 102;
            if ($db->Num_Linhas()) {
                $this->pdf = new clsPDF("Relação de Alunos ANEEs", "Relação de Alunos ANEEs", "A4", "", false, false);
                $this->pdf->OpenPage();
                $this->necessidades = array();
                $this->addCabecalho();
                $this->novaPagina();
                $possui_registro = false;
                while ($db->ProximoRegistro()) {
                    list($ref_cod_escola, $nome_escola) = $db->Tupla();
                    if (is_numeric($ref_cod_escola)) {
                        $obj_escola_ano_letivo = new clsPmieducarEscolaAnoLetivo();
                        //			$lst_escola_ano_letivo = $obj_escola_ano_letivo->lista( $this->ref_cod_escola, $this->ano,null,null,1,null,null,null,null,1 );
                        $lst_escola_ano_letivo = $obj_escola_ano_letivo->lista($ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1);
                        if (is_array($lst_escola_ano_letivo)) {
                            $fonte = 'arial';
                            $corTexto = '#000000';
                            $tamTexto = 8;
                            $sql = "SELECT cod_deficiencia, count(0) as quantidade\n\t\t\t\t\t\t\t\t\t\tFROM pmieducar.matricula m, pmieducar.aluno a,\n\t\t\t\t\t\t\t\t\t\tcadastro.fisica_deficiencia fd, cadastro.deficiencia d, pmieducar.escola es\n\t\t\t\t\t\t\t\t\t\tWHERE a.cod_aluno = m.ref_cod_aluno AND a.ref_idpes = fd.ref_idpes\n\t\t\t\t\t\t\t\t\t\tAND cod_deficiencia = ref_cod_deficiencia AND ano = {$this->ano}\n\t\t\t\t\t\t\t\t\t\tAND m.ativo = 1 AND m.aprovado IN (1, 2, 3) AND a.ativo = 1\n\t\t\t\t\t\t\t\t\t\tAND es.cod_escola = ref_ref_cod_escola\n\t\t\t\t\t\t\t\t\t\tAND ref_cod_instituicao = {$this->ref_cod_instituicao}\n\t\t\t\t\t\t\t\t\t\tAND ref_ref_cod_escola = {$ref_cod_escola}\n\t\t\t\t\t\t\t\t\t\tGROUP BY cod_deficiencia ORDER BY cod_deficiencia";
                            $db2 = new clsBanco();
                            $db2->Consulta($sql);
                            if ($db2->Num_Linhas()) {
                                $possui_registro = true;
                                $nome_colocado = false;
                                $this->pdf->escreve_relativo($nome_escola, $esquerda + 1, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                                $qtd_mostrar = 0;
                                while ($db2->ProximoRegistro()) {
                                    list($cod_deficiencia, $quantidade) = $db2->Tupla();
                                    $qtd_mostrar += $quantidade;
                                    $this->qtd_alunos_def[$cod_deficiencia] += $quantidade;
                                    if ($quantidade < 100) {
                                        $this->pdf->escreve_relativo($quantidade < 10 ? "0{$quantidade}" : $quantidade, $this->necessidades[$cod_deficiencia] + 45, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                                    } else {
                                        $this->pdf->escreve_relativo($quantidade, $this->necessidades[$cod_deficiencia] + 43, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                                    }
                                }
                                if ($qtd_mostrar < 100) {
                                    $this->pdf->escreve_relativo($qtd_mostrar < 10 ? "0{$qtd_mostrar}" : $qtd_mostrar, max($this->necessidades) + 45 + 15, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                                } else {
                                    $this->pdf->escreve_relativo($qtd_mostrar, max($this->necessidades) + 43 + 15, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                                }
                                $controle_pox_Y += 15;
                                if ($controle_pox_Y >= $this->pdf->altura - 80) {
                                    $this->pdf->ClosePage();
                                    $this->pdf->OpenPage();
                                    $this->addCabecalho();
                                    $this->novaPagina();
                                    $controle_pox_Y = $cima + 102;
                                } else {
                                    $this->pdf->linha_relativa($esquerda, $controle_pox_Y - 11, $direita, 0);
                                }
                            }
                        }
                    }
                }
                if ($possui_registro) {
                    $this->pdf->escreve_relativo("TOTAL GERAL", $esquerda + 230, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                    $qtd_mostrar = 0;
                    foreach ($this->qtd_alunos_def as $cod_deficiencia => $total) {
                        $qtd_mostrar += $total;
                        if ($total < 100) {
                            $this->pdf->escreve_relativo($total < 10 ? "0{$total}" : $total, $this->necessidades[$cod_deficiencia] + 45, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                        } else {
                            $this->pdf->escreve_relativo($total, $this->necessidades[$cod_deficiencia] + 43, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                        }
                    }
                    if ($qtd_mostrar < 100) {
                        $this->pdf->escreve_relativo($qtd_mostrar < 10 ? "0{$qtd_mostrar}" : $qtd_mostrar, max($this->necessidades) + 45 + 15, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                    } else {
                        $this->pdf->escreve_relativo($qtd_mostrar, max($this->necessidades) + 43 + 15, $controle_pox_Y, 0, 0, $fonte, $tamTexto, $corTexto);
                    }
                    $this->pdf->linha_relativa($esquerda, $controle_pox_Y + 4, $direita, 0);
                    $this->rodape();
                    $this->pdf->ClosePage();
                    $this->get_link = $this->pdf->GetLink();
                    $this->pdf->CloseFile();
                    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\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\t\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t\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\t\t\t</span>\n\t\t\t\t\t\t</center>";
                } else {
                    echo '<script>
		     				alert("Nenhum aluno com deficiência está matriculado em alguma escola!");
			     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
			     		  </script>';
                    die;
                    return true;
                }
            }
        }
    }
 function getTotalAlunosIdadeSexoEscola($cod_escola, $cod_curso, $cod_serie, $ano = NULL, $semestre = NULL)
 {
     if (is_numeric($cod_escola) && is_numeric($cod_curso)) {
         if (!is_numeric($ano)) {
             $ano = date('Y');
         }
         if (is_numeric($cod_serie)) {
             $where = " AND ref_ref_cod_serie = {$cod_serie} ";
         }
         if (is_numeric($semestre)) {
             $where .= " AND m.semestre = {$semestre} ";
         }
         $select = "SELECT m.ref_ref_cod_serie as cod_serie\n                ,nm_serie\n                 ,COUNT(1) as total_alunos_serie\n                   , COALESCE ( EXTRACT ( YEAR FROM ( age(now(),data_nasc) ) )::text , '-' ) as idade\n                   ,f.sexo\n              FROM pmieducar.aluno a\n                   ,pmieducar.matricula m\n                   ,cadastro.fisica f\n                   ,pmieducar.serie\n             WHERE a.cod_aluno = m.ref_cod_aluno\n               AND a.ref_idpes = idpes\n               AND ref_ref_cod_serie = cod_serie\n               AND m.ref_ref_cod_escola = {$cod_escola}\n               AND ano = {$ano}\n               AND ultima_matricula = 1\n               AND aprovado IN ( 1,2,3)\n               AND m.ref_cod_curso = {$cod_curso}\n               {$where}\n            GROUP BY m.ref_ref_cod_serie\n                   ,nm_serie\n                     ,EXTRACT ( YEAR FROM ( age(now(),data_nasc) ) )\n                     ,f.sexo\n            ORDER BY EXTRACT ( YEAR FROM ( age(now(),data_nasc) ) )\n                     ,f.sexo";
         $db = new clsBanco();
         $db->Consulta($select);
         $total_registros = $db->Num_Linhas();
         if (!$total_registros) {
             return FALSE;
         }
         $resultados = array();
         $total = 0;
         while ($db->ProximoRegistro()) {
             $registro = $db->Tupla();
             $total += $registro['total_alunos_serie'];
             $resultados[] = $registro;
         }
         $array_inicio_sequencias = clsPmieducarMatricula::getInicioSequencia();
         $db = new clsBanco();
         foreach ($array_inicio_sequencias as $serie_inicio) {
             $serie_inicio = $serie_inicio[0];
             $seq_ini = $serie_inicio;
             $seq_correta = false;
             $series[$cod_serie] = $cod_serie;
             do {
                 $sql = "SELECT o.ref_serie_origem\n                         ,s.nm_serie\n                     ,o.ref_serie_destino\n                     ,s.ref_cod_curso as ref_cod_curso_origem\n                     ,sd.ref_cod_curso as ref_cod_curso_destino\n                FROM pmieducar.sequencia_serie o\n                     ,pmieducar.serie s\n                     ,pmieducar.serie sd\n               WHERE s.cod_serie = o.ref_serie_origem\n                 AND s.cod_serie = {$seq_ini}\n                     AND sd.cod_serie = o.ref_serie_destino\n              ";
                 $db->Consulta($sql);
                 $db->ProximoRegistro();
                 $tupla = $db->Tupla();
                 $serie_origem = $tupla['ref_serie_origem'];
                 $seq_ini = $serie_destino = $tupla['ref_serie_destino'];
                 $series[$tupla['ref_serie_destino']] = $tupla['ref_serie_destino'];
                 $sql = "SELECT 1\n                FROM pmieducar.sequencia_serie s\n               WHERE s.ref_serie_origem = {$seq_ini}\n                ";
                 $true = $db->CampoUnico($sql);
             } while ($true);
             $obj_serie = new clsPmieducarSerie($serie_destino);
             $det_serie = $obj_serie->detalhe();
             if ($cod_serie == $serie_destino) {
                 $seq_correta = TRUE;
             }
             if ($seq_correta == false) {
             } else {
             }
         }
         if ($series) {
             $resultados2 = array();
             foreach ($series as $key => $serie) {
                 foreach ($resultados as $key2 => $resultado) {
                     if ($key == $resultado['cod_serie']) {
                         $resultados[$key2]['_total'] = $total;
                         $resultados2[] = $resultados[$key2];
                         unset($resultados[$key2]);
                     }
                 }
             }
         }
         return $resultados2;
     }
     return FALSE;
 }
 function Gerar()
 {
     $this->url_cancelar = "educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}";
     $this->nome_url_cancelar = "Cancelar";
     // a disciplina vem com a serie junto... vamos separar
     if (strpos($this->ref_cod_disciplina, "_")) {
         $arr = explode("_", $this->ref_cod_disciplina);
         $this->ref_cod_disciplina = $arr[1];
         $this->ref_cod_serie_disciplina = $arr[0];
     } else {
         $this->ref_cod_disciplina = $this->ref_cod_disciplina;
         $this->ref_cod_serie_disciplina = null;
     }
     $objTurma = new clsPmieducarTurma($this->ref_cod_turma, null, null, $this->ref_ref_cod_serie);
     $detalhe_turma = $objTurma->detalhe();
     if ($detalhe_turma) {
         // a turma existe, vamos pegar os dados dela
         $this->ref_ref_cod_serie = $detalhe_turma["ref_ref_cod_serie"];
         $objSerie = new clsPmieducarSerie($this->ref_ref_cod_serie);
         $detalhe_serie = $objSerie->detalhe();
         $this->media_especial = dbBool($detalhe_serie['media_especial']);
         $this->ref_ref_cod_serie_mult = $detalhe_turma["ref_ref_cod_serie_mult"];
         if ($this->ref_ref_cod_serie_mult) {
             $objSerieMult = new clsPmieducarSerie($this->ref_ref_cod_serie_mult);
             $detalhe_serie_mult = $objSerieMult->detalhe();
         }
         $this->ref_ref_cod_escola = $detalhe_turma["ref_ref_cod_escola"];
         $this->ref_cod_curso = $detalhe_serie["ref_cod_curso"];
         $objCurso = new clsPmieducarCurso($this->ref_cod_curso);
         $detalhe_curso = $objCurso->detalhe();
         $objEscolaAnoLetivo = new clsPmieducarEscolaAnoLetivo();
         $lstEscolaAnoLetivo = $objEscolaAnoLetivo->lista($this->ref_ref_cod_escola, null, null, null, 1, null, null, null, null, 1);
         if (is_array($lstEscolaAnoLetivo)) {
             foreach ($lstEscolaAnoLetivo as $value) {
                 $this->ano_letivo = $value["ano"];
             }
         }
         $objTipoAvaliacao = new clsPmieducarTipoAvaliacao($detalhe_curso["ref_cod_tipo_avaliacao"]);
         $detalhe_tipo_avaliacao = $objTipoAvaliacao->detalhe();
         $this->conceitual = $detalhe_tipo_avaliacao["conceitual"];
         $this->ref_cod_tipo_avaliacao = $detalhe_curso["ref_cod_tipo_avaliacao"];
         $this->falta_ch_globalizada = $detalhe_curso["falta_ch_globalizada"];
         $this->num_modulo = $objTurma->moduloMinimo();
         //			se o modulo atual for maior que o maximo o ano acabou
         $this->max_modulos = $objTurma->maxModulos();
         if ($this->num_modulo == $this->max_modulos + 1) {
             // ve se vai para a pagina de aprovacao/reprovacao ou se mostra as notas do exame
             if (!is_null($detalhe_curso["media_exame"])) {
                 // essa turma pode ter exame
                 $detalhe_modulo = array();
                 $detalhe_modulo["nm_tipo"] = "Exame";
                 //					ve se tem algum aluno em exame
                 $a = $objTurma->moduloExameAlunos();
                 if ($objTurma->moduloExameAlunos()) {
                     // existe algum aluno de exame
                     $this->exame = 1;
                     // vamos ver se tem alguma excessao que precisa de nota de exame
                     $objExcessoes = new clsPmieducarMatriculaExcessao();
                     $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true, true, IS_NULL);
                     if (is_array($lista_excessoes)) {
                         // existe alguma excessao, mostra a tela de excessoes
                         $this->passo = 2;
                     } else {
                         // nao tem excessao, entao vamos dar as notas do exame
                         //							$this->passo = 1;
                     }
                 } else {
                     // poderia ter exame, mas nenhum aluno pegou exame, vamos pra aprova��o
                     if ($this->conceitual) {
                         // conceitual aprova manualmente
                         $this->passo = 3;
                     } else {
                         $objExcessoes = new clsPmieducarMatriculaExcessao();
                         $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true, false);
                         if (is_array($lista_excessoes)) {
                             // existe alguma excessao para aprovacao, vamos para tela de excessoes
                             $this->passo = 2;
                         } else {
                             // ninguem de exame, a turma nao eh conceitual e nenhuma excessao... todos ja deveriam estar aprovados/reprovados
                             // $this->campoRotulo("alerta","Alerta","Erro: [1] Todos os alunos dessa turma j� foram aprovados/reprovados.");
                             // vamos corrigir o problema aprovando o pessoal que esta na espera (ja que eles nao pegaram exame nem reprovaram por falta)
                             $db2 = new clsBanco();
                             $db2->Consulta("SELECT cod_matricula FROM pmieducar.v_matricula_matricula_turma WHERE ref_cod_turma = '{$this->ref_cod_turma}' AND aprovado = 3 AND ativo = 1");
                             while ($db2->ProximoRegistro()) {
                                 list($mat) = $db2->Tupla();
                                 $objAprova = new clsPmieducarMatricula($mat, null, null, null, $this->pessoa_logada, null, null, 1);
                                 $objAprova->edita();
                             }
                             header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}");
                             die;
                         }
                     }
                 }
             } else {
                 // nao tem exame, fase de aprovacao dos alunos
                 if ($this->conceitual) {
                     // conceitual aprova manualmente
                     $this->passo = 3;
                 } else {
                     // nao conceitual
                     $objExcessoes = new clsPmieducarMatriculaExcessao();
                     $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true);
                     if (is_array($lista_excessoes)) {
                         // tem excessao, mostra tela de excessoes para aprovacao
                         $this->passo = 2;
                     } else {
                         // ninguem de exame, a turma nao eh conceitual e nenhuma excessao... todos ja deveriam estar aprovados/reprovados
                         // vamos corrigir o problema e aprovar todo mudno que nao pegou exame
                         $db2 = new clsBanco();
                         $db2->Consulta("SELECT cod_matricula FROM pmieducar.v_matricula_matricula_turma WHERE ref_cod_turma = '{$this->ref_cod_turma}' AND aprovado = 3 AND ativo = 1");
                         while ($db2->ProximoRegistro()) {
                             list($mat) = $db2->Tupla();
                             $objAprova = new clsPmieducarMatricula($mat, null, null, null, $this->pessoa_logada, null, null, 1);
                             $objAprova->edita();
                         }
                         //$this->campoRotulo("alerta","Alerta","Erro: [2] Todos os alunos dessa turma j� foram aprovados/reprovados.");
                         header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}");
                         die;
                     }
                 }
             }
         } else {
             if ($this->num_modulo > $this->max_modulos) {
                 // jah passou o exame, fase de aprovacao dos alunos
                 $objExcessoes = new clsPmieducarMatriculaExcessao();
                 $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true);
                 if (is_array($lista_excessoes)) {
                     // ta na fase de aprovacao mas ainda tem alguma excessao
                     $this->passo = 2;
                 } else {
                     // fase de aprovacao e sem excessoes
                     if ($this->conceitual) {
                         $this->passo = 3;
                     } else {
                         // ja acabou o exame, a turma nao eh conceitual e nenhuma excessao... todos ja deveriam estar aprovados/reprovados
                         //						$this->campoRotulo("alerta","Alerta","Erro: [3] Todos os alunos dessa turma j� foram aprovados/reprovados.");
                         $db2 = new clsBanco();
                         $db2->Consulta("SELECT cod_matricula FROM pmieducar.v_matricula_matricula_turma WHERE ref_cod_turma = '{$this->ref_cod_turma}' AND aprovado = 3 AND ativo = 1");
                         while ($db2->ProximoRegistro()) {
                             list($mat) = $db2->Tupla();
                             $objAprova = new clsPmieducarMatricula($mat, null, null, null, $this->pessoa_logada, null, null, 1);
                             $objAprova->edita();
                         }
                         header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}");
                         die;
                     }
                 }
             } else {
                 if ($this->ref_cod_disciplina && $this->passo == 1) {
                     if ($this->ultima_disciplina == 1 && $this->conceitual && $this->num_modulo == $this->max_modulos) {
                         $this->pula_passo = true;
                     }
                 }
                 $this->exame = 0;
                 $cod_modulo = 0;
                 $objAnoLetivoModulo = new clsPmieducarAnoLetivoModulo();
                 $lstAnoLetivoModulo = $objAnoLetivoModulo->lista($this->ano_letivo, $this->ref_ref_cod_escola, $this->num_modulo);
                 if (is_array($lstAnoLetivoModulo)) {
                     foreach ($lstAnoLetivoModulo as $value) {
                         $cod_modulo = $value["ref_cod_modulo"];
                         $this->ref_cod_modulo = $cod_modulo;
                     }
                 }
                 if (!$objTurma->moduloMinimoDisciplina()) {
                     /**
                      * nao existem disciplinas sem nota redireciona para listagem de nota turma
                      */
                     if (!$_POST) {
                         echo "<script>alert('Todas as disciplinas já se encontram com nota!');window.location='educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}';</script>";
                     } else {
                         header("location:educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}");
                     }
                     die;
                 }
                 $objModulo = new clsPmieducarModulo($cod_modulo);
                 $detalhe_modulo = $objModulo->detalhe();
             }
         }
         $this->campoRotulo("nm_turma", "Turma", $detalhe_turma["nm_turma"]);
         $this->campoRotulo("nm_serie", "S&eacute;rie", $detalhe_turma["multiseriada"] ? "{$detalhe_serie["nm_serie"]} e {$detalhe_serie_mult["nm_serie"]}" : $detalhe_serie["nm_serie"]);
         $this->campoRotulo("nm_modulo", "M&oacute;dulo", $detalhe_modulo["nm_tipo"]);
         $this->campoRotulo("num_modulo2", "N&uacute;mero do M&oacute;dulo", $this->num_modulo . "\n\t\t\t<style>\n\t\t\t\t.cell_normal\n\t\t\t\t{\n\t\t\t\t\tborder:1px;\n\t\t\t\t\tborder-color:#000000;\n\t\t\t\t\tborder-style:solid;\n\t\t\t\t}\n\t\t\t\t.cell_separa\n\t\t\t\t{\n\t\t\t\t\tborder:1px;\n\t\t\t\t\tborder-color:#000000;\n\t\t\t\t\tborder-style:solid;\n\t\t\t\t\tborder-left-width:2px;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t");
         if ($this->passo == 0) {
             // mostra as disciplinas para escolher
             $opcoes_disciplinas = array("" => "Selecione");
             if (!$this->exame) {
                 // modulo normal, acha todas as disciplinas que ainda precisam de nota no menor modulo
                 $disciplinas = $objTurma->moduloMinimoDisciplina();
                 // print_r($disciplinas);
                 $num_disciplinas = 0;
                 foreach ($disciplinas as $value) {
                     $objDisciplina = new clsPmieducarDisciplina($value["cod_disciplina"]);
                     $det_dis = $objDisciplina->detalhe();
                     $nm_serie = $value["cod_serie"] == $this->ref_ref_cod_serie ? $detalhe_serie["nm_serie"] : $detalhe_serie_mult["nm_serie"];
                     $opcoes_disciplinas["{$value["cod_serie"]}_{$value["cod_disciplina"]}"] = $detalhe_turma["multiseriada"] ? "{$nm_serie} - {$det_dis["nm_disciplina"]}" : "{$det_dis["nm_disciplina"]}";
                     $num_disciplinas++;
                 }
                 if ($num_disciplinas == 1) {
                     $this->campoOculto("ultima_disciplina", 1);
                 }
             } else {
                 // exame, acha as disciplinas em que os alunos nao atingiram a media
                 $disciplinas = $objTurma->moduloExameDisciplina(true);
                 foreach ($disciplinas as $value) {
                     $objDisciplina = new clsPmieducarDisciplina($value["cod_disciplina"]);
                     $det_dis = $objDisciplina->detalhe();
                     $nm_serie = $value["cod_serie"] == $this->ref_ref_cod_serie ? $detalhe_serie["nm_serie"] : $detalhe_serie_mult["nm_serie"];
                     $opcoes_disciplinas["{$value["cod_serie"]}_{$value["cod_disciplina"]}"] = $detalhe_turma["multiseriada"] ? "{$nm_serie} - {$det_dis["nm_disciplina"]}" : "{$det_dis["nm_disciplina"]}";
                 }
             }
             $this->campoLista("ref_cod_disciplina", "Disciplina", $opcoes_disciplinas, $this->ref_cod_disciplina);
         } else {
             if ($this->passo == 1) {
                 // mostra os alunos que ainda precisam de nota nessa disciplina (nesse modulo)
                 $objDisciplina = new clsPmieducarDisciplina($this->ref_cod_disciplina);
                 $detalhe_disciplina = $objDisciplina->detalhe();
                 // print_r($detalhe_disciplina);
                 $this->campoRotulo("disciplina", "Disciplina", "<strong>{$detalhe_disciplina["nm_disciplina"]}</strong>");
                 $this->campoOculto("ref_cod_disciplina", $this->ref_cod_disciplina);
                 $this->campoOculto("ref_cod_serie_disciplina", $this->ref_cod_serie_disciplina);
                 $this->campoQuebra2();
                 // seleciona as notas que estilo disponiveis para essa disciplina
                 $objTipoAvaliacaoValor = new clsPmieducarTipoAvaliacaoValores();
                 $opcoes_notas = array("" => "Selecione");
                 $objTipoAvaliacaoValor->setOrderby("sequencial ASC");
                 $lista_notas_valores = $objTipoAvaliacaoValor->lista($detalhe_curso["ref_cod_tipo_avaliacao"]);
                 if (is_array($lista_notas_valores)) {
                     foreach ($lista_notas_valores as $value) {
                         $opcoes_notas[$value["sequencial"]] = $value["nome"];
                     }
                 }
                 // pega as matriculas que vao receber nota
                 if (!$this->exame) {
                     $matriculas = $objTurma->matriculados_modulo_disciplina_sem_nota($this->ref_cod_disciplina, $this->ref_cod_serie_disciplina, $this->num_modulo);
                     $sql = "SELECT \n\t\t\t\t\t\t\t\tcod_Matricula \n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\tpmieducar.matricula m\n\t\t\t\t\t\t\tWHERE \n\t\t\t\t\t\t\t\tcod_matricula in (" . implode(",", $matriculas) . ")\n\t\t\t\t\t\t\t\tAND ref_ref_cod_serie={$this->ref_cod_serie_disciplina}";
                     $banco = new clsBanco();
                     $banco->Consulta($sql);
                     if ($banco->Num_Linhas()) {
                         $matriculas = array();
                         while ($banco->ProximoRegistro()) {
                             list($cod_matricula) = $banco->Tupla();
                             $matriculas[$cod_matricula] = $cod_matricula;
                         }
                     }
                 } else {
                     $matriculas = $objTurma->moduloExameAlunos($this->ref_cod_disciplina);
                     /**
                      * gera campo para dizer que as notas sao de exame
                      */
                     $this->campoOculto("is_nota_exame", true);
                 }
                 if ($matriculas) {
                     $objMat = new clsPmieducarMatricula();
                     $objMat->setOrderby("nome ASC");
                     $lista_matriculas = $objMat->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $matriculas);
                     $matriculas_exame_disponivel = false;
                     if (is_array($lista_matriculas)) {
                         foreach ($lista_matriculas as $matricula) {
                             if (!$this->exame) {
                                 $this->campoRotulo("matricula[{$matricula["cod_matricula"]}]", "Aluno", "<div style=\"float:left;width:250px;padding-top:2px;\">{$matricula["nome"]}</div>", true);
                                 $this->campoLista("nota[{$matricula["cod_matricula"]}]", "Nota", $opcoes_notas, "", "", true, "", "", false, true);
                             } else {
                                 $obj_nota_aluno = new clsPmieducarNotaAluno();
                                 $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, null, null, $this->ref_cod_disciplina, $matricula["cod_matricula"], null, null, null, null, null, null, 1, $this->num_modulo);
                                 if (!is_array($lst_nota_aluno)) {
                                     $matriculas_exame_disponivel = true;
                                     $this->campoRotulo("matricula[{$matricula["cod_matricula"]}]", "Aluno", "<div style=\"float:left;width:250px;padding-top:2px;\">{$matricula["nome"]}</div>", true);
                                     $this->campoMonetario("nota[{$matricula["cod_matricula"]}]", "Nota", "", 5, 5, true, "", "", "onChange", false, true, "", true);
                                 }
                                 //								$this->campoMonetario("nota[{$matricula["cod_matricula"]}]","Nota","",5,5,true,"","","onChange",false,true,"",true);
                             }
                             if (!$this->exame) {
                                 $duplo = false;
                                 if ($this->pula_passo) {
                                     $duplo = true;
                                 }
                                 // nao estamos no exame, vamos ver se precisa apurar as faltas
                                 if ($detalhe_disciplina["apura_falta"]) {
                                     // materia apura falta, vamos ver se eh pra mostrar pra esse aluno
                                     if (!$detalhe_curso["falta_ch_globalizada"]) {
                                         // se nesse curso a falta nao eh globalizada, exibe um campo de falta para todos os alunos
                                         $this->campoTexto("falta[{$matricula["cod_matricula"]}]", " &nbsp; &nbsp; &nbsp; Faltas", "0", 7, 5, true, false, $duplo);
                                     } else {
                                         // a falta eh globalizada, vamos ver se essa eh a ultima materia (que apura falta) que falta pro aluno
                                         // receber nota. Se for a ultima mostra o campo, se nao for deixa sem
                                         $objNotaAluno = new clsPmieducarNotaAluno();
                                         $restantes = $objNotaAluno->getQtdRestanteNotasAlunoNaoApuraFaltas($matricula["cod_matricula"], $this->ref_cod_serie_disciplina, $this->ref_cod_turma, $this->num_modulo, $this->ref_ref_cod_escola);
                                         if ($restantes == 1) {
                                             $this->campoTexto("falta[{$matricula["cod_matricula"]}]", " &nbsp; &nbsp; &nbsp; Faltas", "0", 7, 5, true, false, $duplo, "", "Falta global!");
                                             $this->campoOculto("ultima_nota[{$matricula["cod_matricula"]}]", "1");
                                         } else {
                                             $this->campoRotulo("espaco[{$matricula["cod_matricula"]}]", " &nbsp; &nbsp; &nbsp; Faltas", "Falta Globalizada &eacute; aplicada na ultima nota do aluno");
                                         }
                                     }
                                 } else {
                                     // a falta eh globalizada, vamos ver se essa eh a ultima materia (que apura falta) que falta pro aluno
                                     // receber nota. Se for a ultima mostra o campo, se nao for deixa sem
                                     if ($detalhe_curso["falta_ch_globalizada"]) {
                                         $objNotaAluno = new clsPmieducarNotaAluno();
                                         $restantes = $objNotaAluno->getQtdRestanteNotasAlunoNaoApuraFaltas($matricula["cod_matricula"], $this->ref_cod_serie_disciplina, $this->ref_cod_turma, $this->num_modulo, $this->ref_ref_cod_escola);
                                         if ($restantes == 1) {
                                             // eh a ultima disciplina
                                             $this->campoTexto("falta[{$matricula["cod_matricula"]}]", " &nbsp; &nbsp; &nbsp; Faltas", "0", 7, 5, true, false, $duplo, "", "Falta global!");
                                             $this->campoOculto("ultima_nota[{$matricula["cod_matricula"]}]", "1");
                                         } else {
                                             $this->campoRotulo("espaco[{$matricula["cod_matricula"]}]", " &nbsp; &nbsp; &nbsp; Faltas", "Mat&eacute;ria n&atilde;o apura falta");
                                         }
                                     } else {
                                         $this->campoRotulo("espaco[{$matricula["cod_matricula"]}]", " &nbsp; &nbsp; &nbsp; Faltas", "Mat&eacute;ria n&atilde;o apura falta");
                                     }
                                 }
                                 if ($this->pula_passo) {
                                     //									$opcoes_conceito = array("" => "Selecione", 1 => "Aprovado", 2 => "Reprovado");
                                     //									$this->campoLista("conceito[{$matricula["cod_matricula"]}]", " &nbsp; &nbsp; &nbsp; Situação", $opcoes_conceito, "");
                                     $this->campoLista("resultado_final[{$matricula["cod_matricula"]}]", "&nbsp; &nbsp; &nbsp;Resultado final", array("" => "Selecione", "1" => "Aprovado", "2" => "Reprovado"), "", "", false, "", "", false, true);
                                 }
                             } else {
                                 if (!is_array($lst_nota_aluno)) {
                                     // esta no exame, entao nao apura faltas
                                     $this->campoRotulo("espaco[{$matricula["cod_matricula"]}]", " &nbsp; &nbsp; &nbsp; Faltas", "Exame n&atilde;o apura falta");
                                 }
                                 // esta no exame, entao nao apura faltas
                                 //								$this->campoRotulo("espaco[{$matricula["cod_matricula"]}]", " &nbsp; &nbsp; &nbsp; Faltas","Exame n&atilde;o apura falta");
                             }
                         }
                         if (!$matriculas_exame_disponivel && $this->exame) {
                             echo "<script>\n\t\t\t\t\t\t\t\t\t\talert('Todos os alunos estão com notas do exame nessa disciplina');\n\t\t\t\t\t\t\t\t\t\twindow.location='educar_turma_nota_cad.php?ref_cod_turma={$this->ref_cod_turma}&ref_ref_cod_escola={$this->ref_ref_cod_escola}&ref_ref_cod_serie={$this->ref_ref_cod_serie}&ref_cod_curso={$this->ref_cod_curso}';\n\t\t\t\t\t\t\t\t  </script>";
                         }
                     }
                 } else {
                     $this->mensagem = "Neste m&oacute;dulo n&atilde;o existe nenhum aluno aguardando uma nota nesta disciplina";
                     $this->url_cancelar = "educar_turma_nota_cad2.php?ref_cod_turma={$this->ref_cod_turma}&ref_ref_cod_escola={$this->ref_ref_cod_escola}&ref_ref_cod_serie={$this->ref_ref_cod_serie}&ref_cod_curso={$this->ref_cod_curso}";
                     $this->nome_url_cancelar = "Voltar";
                     $this->botao_enviar = false;
                 }
             } else {
                 if ($this->passo == 2) {
                     // tela onde o professor confirma excessoes
                     $objTipoAvaliacaoValor = new clsPmieducarTipoAvaliacaoValores();
                     $this->campoQuebra2();
                     $this->campoRotulo("media_normal", "M&eacute;dia", $objTipoAvaliacaoValor->nomeNota($detalhe_curso["media"], $detalhe_curso["ref_cod_tipo_avaliacao"]));
                     $this->campoRotulo("media_exame", "M&eacute;dia Exame", $objTipoAvaliacaoValor->nomeNota($detalhe_curso["media_exame"], $detalhe_curso["ref_cod_tipo_avaliacao"]));
                     if ($detalhe_curso["falta_ch_globalizada"]) {
                         $tipo_falta = "Globalizada";
                     } else {
                         $tipo_falta = "por Disciplina";
                     }
                     $this->campoRotulo("tipo_falta", "Tipo de Falta", $tipo_falta);
                     $this->campoRotulo("carga_horaria", "Carga Hor&aacute;ria", $detalhe_curso["carga_horaria"]);
                     $this->campoRotulo("hora_falta", "Horas por Falta", $detalhe_curso["hora_falta"]);
                     $this->campoRotulo("frequencia_minima1", "Frequencia M&aacute;ima (%)", $detalhe_curso["frequencia_minima"] . "%");
                     $this->campoRotulo("frequencia_minima2", "Frequencia M&iacute;nima (Horas)", ceil($detalhe_curso["frequencia_minima"] / 100 * $detalhe_curso["carga_horaria"]));
                     if ($detalhe_curso["hora_falta"]) {
                         $maximo_faltas = floor($detalhe_curso["carga_horaria"] / $detalhe_curso["hora_falta"] - $detalhe_curso["frequencia_minima"] / 100 * $detalhe_curso["carga_horaria"] / $detalhe_curso["hora_falta"]);
                     } else {
                         $maximo_faltas = "Ilimitado";
                     }
                     $this->campoRotulo("frequencia_minima3", "M&aacute;ximo de faltas (quantidade)", $maximo_faltas);
                     // descobre o ano letivo em andamento
                     $objEscolaAnoLetivo = new clsPmieducarEscolaAnoLetivo();
                     $objEscolaAnoLetivo->setOrderby("data_cadastro DESC");
                     $objEscolaAnoLetivo->setLimite(1);
                     $lista_anoletivo = $objEscolaAnoLetivo->lista($this->ref_ref_cod_escola, null, null, null, 1);
                     if (is_array($lista_anoletivo)) {
                         foreach ($lista_anoletivo as $value) {
                             $ano = $value["ano"];
                         }
                     }
                     $boletim = false;
                     $descricao = "";
                     $objExcessoes = new clsPmieducarMatriculaExcessao();
                     $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true, true, IS_NULL);
                     if (is_array($lista_excessoes)) {
                         $this->campoQuebra2();
                         $this->campoRotulo("descricao", "Aviso", "Existem alunos que reprovaram por falta e pegaram exame.<br>Você deve decidir se permitirá que eles façam exame ou reprovem.");
                         $opcoes_excessao = array("" => "Selecione", "0" => "Reprovar", "1" => "Permitir Exame");
                         // ainda tem alguma excessao que precisa de exame
                         foreach ($lista_excessoes as $excessao) {
                             $this->campoQuebra2();
                             $this->campoQuebra2("#E4E9ED", 20);
                             $objMatricula = new clsPmieducarMatricula($excessao["ref_cod_matricula"]);
                             $detalhe_matricula = $objMatricula->detalhe();
                             $this->campoRotulo("nome[{$excessao["ref_cod_matricula"]}]", "Aluno", "{$detalhe_matricula["nome"]}");
                             // boletim
                             $boletim = $this->getBoletimAluno($excessao["ref_cod_matricula"], $ano);
                             $this->campoRotulo("boletim[{$excessao["cod_aluno_excessao"]}]", "Boletim", $boletim["boletim"]);
                             $this->campoLista("excessao[{$excessao["cod_aluno_excessao"]}]", "Resultado final", $opcoes_excessao, false, "", false, "", "", false, false);
                             $this->campoRotulo("sugestao[{$excessao["cod_aluno_excessao"]}]", "Autom&aacute;tico", $boletim["automatico"]);
                             $this->campoQuebra2("#FFFFFF", 20);
                         }
                     } else {
                         $lista_excessoes = $objExcessoes->lista(null, $this->ref_cod_turma, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, true, false);
                         if (is_array($lista_excessoes)) {
                             $this->campoQuebra2();
                             $this->campoRotulo("descricao", "Aviso", "Existem alunos que reprovaram por falta mas foram aprovados em notas.<br>Você deve decidir se eles ser�o aprovados ou reprovados.");
                             $opcoes_excessao = array("" => "Selecione", "0" => "Reprovar", "2" => "Aprovar");
                             // so existem excessoes para aprovacao direta
                             foreach ($lista_excessoes as $excessao) {
                                 $this->campoQuebra2();
                                 $this->campoQuebra2("#E4E9ED", 20);
                                 $objMatricula = new clsPmieducarMatricula($excessao["ref_cod_matricula"]);
                                 $detalhe_matricula = $objMatricula->detalhe();
                                 $this->campoRotulo("nome[{$excessao["ref_cod_matricula"]}]", "Aluno", "{$detalhe_matricula["nome"]}");
                                 // boletim
                                 $boletim = $this->getBoletimAluno($excessao["ref_cod_matricula"], $ano);
                                 $this->campoRotulo("boletim[{$excessao["cod_aluno_excessao"]}]", "Boletim", $boletim["boletim"]);
                                 $this->campoLista("excessao[{$excessao["cod_aluno_excessao"]}]", "Resultado final", $opcoes_excessao, false, "", false, "", "", false, false);
                                 $this->campoRotulo("sugestao[{$excessao["cod_aluno_excessao"]}]", "Autom&aacute;tico", $boletim["automatico"]);
                                 $this->campoQuebra2("#FFFFFF", 20);
                             }
                         } else {
                             // por algum motivo ele mandou o cara pra tela de excessoes, mas nao existe nenhuma excessao
                             $this->campoRotulo("alerta", "Alerta", "Erro: [4] Nenhum aluno reprovado por faltas pendente.");
                             //						header("location: educar_turma_mvto_det.php?cod_turma={$this->ref_cod_turma}");
                             //						die();
                         }
                     }
                 } else {
                     if ($this->passo == 3) {
                         // vamos exibir alguns dados extras sobre o curso (padroes de aprovacao / reprovacao)
                         $this->campoQuebra2();
                         $objTipoAvaliacaoValor = new clsPmieducarTipoAvaliacaoValores();
                         $this->campoRotulo("media_normal", "M&eacute;dia", $objTipoAvaliacaoValor->nomeNota($detalhe_curso["media"], $detalhe_curso["ref_cod_tipo_avaliacao"]));
                         $this->campoRotulo("media_exame", "M&eacute;dia Exame", $objTipoAvaliacaoValor->nomeNota($detalhe_curso["media_exame"], $detalhe_curso["ref_cod_tipo_avaliacao"]));
                         if ($detalhe_curso["falta_ch_globalizada"]) {
                             $tipo_falta = "Globalizada";
                         } else {
                             $tipo_falta = "por Disciplina";
                         }
                         $this->campoRotulo("tipo_falta", "Tipo de Falta", $tipo_falta);
                         $this->campoRotulo("carga_horaria", "Carga Hor&aacute;ria", $detalhe_curso["carga_horaria"]);
                         $this->campoRotulo("hora_falta", "Horas por Falta", $detalhe_curso["hora_falta"]);
                         $this->campoRotulo("frequencia_minima1", "Frequencia M&iacute;nima (%)", $detalhe_curso["frequencia_minima"] . "%");
                         $this->campoRotulo("frequencia_minima2", "Frequencia M&iacute;nima (Horas)", ceil($detalhe_curso["frequencia_minima"] / 100 * $detalhe_curso["carga_horaria"]));
                         if ($detalhe_curso["hora_falta"]) {
                             $maximo_faltas = floor($detalhe_curso["carga_horaria"] / $detalhe_curso["hora_falta"] - $detalhe_curso["frequencia_minima"] / 100 * $detalhe_curso["carga_horaria"] / $detalhe_curso["hora_falta"]);
                         } else {
                             $maximo_faltas = "Ilimitado";
                         }
                         $this->campoRotulo("frequencia_minima3", "M&aacute;ximo de faltas (quantidade)", $maximo_faltas);
                         //				mostra a lista de todos alunos e a opcao de aprovar/reprovar (exceto os ja aprovados/reprovados)
                         $matriculas = $objTurma->matriculados();
                         if ($matriculas) {
                             // descobre o ano letivo em andamento
                             $objEscolaAnoLetivo = new clsPmieducarEscolaAnoLetivo();
                             $objEscolaAnoLetivo->setOrderby("data_cadastro DESC");
                             $objEscolaAnoLetivo->setLimite(1);
                             $lista_anoletivo = $objEscolaAnoLetivo->lista($this->ref_ref_cod_escola, null, null, null, 1);
                             if (is_array($lista_anoletivo)) {
                                 foreach ($lista_anoletivo as $value) {
                                     $ano = $value["ano"];
                                 }
                             }
                             $objMat = new clsPmieducarMatricula();
                             $objMat->setOrderby("nome ASC");
                             $lista_matriculas = $objMat->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $matriculas);
                             if (is_array($lista_matriculas)) {
                                 foreach ($lista_matriculas as $matricula) {
                                     $this->campoQuebra2();
                                     $this->campoQuebra2("#E4E9ED", 20);
                                     $this->campoRotulo("nome[{$matricula["cod_matricula"]}]", "Aluno", "{$matricula["nome"]}");
                                     // boletim
                                     $boletim = $this->getBoletimAluno($matricula["cod_matricula"], $ano);
                                     $this->campoRotulo("boletim[{$matricula["cod_matricula"]}]", "Boletim", $boletim["boletim"]);
                                     $this->campoRotulo("sugestao[{$matricula["cod_matricula"]}]", "Autom&aacute;tico", $boletim["automatico"]);
                                     //							if ($this->pula_passo)
                                     //								$this->campoLista("resultado_final[{$matricula["cod_matricula"]}]","Resultado final",array(""=>"Selecione","1"=>"Aprovado","2"=>"Reprovado"),"","",false,"","",false,true);
                                     //							else
                                     $this->campoLista("resultado_final[{$matricula["cod_matricula"]}]", "Resultado final", array("" => "Selecione", "1" => "Aprovado", "2" => "Reprovado"), "", "", false, "", "", false, false);
                                     $this->campoQuebra2("#FFFFFF", 20);
                                 }
                             }
                         } else {
                             $this->mensagem = "Erro ao procurar alunos sem nota nessa disciplina";
                         }
                     }
                 }
             }
         }
         //			guardando dados para os outros passos
         if ($this->pula_passo) {
             $this->campoOculto("passo", 3);
             $this->campoOculto("pula_passo", 1);
             $this->campoOculto("ref_cod_tipo_avaliacao", $this->ref_cod_tipo_avaliacao);
             //				$this->pula_passo = false;
         } else {
             $this->campoOculto("passo", $this->passo + 1);
         }
         $this->campoOculto("ref_cod_turma", $this->ref_cod_turma);
         $this->campoOculto("ref_ref_cod_escola", $this->ref_ref_cod_escola);
         $this->campoOculto("ref_ref_cod_serie", $this->ref_ref_cod_serie);
         $this->campoOculto("ref_cod_curso", $this->ref_cod_curso);
         $this->campoOculto("falta_ch_globalizada", $this->falta_ch_globalizada);
         $this->campoOculto("num_modulo", $this->num_modulo);
         $this->campoOculto("max_modulos", $this->max_modulos);
         $this->campoOculto("exame", $this->exame);
     } else {
         $this->campoRotulo("erro", "Erro", "Turma inexistente");
         return false;
     }
     return true;
 }
Exemplo n.º 16
0
 function compromissoPertenceAgenda($cod_compromisso)
 {
     $db = new clsBanco();
     if ($cod_compromisso) {
         $db->Consulta("SELECT 1 FROM agenda_compromisso WHERE cod_agenda_compromisso = '{$cod_compromisso}' AND ref_cod_agenda = '{$this->agenda}'");
         if ($db->Num_Linhas()) {
             return true;
         }
     }
     return false;
 }
Exemplo n.º 17
0
 function Novo()
 {
     if ($this->data_inicial != "" || $this->data_final != "") {
         $AND = '';
         if ($this->data_inicial) {
             $data = explode("/", $this->data_inicial);
             $dia_i = $data[0];
             $mes_i = $data[1];
             $ano_i = $data[2];
             $data_inicial = $ano_i . "-" . $mes_i . "-" . $dia_i . " 00:00:00";
             $AND = " AND a.data_partida >= '{$data_inicial}'";
         }
         if ($this->data_final) {
             $data_ = explode("/", $this->data_final);
             $dia_f = $data_[0];
             $mes_f = $data_[1];
             $ano_f = $data_[2];
             $data_final = $ano_f . "-" . $mes_f . "-" . $dia_f . " 23:59:59";
             $AND .= " AND a.data_chegada <= '{$data_final}'";
         }
         //			if ($data_inicial <= $data_final)
         //			{
         $sql = "SELECT a.ref_funcionario, b.nome, a.data_partida, a.data_chegada, sum( COALESCE(vl100,0) + COALESCE(vl75,0) + COALESCE(vl50,0) + COALESCE(vl25,0) ) as valor, a.objetivo, a.destino FROM pmidrh.diaria a, cadastro.pessoa b WHERE a.ref_funcionario = b.idpes {$AND} AND ativo = 't' GROUP BY a.ref_funcionario, b.nome, a.data_partida, a.data_chegada, a.objetivo, a.destino ORDER BY b.nome";
         $relatorio = new relatorios("Relatório de Diárias", 200, false, "SEGPOG - Departamento de Logística", "A4", "Prefeitura de Itajaí\nSEGPOG - Departamento de Logística\nRua Alberto Werner, 100 - Vila Operária\nCEP. 88304-053 - Itajaí - SC");
         //tamanho do retangulo, tamanho das linhas.
         $relatorio->novaPagina();
         $db = new clsBanco();
         $db->Consulta($sql);
         if ($db->Num_Linhas()) {
             $old_funcionario = 0;
             $soma_valores = 0;
             while ($db->ProximoRegistro()) {
                 list($cod_funcionario, $nome_funcionario, $data_partida, $data_chegada, $valor_total, $objetivo, $destino) = $db->Tupla();
                 if ($old_funcionario != $cod_funcionario) {
                     $relatorio->novalinha(array("Funcionário: {$nome_funcionario}"), 0, 13, true);
                     $old_funcionario = $cod_funcionario;
                     $relatorio->novalinha(array("Data Partida", "Data Chegada", "Valor Total"));
                 }
                 $data_partida = date("d/m/Y H:i", strtotime(substr($data_partida, 0, 19)));
                 $data_chegada = date("d/m/Y H:i", strtotime(substr($data_chegada, 0, 19)));
                 $relatorio->novalinha(array($data_partida, $data_chegada, number_format($valor_total, 2, ',', '.')), 1, 13);
                 $relatorio->novalinha(array("Destino", $destino));
                 $relatorio->novalinha(array("Objetivo", $objetivo));
                 $relatorio->novalinha(array(""));
                 $soma_valores += $valor_total;
             }
             $relatorio->novalinha(array(""));
             $relatorio->novalinha(array("Valor total do periodo:", number_format($soma_valores, 2, ',', '.')));
             // pega o link e exibe ele ao usuario
             $link = $relatorio->fechaPdf();
             $this->campoRotulo("arquivo", "Arquivo", "<a href='" . $link . "'>Visualizar Relatório</a>");
         } else {
             $this->campoRotulo("aviso", "Aviso", "Nenhum Funcionário neste relatório.");
         }
         //}
         //else
         //{
         //	$this->campoRotulo("aviso", "Aviso", "Data //Chegada maior que a Data Partida.");
         //}
     } else {
         $this->campoRotulo("aviso", "Aviso", "Preencha os campos.");
     }
     $this->largura = "100%";
     return true;
 }
 function Editar()
 {
     $this->valor_real = str_replace(",", ".", $this->valor_real);
     $db = new clsBanco();
     $db->Consulta("SELECT 1 FROM compras_pregao_execucao WHERE ref_cod_compras_licitacoes = '{$this->id_licitacao}'");
     if ($db->Num_Linhas()) {
         $db->Consulta("UPDATE compras_pregao_execucao SET valor_real = '{$this->valor_real}', ref_cod_compras_final_pregao = '{$this->ref_cod_compras_final_pregao}' WHERE ref_cod_compras_licitacoes = '{$this->id_licitacao}'");
         echo "<script>document.location='licitacoes_finalizar_lst.php';</script>";
         return true;
     } else {
         $this->mensagem = "Não foi possível realizar a edição";
     }
 }
 function renderHTML()
 {
     @session_start();
     $pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     if ($_GET) {
         foreach ($_GET as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     if (!is_numeric($this->ref_cod_aluno) || !is_numeric($this->ref_cod_escola)) {
         echo "<center>Não existem dados a serem exibidos!</center>";
         echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');}</script>";
         die;
     }
     //		if ($pessoa_logada==184580)
     //		{
     //			$this->verificaHistorico();
     //		}
     $obj_historico_escolar = new clsPmieducarHistoricoEscolar();
     $obj_historico_escolar->setOrderby("ano ASC");
     $lst_historico_escolar = $obj_historico_escolar->lista($this->ref_cod_aluno, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null);
     //, 0 );
     $ultima_mat = count($lst_historico_escolar) - 1;
     $observacao = $lst_historico_escolar[$ultima_mat]['observacao'];
     $obj_escola_instituicao = new clsPmieducarEscola();
     $lst_escola_instituicao = $obj_escola_instituicao->lista($this->ref_cod_escola, null, null, $this->ref_cod_instituicao, null, null, null, null, null, null, 1);
     $this->pdf = new clsPDF("Histórico Escolar", "Histórico Escolar", "A4", "", false, false);
     $this->pdf->OpenPage();
     //***************INICIO CABECALHO
     $obj_aluno = new clsPmieducarAluno($this->ref_cod_aluno);
     $det_aluno = $obj_aluno->detalhe();
     $obj_matricula = new clsPmieducarMatricula();
     $lst_matriculas = $obj_matricula->lista(null, null, $this->ref_cod_escola, null, null, null, $this->ref_cod_aluno, array(1, 2), null, null, null, null, 1, null, null, $this->ref_cod_instituicao, 1, null, null, null, null, null, null, null, null);
     if ($lst_matriculas) {
         $cod_matricula = $lst_matriculas[0]['cod_matricula'];
     }
     $obj_pessoa = new clsPessoa_($det_aluno['ref_idpes']);
     $det_pessoa = $obj_pessoa->detalhe();
     // NOME DO ALUNO
     $nm_aluno = str2upper($det_pessoa['nome']);
     $obj_fisica = new clsFisica($det_aluno['ref_idpes']);
     $det_fisica = $obj_fisica->detalhe();
     // SEXO
     $sexo = $det_fisica["sexo"];
     if ($sexo == "M") {
         $sexo = "MASCULINO";
     } else {
         $sexo = "FEMININO";
     }
     // DATA DE NASCIMENTO
     $dt_nasc = dataToBrasil($det_fisica["data_nasc"]);
     $dia = substr($dt_nasc, 0, 2);
     $mes = substr($dt_nasc, 3, 2);
     $meses = array("01" => "Janeiro", "02" => "Fevereiro", "03" => "Março", "04" => "Abril", "05" => "Maio", "06" => "Junho", "07" => "Julho", "08" => "Agosto", "09" => "Setembro", "10" => "Outubro", "11" => "Novembro", "12" => "Dezembro");
     $ano = substr($dt_nasc, 6, 4);
     // NATURALIDADE
     $idmun_nascimento = $det_fisica["idmun_nascimento"]->idmun;
     $obj_mun_nasc = new clsMunicipio($idmun_nascimento);
     $det_mun_nasc = $obj_mun_nasc->detalhe();
     $naturalidade = str2upper($det_mun_nasc['nome']);
     if ($det_mun_nasc['sigla_uf']) {
         $naturalidade_uf = $det_mun_nasc['sigla_uf']->detalhe();
         $naturalidade_uf = $naturalidade_uf['nome'];
     }
     // NACIONALIDADE
     $nacionalidade = $det_fisica["nacionalidade"];
     if ($nacionalidade == 1) {
         $nacionalidade = "Brasileira";
     } else {
         if ($nacionalidade == 2) {
             $nacionalidade = "Naturalizado(a) Brasileiro(a)";
         } else {
             if ($nacionalidade == 3) {
                 $nacionalidade = "Estrangeira";
             }
         }
     }
     $nm_pai = str2upper($det_aluno["nm_pai"]);
     $nm_mae = str2upper($det_aluno['nm_mae']);
     if (!$nm_pai || !$nm_mae) {
         $obj_fisica = new clsFisica($det_aluno['ref_idpes']);
         $det_fisica = $obj_fisica->detalhe();
         if (!$nm_pai) {
             $nm_pai = str2upper($det_fisica["nome_pai"]);
         }
         if (!$nm_mae) {
             $nm_mae = str2upper($det_fisica["nome_mae"]);
         }
         if (!$nm_pai) {
             $obj_pessoa = new clsPessoa_($det_fisica["idpes_pai"]);
             $det_pessoa = $obj_pessoa->detalhe();
             // NOME DO PAI
             $nm_pai = str2upper($det_pessoa['nome']);
         }
         if (!$nm_mae) {
             $obj_pessoa = new clsPessoa_($det_fisica["idpes_mae"]);
             $det_pessoa = $obj_pessoa->detalhe();
             // NOME DA MAE
             $nm_mae = str2upper($det_pessoa['nome']);
         }
     }
     $obj_escola_complemento = new clsPmieducarEscolaComplemento($this->ref_cod_escola);
     $det_escola_complemento = $obj_escola_complemento->detalhe();
     if ($det_escola_complemento) {
         // NOME DA ESCOLA
         $nm_escola = str2upper($det_escola_complemento['nm_escola']);
         // ENDERECO DA ESCOLA
         $logradouro = str2upper($det_escola_complemento['logradouro']);
         $numero = $det_escola_complemento['numero'];
         $complemento = str2upper($det_escola_complemento['complemento']);
         $bairro = str2upper($det_escola_complemento['bairro']);
         $municipio = str2upper($det_escola_complemento['municipio']);
         $cep = $det_escola_complemento['cep'];
         $cep = int2CEP($cep);
         $this->endereco = "{$logradouro} {$complemento},{$numero} CEP {$cep} {$municipio}";
     } else {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $obj_juridica = new clsJuridica($det_escola['ref_idpes']);
         $det_juridica = $obj_juridica->detalhe();
         $nm_escola = $det_juridica['fantasia'];
         if (!$nm_escola) {
             $obj_pessoa_ = new clsPessoa_($det_escola['ref_idpes']);
             $det_pessoa_ = $obj_pessoa_->detalhe();
             $nm_escola = $det_pessoa_['nome'];
         }
         $this->nm_escola = $nm_escola;
         $obj_endereco = new clsPessoaEndereco($det_escola["ref_idpes"]);
         if (class_exists("clsPessoaEndereco")) {
             $tipo = 1;
             $endereco_lst = $obj_endereco->lista($det_escola["ref_idpes"]);
             if ($endereco_lst) {
                 foreach ($endereco_lst as $endereco) {
                     $cep = $endereco["cep"]->cep;
                     $idlog = $endereco["idlog"]->idlog;
                     $obj = new clsLogradouro($idlog);
                     $obj_det = $obj->detalhe();
                     $logradouro = $obj_det["nome"];
                     $idtlog = $obj_det["idtlog"]->detalhe();
                     $tipo_logradouro = strtoupper($idtlog["descricao"]);
                     $bairro = $idbai = $endereco["idbai"]->detalhe();
                     $idbai = $idbai['nome'];
                     $numero = $endereco["numero"];
                     $complemento = $endereco["complemento"];
                     $andar = $endereco["andar"];
                 }
                 $obj_log = new clsLogradouro($idlog);
                 $obj_log_det = $obj_log->detalhe();
                 if ($obj_log_det) {
                     $logradouro = str2upper($obj_log_det["nome"]);
                     $obj_mun = new clsMunicipio($obj_log_det["idmun"]);
                     $det_mun = $obj_mun->detalhe();
                     if ($det_mun) {
                         $municipio = str2upper($det_mun["nome"]);
                     }
                     $estado = $det_mun['sigla_uf']->sigla_uf;
                 }
                 $cep = int2CEP($cep);
                 $this->endereco = "{$tipo_logradouro} {$logradouro} {$complemento},{$numero} CEP {$cep} {$municipio} {$estado}";
             } else {
                 if (class_exists("clsEnderecoExterno")) {
                     $tipo = 2;
                     $obj_endereco = new clsEnderecoExterno();
                     $endereco_lst = $obj_endereco->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $det_escola["ref_idpes"]);
                     if ($endereco_lst) {
                         foreach ($endereco_lst as $endereco) {
                             $cep = $endereco["cep"];
                             $estado = $endereco["sigla_uf"]->sigla_uf;
                             $sigla_uf = $endereco["sigla_uf"]->detalhe();
                             $sigla_uf = $sigla_uf["nome"];
                             $cidade = $endereco["cidade"];
                             $idtlog = $endereco["idtlog"]->detalhe();
                             $tipo_logradouro = $idtlog["descricao"];
                             $logradouro = $endereco["logradouro"];
                             $bairro = $endereco["bairro"];
                             $numero = $endereco["numero"];
                             $complemento = $endereco["complemento"];
                             $andar = $endereco["andar"];
                             $municipio = str2upper($endereco['cidade']);
                             $bairro = str2upper($endereco_lst['bairro']);
                         }
                     }
                     $cep = int2CEP($cep);
                     $this->endereco = "{$tipo_logradouro} {$logradouro} {$complemento},{$numero}{$bairro} CEP {$cep} {$municipio} - {$sigla_uf}";
                 }
             }
         }
     }
     if ($dt_nasc) {
         $nascimento = ", nascido(a) em {$dia} de {$meses[$mes]} de {$ano}";
     }
     if ($naturalidade) {
         $natural = " natural de {$naturalidade},";
         if ($naturalidade_uf) {
             $natural_uf = " Estado de(o) {$naturalidade_uf}";
         }
     }
     if ($nacionalidade) {
         $nacional = " de nacionalidade {$nacionalidade}";
     }
     $naturalidade = ", {$natural}{$natural_uf}{$nacional}";
     $gruda_pai = ", filho(a) de ";
     if ($nm_pai) {
         $pais = "{$gruda_pai}{$nm_pai}";
         $gruda_pai = " e de ";
     }
     if ($nm_mae) {
         $pais .= "{$gruda_pai}{$nm_mae}";
     }
     if ($sexo) {
         $sexo = ", do sexo {$sexo}";
     }
     if ($cod_matricula) {
         $cod_matricula = ", matrícula {$cod_matricula}";
     }
     $serie_concluiu = ", cursou em {$lst_historico_escolar[$ultima_mat]['ano']}, o(a) {$lst_historico_escolar[$ultima_mat]['nm_serie']} do Ensino Fundamental";
     $this->addCabecalho($nm_aluno, $cod_matricula, $naturalidade, $sexo, $nascimento, $pais, $serie_concluiu);
     //*************** FIM CABECALHO
     if ($lst_historico_escolar) {
         //*************** INICIO NOTAS
         $db = new clsBanco();
         /**
          * busca nome das series e fonetiza
          * para tentar remover duplicidades
          */
         $consulta = "SELECT nm_serie\n\t\t\t\t\t\t\t\t,sequencial\n\t\t\t\t\t\t\t\t,CASE WHEN faltas_globalizadas IS NOT NULL THEN\n\t\t\t\t\t\t\t\t\t100::float -  (faltas_globalizadas::float / dias_letivos::float )::float * 100\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tcarga_horaria\n\t\t\t\t\t\t\t\tEND AS frequencia\n\t\t\t\t\t\t\t\t,CASE WHEN faltas_globalizadas IS NULL THEN\n\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\t\tEND AS faltas_globalizadas\n\t\t\t\t\t\t   FROM pmieducar.historico_escolar\n\t\t\t\t\t\t  WHERE ref_cod_aluno = '{$this->ref_cod_aluno}'\n\t\t\t\t\t\t    AND ativo = 1\n\t\t\t\t\t\t  ORDER BY ano";
         $db->Consulta($consulta);
         if ($db->Num_Linhas()) {
             $series = array();
             while ($db->ProximoRegistro()) {
                 $registro = $db->Tupla();
                 $registro['total_faltas'] = 0;
                 $series[] = $registro;
                 //['nm_serie'];
             }
             $serie_fonetizada = array();
             foreach ($series as $serie) {
                 $fonetiza = fonetiza_palavra($serie['nm_serie']);
                 $serie_fonetizada["{$fonetiza}"] = $serie;
             }
             $lst_series = array();
             foreach ($serie_fonetizada as $key => $serie) {
                 $lst_series[$key] = $serie;
                 $lst_series[$key]['nm_serie'] = $serie['nm_serie'];
                 $frequencia[$key] = $serie['frequencia'] != '' ? number_format($serie['frequencia'], 1, '.', '') . "%" : $serie['frequencia'];
             }
             $consulta = "SELECT nm_disciplina\n\t\t\t\t\t\t\t   FROM pmieducar.historico_disciplinas\n\t\t\t\t\t\t\t  WHERE ref_ref_cod_aluno = '{$this->ref_cod_aluno}'\n\t\t\t\t\t\t\t  AND nm_disciplina IS NOT NULL\n\t\t\t\t\t\t\t  AND nm_disciplina != ''\n\t\t\t\t\t\t\t  AND nota IS NOT NULL\n\t\t\t\t\t\t\t  AND nota != ''\n\t\t\t\t\t\t\t ORDER BY 1";
             $db->Consulta($consulta);
             if ($db->Num_Linhas()) {
                 $disciplinas = array();
                 while ($db->ProximoRegistro()) {
                     $registro = $db->Tupla();
                     $disciplinas[] = $registro;
                 }
                 $disciplina_fonetizada = array();
                 foreach ($disciplinas as $disciplina) {
                     $fonetiza = fonetiza_palavra($disciplina['nm_disciplina']);
                     $disciplina_fonetizada["{$fonetiza}"] = $disciplina;
                 }
                 $lst_disciplinas = array();
                 foreach ($disciplina_fonetizada as $disciplina) {
                     $lst_disciplinas[] = $disciplina;
                 }
             }
             /**
              * cabecalho com todas as series
              */
             $this->novaLinha($lst_series, 's');
             $notas = array();
             $possui_eja = false;
             foreach ($lst_disciplinas as $key => $disciplina) {
                 foreach ($lst_series as $key2 => $serie) {
                     $consulta = "SELECT nm_disciplina\n\t\t\t\t\t\t\t\t\t       ,nota\n\t\t\t\t\t\t\t\t\t       ,faltas\n\t\t\t\t\t\t\t\t\t  FROM pmieducar.historico_disciplinas\n\t\t\t\t\t\t\t\t\t WHERE ref_ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t   AND ref_sequencial = {$serie['sequencial']}\n\t\t\t\t\t\t\t\t\t   AND nm_disciplina IS NOT NULL\n\t\t\t\t\t\t\t\t\t   AND nm_disciplina != ''\n\t\t\t\t\t\t\t\t\t   AND nota IS NOT NULL\n\t\t\t\t\t\t\t\t\t   AND nota != ''\n\t\t\t\t\t\t\t\t\tORDER BY 1";
                     $db->Consulta($consulta);
                     if ($db->Num_Linhas()) {
                         while ($db->ProximoRegistro()) {
                             $registro = $db->Tupla();
                             if (fonetiza_palavra($disciplina['nm_disciplina']) == fonetiza_palavra($registro['nm_disciplina'])) {
                                 if (is_numeric(substr($registro["nota"], 0, 1)) || is_numeric(substr($registro["nota"], strpos($registro["nota"], ",") + 1, 1))) {
                                     $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = number_format(str_replace(",", ".", $registro['nota']), 2, ".", '');
                                 } else {
                                     if ($extra_curricular) {
                                         $possui_eja = true;
                                     }
                                     $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = $registro["nota"];
                                 }
                                 //									$notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = number_format(str_replace(",",".",$registro['nota']),2,".",'');
                                 //$falta += $registro['faltas'];
                                 if (!$serie['faltas_globalizadas']) {
                                     $lst_series[$key2]['total_faltas'] += $registro['faltas'];
                                 }
                                 break;
                             } else {
                                 $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = "- -";
                             }
                         }
                     } else {
                         $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = "";
                     }
                 }
             }
             foreach ($notas as $key => $nota) {
                 $nota['nm_disciplina'] = $disciplina_fonetizada[$key]['nm_disciplina'];
                 $this->novaLinha($nota, 'n');
             }
         }
         //*************** FIM NOTAS
         //*************** FREQUENCIA
         foreach ($lst_series as $key => $serie) {
             if (!$serie['faltas_globalizadas']) {
                 $frequencia[$key] = 100 - $serie['total_faltas'] / $serie['frequencia'] * 100;
             }
             if ($frequencia[$key]) {
                 $frequencia[$key] .= "%";
             }
         }
         $this->novaLinha($frequencia, 'f');
         //*************** FREQUENCIA
         $this->page_y += 5;
         $this->cor_fundo = "";
         $this->linhaHistorico(array(), true);
         //*************** INICIO HISTORICO
         $consulta = "SELECT nm_serie\n\t\t\t\t\t\t        ,ano\n\t\t\t\t\t\t        ,escola\n\t\t\t\t\t\t        ,escola_cidade\n\t\t\t\t\t\t        ,escola_uf\n\t\t\t\t\t\t        ,CASE aprovado\n\t\t\t\t\t\t          \t  WHEN 1 THEN 'APROVADO'\n\t\t\t\t\t\t              WHEN 2 THEN 'REPROVADO'\n\t\t\t\t\t\t\t \t END\n\t\t\t\t\t\t\t \t,observacao\n\t\t\t\t\t\t   FROM pmieducar.historico_escolar\n\t\t\t\t\t\t  WHERE ref_cod_aluno = '{$this->ref_cod_aluno}'\n\t\t\t\t\t\t    AND ativo = 1\n\t\t\t\t\t\t  ORDER BY ano";
         $observacao = '';
         $db->Consulta($consulta);
         $qtd_observacoes = 0;
         if ($db->Num_Linhas()) {
             while ($db->ProximoRegistro()) {
                 $registro = $db->Tupla();
                 if ($registro[6]) {
                     $qtd_observacoes++;
                     $observacao .= "{$registro[1]} - {$registro[6]}\n";
                 }
                 $registro = array($registro[0], $registro[1], $registro[5], $registro[2], $registro[3], $registro[4]);
                 $this->linhaHistorico($registro);
             }
         }
         //*************** FIM HISTORICO
     }
     if ($qtd_observacoes < 3) {
         $this->observacao($observacao);
     } else {
         $this->observacao($observacao, 100);
     }
     if ($possui_eja) {
         $tabela_conversao = "\nConversão de Valores das Notas";
         $tabela_conversao .= "\nNRE - Necessita retomar os estudos - abaixo de 5,0";
         $tabela_conversao .= "\nEM   - Evidência Mínima  - 5,0 a 6,9";
         $tabela_conversao .= "\nEP   - Evidência Parcial - 7,0 a 8,4";
         $tabela_conversao .= "\nEC   - Evidência Completa - 8,5 a 10,0";
         $this->pdf->quadrado_relativo(20, $this->page_y + 5, 555, 50, 0.1, "#000000", "#FFFFFF");
         $this->pdf->escreve_relativo("{$tabela_conversao}", 23, $this->page_y + 3, 545, 60, $fonte, 8, $corTexto, 'justify');
         $this->page_y += 50;
     }
     $this->rodape(strtoupper("{$municipio} ({$estado})"));
     $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>";
     /*else
     		{
     
     			echo "<center>O aluno não possui Histórico Escolar!</center>"	;
     			echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');}</script>";
     			die();
     
     		}*/
 }
 function Excluir()
 {
     $db = new clsBanco();
     $db->Consulta("SELECT 1 FROM compras_final_pregao WHERE cod_compras_final_pregao = '{$_POST["cod"]}'");
     if ($db->Num_Linhas()) {
         $db->Consulta("DELETE FROM compras_final_pregao WHERE cod_compras_final_pregao = '{$_POST["cod"]}'");
         header("location: licitacoes_statusfinal_lst.php");
         return true;
     }
     return false;
 }
 function buscaSequenciaNivel($int_ref_cod_categoria_nivel)
 {
     if (is_numeric($int_ref_cod_categoria_nivel)) {
         $db = new clsBanco();
         $db->Consulta("SELECT * from {$this->_tabela} WHERE ref_cod_nivel_anterior IS NULL AND ref_cod_categoria_nivel = {$int_ref_cod_categoria_nivel} AND ativo = true");
         $resultado = array();
         if ($db->Num_Linhas()) {
             $db->ProximoRegistro();
             $registro = $db->Tupla();
             $resultado[] = $registro;
             do {
                 $db->Consulta("SELECT * from {$this->_tabela} WHERE ref_cod_nivel_anterior = {$registro['cod_nivel']}  AND ativo = true");
                 $db->ProximoRegistro();
                 $registro = $db->Tupla();
                 if ($registro) {
                     $resultado[] = $registro;
                 }
             } while ($registro);
             return $resultado;
         }
     }
     return false;
 }
 function Novo()
 {
     if ($this->data_inicial != "" || $this->data_final != "") {
         $AND = '';
         if ($this->data_inicial) {
             $data = explode("/", $this->data_inicial);
             $dia_i = $data[0];
             $mes_i = $data[1];
             $ano_i = $data[2];
             $data_inicial = $ano_i . "/" . $mes_i . "/" . $dia_i . " 00:00:00";
             $AND = " AND a.data_pedido >= '{$data_inicial}'";
         }
         if ($this->data_final) {
             $data_ = explode("/", $this->data_final);
             $dia_f = $data_[0];
             $mes_f = $data_[1];
             $ano_f = $data_[2];
             $data_final = $ano_f . "/" . $mes_f . "/" . $dia_f . " 23:59:59";
             $AND .= " AND a.data_pedido <= '{$data_final}'";
         }
         $sql = "SELECT a.ref_funcionario,\n\t\t\t\t\t\t\t\tb.nome,\n\t\t\t\t\t\t\t\ta.data_partida,\n\t\t\t\t\t\t\t\ta.data_chegada,\n\t\t\t\t\t\t\t\tsum( COALESCE(vl100,0) + COALESCE(vl75,0) + COALESCE(vl50,0) + COALESCE(vl25,0) ) as valor,\n\t\t\t\t\t\t\t\ta.objetivo,\n\t\t\t\t\t\t\t\ta.destino,\n\t\t\t\t\t\t\t\ta.ref_cod_setor\n\t\t\t\t\t\t   FROM cadastro.pessoa b,\n\t\t\t\t\t\t   \t\tpmidrh.diaria a,\n\t\t\t\t\t\t   \t\tportal.funcionario f\n\t\t\t\t\t\t  WHERE a.ref_funcionario = b.idpes\n\t\t\t\t\t\t    AND b.idpes = f.ref_cod_pessoa_fj {$AND} \n\t\t\t\t\t\t    AND a.ativo = 't' \n\t\t\t\t\t   GROUP BY a.ref_funcionario,\n\t\t\t\t\t\t\t\tb.nome,\n\t\t\t\t\t\t\t\ta.data_partida,\n\t\t\t\t\t\t\t\ta.data_chegada,\n\t\t\t\t\t\t\t\ta.objetivo,\n\t\t\t\t\t\t\t\ta.destino,\n\t\t\t\t\t\t\t\ta.ref_cod_setor\n\t\t\t\t\t   ORDER BY a.ref_cod_setor,\n\t\t\t\t\t   \t\t\tb.nome";
         if ($this->data_inicial) {
             $data = explode("/", $this->data_inicial);
             $dia_i = $data[0];
             $mes_i = $data[1];
             $ano_i = $data[2];
             $data_inicial = $dia_i . "/" . $mes_i . "/" . $ano_i;
         }
         if ($this->data_final) {
             $data_ = explode("/", $this->data_final);
             $dia_f = $data_[0];
             $mes_f = $data_[1];
             $ano_f = $data_[2];
             $data_final = $dia_f . "/" . $mes_f . "/" . $ano_f;
         }
         $titulo = "Relatório de Diárias";
         if (is_string($data_inicial) && $data_inicial != '' && is_string($data_final) && $data_final != '') {
             $titulo .= " - De {$data_inicial} até {$data_final}";
         } else {
             if (is_string($data_inicial) && $data_inicial != '') {
                 $titulo .= " - A partir de {$data_inicial}";
             } else {
                 if (is_string($data_final) && $data_final != '') {
                     $titulo .= " - Até {$data_final}";
                 }
             }
         }
         $relatorio = new relatorios("{$titulo}", 200, false, "SEGPOG - Departamento de Logística", "A4", "Prefeitura de Itajaí\nSEGPOG - Departamento de Logística\nRua Alberto Werner, 100 - Vila Operária\nCEP. 88304-053 - Itajaí - SC");
         //tamanho do retangulo, tamanho das linhas.
         $relatorio->novaPagina();
         $db = new clsBanco();
         $db->Consulta($sql);
         if ($db->Num_Linhas()) {
             $old_funcionario = 0;
             $soma_valores = 0;
             $this->cod_setor = 0;
             $this->val_tot_sec = "Primeiro";
             $old_sigla = "";
             while ($db->ProximoRegistro()) {
                 list($cod_funcionario, $nome_funcionario, $data_partida, $data_chegada, $valor_total, $objetivo, $destino, $secretaria, $setor) = $db->Tupla();
                 if ($this->cod_setor != $setor) {
                     $this->cod_setor = $setor;
                     if (is_numeric($setor)) {
                         $db2 = new clsBanco();
                         $db2->Consulta("SELECT sgl_setor, nm_setor FROM pmidrh.setor WHERE cod_setor = '{$setor}' AND nivel = 0");
                         $db2->ProximoRegistro();
                         list($sigla, $nm_secretaria) = $db2->Tupla();
                     }
                     $det_setor["sgl_setor"] = $sigla;
                     if (is_null($det_setor['sgl_setor'])) {
                         $det_setor['sgl_setor'] = "Nenhuma";
                     }
                     if ($this->val_tot_sec != "Primeiro") {
                         $relatorio->novalinha(array("Total da Secretaria ( {$old_sigla} ): " . number_format($this->val_tot_sec, 2, ',', '.') . ""), 250, 13, true);
                         $relatorio->novalinha(array(""));
                     }
                     $relatorio->novalinha(array("Secretaria: {$det_setor['sgl_setor']}"), 0, 13, true);
                     $old_sigla = $det_setor['sgl_setor'];
                     $this->val_tot_sec = 0;
                 }
                 if ($old_funcionario != $cod_funcionario) {
                     $relatorio->novalinha(array("Funcionário: {$nome_funcionario}"));
                     $old_funcionario = $cod_funcionario;
                     $relatorio->novalinha(array("Data Partida", "Data Chegada", "Valor Total"), 25);
                 }
                 $data_partida = date("d/m/Y H:i", strtotime(substr($data_partida, 0, 19)));
                 $data_chegada = date("d/m/Y H:i", strtotime(substr($data_chegada, 0, 19)));
                 $relatorio->novalinha(array($data_partida, $data_chegada, number_format($valor_total, 2, ',', '.')), 25, 13);
                 $relatorio->novalinha(array("Destino", $destino), 25);
                 $relatorio->novalinha(array("Objetivo", $objetivo), 25);
                 $relatorio->novalinha(array(""));
                 $this->val_tot_sec += $valor_total;
                 $soma_valores += $valor_total;
             }
             $relatorio->novalinha(array("Total da Secretaria ( {$old_sigla} ): " . number_format($this->val_tot_sec, 2, ',', '.') . ""), 250, 13, true);
             $relatorio->novalinha(array(""));
             $relatorio->novalinha(array("Valor total do período: " . number_format($soma_valores, 2, ',', '.') . ""), 300, 13, true);
             // pega o link e exibe ele ao usuario
             $link = $relatorio->fechaPdf();
             $this->campoRotulo("arquivo", "Arquivo", "<a href='" . $link . "'>Visualizar Relatório</a>");
         } else {
             $this->campoRotulo("aviso", "Aviso", "Nenhum Funcionário neste relatório.");
         }
     } else {
         $this->campoRotulo("aviso", "Aviso", "Preencha os campos.");
     }
     $this->largura = "100%";
     return true;
 }
 function Excluir()
 {
     // exclui essas paradas para que ele deixe de ser uma executada
     $db = new clsBanco();
     $db->Consulta("SELECT 1 FROM compras_pregao_execucao WHERE ref_cod_compras_licitacoes = '{$this->id_licitacao}'");
     if ($db->Num_Linhas()) {
         $db->Consulta("DELETE FROM compras_pregao_execucao WHERE ref_cod_compras_licitacoes = '{$this->id_licitacao}'");
         die("<script>document.location.href='licitacoes_finalizadas_lst.php';</script>");
     } else {
         $this->mensagem = "Codigo de licitação inválido";
     }
     return false;
 }
Exemplo n.º 24
0
 function Novo()
 {
     $this->valor_inicial = str_replace(".", "", $this->valor_inicial);
     $this->valor_inicial = str_replace(",", ".", $this->valor_inicial);
     $this->valor_final = str_replace(".", "", $this->valor_final);
     $this->valor_final = str_replace(",", ".", $this->valor_final);
     if ($this->valor_inicial != "" && $this->valor_final != "") {
         if ($this->valor_inicial <= $this->valor_final) {
             if ($this->data_inicial != "" || $this->data_final != "") {
                 $AND = '';
                 if ($this->data_inicial) {
                     $data = explode("/", $this->data_inicial);
                     $dia_i = $data[0];
                     $mes_i = $data[1];
                     $ano_i = $data[2];
                     $data_inicial = $ano_i . "/" . $mes_i . "/" . $dia_i . " 00:00:00";
                     $AND = " AND data_pedido >= '{$data_inicial}'";
                 }
                 if ($this->data_final) {
                     $data_ = explode("/", $this->data_final);
                     $dia_f = $data_[0];
                     $mes_f = $data_[1];
                     $ano_f = $data_[2];
                     $data_final = $ano_f . "/" . $mes_f . "/" . $dia_f . " 23:59:59";
                     $AND .= " AND data_pedido <= '{$data_final}'";
                 }
             }
             $sql = "SELECT \ta.ref_funcionario, b.nome, a.data_partida, a.data_chegada, sum( COALESCE(vl100,1) + COALESCE(vl75,1) + COALESCE(vl50,1) + COALESCE(vl25,1) ) as valor FROM pmidrh.diaria a, cadastro.pessoa b WHERE a.ref_funcionario = b.idpes AND a.ativo = 't' AND (select sum(vl100+vl75+vl50+vl25) FROM pmidrh.diaria WHERE cod_diaria = a.cod_diaria) BETWEEN {$this->valor_inicial} AND {$this->valor_final} {$AND} GROUP BY a.ref_funcionario, b.nome, a.data_partida, a.data_chegada ORDER BY b.nome";
             $relatorio = new relatorios("Relatório de Diárias", 200, false, "SEGPOG - Departamento de Logística", "A4", "Prefeitura de Itajaí\nSEGPOG - Departamento de Logística\nRua Alberto Werner, 100 - Vila Operária\nCEP. 88304-053 - Itajaí - SC");
             //tamanho do retangulo, tamanho das linhas.
             $relatorio->novaPagina();
             $db = new clsBanco();
             $db->Consulta($sql);
             if ($db->Num_Linhas()) {
                 $old_funcionario = 0;
                 while ($db->ProximoRegistro()) {
                     list($cod_funcionario, $nome_funcionario, $data_partida, $data_chegada, $valor_total) = $db->Tupla();
                     if ($old_funcionario != $cod_funcionario) {
                         $relatorio->novalinha(array("Funcionário: {$nome_funcionario}"), 0, 13, true);
                         $old_funcionario = $cod_funcionario;
                         $relatorio->novalinha(array("Data Partida", "Data Chegada", "Valor Total"), 0, 13, true);
                     }
                     $data_partida = date("d/m/Y H:i", strtotime(substr($data_partida, 0, 19)));
                     $data_chegada = date("d/m/Y H:i", strtotime(substr($data_chegada, 0, 19)));
                     $relatorio->novalinha(array($data_partida, $data_chegada, number_format($valor_total, 2, ',', '.')), 1, 13);
                 }
                 // pega o link e exibe ele ao usuario
                 $link = $relatorio->fechaPdf();
                 $this->campoRotulo("arquivo", "Arquivo", "<a href='" . $link . "'>Visualizar Relatório</a>");
             } else {
                 $this->campoRotulo("aviso", "Aviso", "Nenhum Funcionário neste relatorio.");
             }
         } else {
             $this->campoRotulo("aviso", "Aviso", "Valor Final menor que o Valor Inicial.");
         }
     } else {
         $this->campoRotulo("aviso", "Aviso", "Nenhum Funcionário neste relatorio.");
     }
     $this->largura = "100%";
     return true;
 }
Exemplo n.º 25
0
 function Novo()
 {
     $meses = array();
     $meses[1] = "Janeiro";
     $meses[2] = "Fevereiro";
     $meses[3] = "Março";
     $meses[4] = "Abril";
     $meses[5] = "Maio";
     $meses[6] = "Junho";
     $meses[7] = "Julho";
     $meses[8] = "Agosto";
     $meses[9] = "Setembro";
     $meses[10] = "Outubro";
     $meses[11] = "Novembro";
     $meses[12] = "Dezembro";
     $mesAtual = "";
     if ($this->funcionario != "0") {
         if ($this->data_inicial != "" || $this->data_final != "") {
             $AND = '';
             if ($this->data_inicial) {
                 $data = explode("/", $this->data_inicial);
                 $dia_i = $data[0];
                 $mes_i = $data[1];
                 $ano_i = $data[2];
                 $data_inicial = $ano_i . "/" . $mes_i . "/" . $dia_i . " 00:00:00";
                 $AND = " AND data_pedido >= '{$data_inicial}'";
             }
             if ($this->data_final) {
                 $data_ = explode("/", $this->data_final);
                 $dia_f = $data_[0];
                 $mes_f = $data_[1];
                 $ano_f = $data_[2];
                 $data_final = $ano_f . "/" . $mes_f . "/" . $dia_f . " 23:59:59";
                 $AND .= " AND data_pedido <= '{$data_final}'";
             }
         }
         $sql = "SELECT ref_funcionario, data_partida, data_chegada, COALESCE(vl100,1) + COALESCE(vl75,1) + COALESCE(vl50,1) + COALESCE(vl25,1) as valor, objetivo, destino FROM pmidrh.diaria WHERE ref_funcionario = {$this->funcionario} {$AND} AND ativo = 't' ORDER BY data_partida DESC";
         $db2 = new clsBanco();
         $nome = $db2->campoUnico("SELECT nome FROM cadastro.pessoa WHERE idpes = {$this->funcionario}");
         $nome_funcionario = $nome;
         $relatorio = new relatorios("Relatório de Diárias - {$nome}", 200, false, "SEGPOG - Departamento de Logística", "A4", "Prefeitura de Itajaí\nSEGPOG - Departamento de Logística\nRua Alberto Werner, 100 - Vila Operária\nCEP. 88304-053 - Itajaí - SC");
         //tamanho do retangulo, tamanho das linhas.
         $relatorio->novaPagina(30, 28);
         $db3 = new clsBanco();
         $db3->Consulta($sql);
         if ($db3->Num_Linhas()) {
             while ($db3->ProximoRegistro()) {
                 list($cod_funcionario, $data_partida, $data_chegada, $valor_total, $objetivo, $destino) = $db3->Tupla();
                 $mes = $meses[date("n", strtotime($data_partida))];
                 if ($mes != $mesAtual) {
                     if ($mesAtual != "") {
                         //$relatorio->novalinha( array( "" ), 1, 10 );
                         $relatorio->novalinha(array(""), 1, 10, false, false, false, false, false, false, true);
                     }
                     $mesAtual = $mes;
                     $relatorio->novalinha(array($mesAtual), 1, 13, true);
                     $relatorio->novalinha(array("Data Partida", "Data Chegada", "Valor Total"), 0, 13, true);
                 }
                 $data_partida = date("d/m/Y H:i", strtotime(substr($data_partida, 0, 19)));
                 $data_chegada = date("d/m/Y H:i", strtotime(substr($data_chegada, 0, 19)));
                 $relatorio->novalinha(array($data_partida, $data_chegada, number_format($valor_total, 2, ',', '.')), 1, 13);
                 $relatorio->novalinha(array("Objetivo: " . $objetivo), 20, 13);
                 $relatorio->novalinha(array("Destino: " . $destino), 20, 13);
             }
             // pega o link e exibe ele ao usuario
             $link = $relatorio->fechaPdf();
             $this->campoRotulo("arquivo", "Arquivo", "<a href='" . $link . "'>Visualizar Relatório</a>");
         } else {
             $this->campoRotulo("aviso", "Aviso", "Nenhum Funcionário neste relatorio.");
         }
     } else {
         $this->campoRotulo("aviso", "Aviso", "Escolha um Funcionário.");
     }
     $this->largura = "100%";
     return true;
 }
 function renderHTML()
 {
     /**
      * Variável global com objetos do CoreExt.
      * @see includes/bootstrap.php
      */
     global $coreExt;
     // Namespace de configuração para localização de interface
     $uf = $coreExt['Config']->app->locale->province;
     $this->ref_cod_instituicao = $_POST['ref_cod_instituicao'];
     $this->ref_cod_escola = $_POST['ref_cod_escola'];
     $this->ano = $_POST['ano'];
     $fonte = 'arial';
     $corTexto = '#000000';
     if (is_numeric($this->ref_cod_instituicao) && is_numeric($this->ref_cod_escola)) {
         $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
         $det_instituicao = $obj_instituicao->detalhe();
         $this->nm_instituicao = $det_instituicao["nm_instituicao"];
         $sql = "\n        SELECT\n          fantasia as nome\n        FROM\n          pmieducar.escola,\n          cadastro.juridica\n        WHERE\n          ref_cod_instituicao = {$this->ref_cod_instituicao}\n          AND idpes = ref_idpes\n          AND cod_escola = {$this->ref_cod_escola}\n          AND ativo = 1\n        UNION\n        SELECT\n          nm_escola\n        FROM\n          pmieducar.escola,\n          pmieducar.escola_complemento\n        WHERE\n          ref_cod_instituicao = {$this->ref_cod_instituicao}\n          AND cod_escola = ref_cod_escola\n          AND cod_escola = {$this->ref_cod_escola}\n          AND escola.ativo = 1";
         $db = new clsBanco();
         $this->nm_escola = $db->CampoUnico($sql);
         $sql = "\n        SELECT\n          cod_matricula,\n          m.ref_cod_aluno,\n          (SELECT\n             nome\n           FROM\n             cadastro.pessoa p, pmieducar.aluno a\n           WHERE\n             a.cod_aluno = m.ref_cod_aluno AND a.ref_idpes = p.idpes)\n          as nome_aluno,\n          to_char(data_transferencia,'DD/MM/YYYY') as dt_transferencia,\n          s.nm_serie,\n          t.nm_turma,\n          ts.ref_cod_matricula_entrada\n        FROM\n          pmieducar.matricula m,\n          pmieducar.matricula_turma mt,\n          pmieducar.turma t,\n          pmieducar.serie s,\n          pmieducar.transferencia_solicitacao ts\n        WHERE\n          m.ref_ref_cod_escola = {$this->ref_cod_escola}\n          AND ref_cod_matricula_saida = cod_matricula\n          AND ts.ativo = 1\n          AND mt.ref_cod_matricula = m.cod_matricula\n          AND mt.ref_cod_turma = t.cod_turma\n          AND t.ref_ref_cod_serie = s.cod_serie\n          AND m.ano = {$this->ano}\n        ORDER BY\n          nm_turma,\n          nm_serie,\n          dt_transferencia";
         $db->Consulta($sql);
         if ($db->Num_Linhas()) {
             $dados = array();
             while ($db->ProximoRegistro()) {
                 $dados[] = $db->Tupla();
                 $this->total++;
             }
             $this->pdf = new clsPDF('Registro de Matrículas - ' . $this->ano, 'Registro de Matrículas', 'A4', '', FALSE, FALSE);
             $obj_instituicao = new clsPmieducarInstituicao();
             $this->pdf->largura = 842.0;
             $this->pdf->altura = 595.0;
             $this->page_y = 125;
             $this->pdf->OpenFile();
             $this->addCabecalho();
             $esquerda = 30;
             $altura = 130 + 18 * 2;
             $direita = 782;
             $tam_texto = 8;
             $altura = 130;
             $altura_escrita = 3;
             foreach ($dados as $dado_transferencia) {
                 list($cod_matricula, $ref_cod_aluno, $nome_aluno, $dt_transferencia, $nm_serie, $nm_turma, $ref_cod_matricula_entrada) = $dado_transferencia;
                 $this->pdf->linha_relativa($esquerda, $altura += 18, 0, 18);
                 $this->pdf->linha_relativa($esquerda, $altura, $direita, 0);
                 $this->pdf->escreve_relativo($cod_matricula, $esquerda + 3, $altura + $altura_escrita, 55, 30, $fonte, $tam_texto, $corTexto, 'center');
                 $this->pdf->linha_relativa($esquerda + 55, $altura, 0, 18);
                 $this->pdf->escreve_relativo($nome_aluno, $esquerda + 58, $altura + $altura_escrita, 300, 30, $fonte, $tam_texto);
                 $this->pdf->linha_relativa($esquerda + 317 - 18, $altura, 0, 18);
                 $this->pdf->escreve_relativo($dt_transferencia, $esquerda + 320 - 18, $altura + $altura_escrita, 150, 30, $fonte, $tam_texto, $corTexto);
                 $this->pdf->linha_relativa($esquerda + 365 - 11, $altura, 0, 18);
                 $this->pdf->escreve_relativo($nm_serie, $esquerda + 365 - 9, $altura + $altura_escrita, 72, 30, $fonte, $tam_texto, $corTexto, 'center');
                 $this->pdf->linha_relativa($esquerda + 410 + 19, $altura, 0, 18);
                 $this->pdf->escreve_relativo($nm_turma, $esquerda + 408 + 10 + 13, $altura + $altura_escrita, 35, 30, $fonte, $tam_texto, $corTexto, 'center');
                 $this->pdf->linha_relativa($esquerda + 449 + 34, $altura, 0, 18);
                 $estabelecimento_destino = NULL;
                 if (is_numeric($ref_cod_matricula_entrada)) {
                     $estabelecimento_destino = $this->getNomeEscola($ref_cod_matricula_entrada);
                 } else {
                     $this->pdf->escreve_relativo('Escola Externa ao Sistema', $esquerda + 452 + 34, $altura + $altura_escrita, 300, 30, $fonte, $tam_texto);
                 }
                 if (!empty($estabelecimento_destino)) {
                     $this->pdf->escreve_relativo($estabelecimento_destino, $esquerda + 452 + 34, $altura + $altura_escrita, 300, 30, $fonte, $tam_texto);
                 }
                 $this->pdf->linha_relativa($esquerda + 757, $altura, 0, 18);
                 // Coloca o UF configurado em ieducar.ini caso exista um estabelecimento destino,
                 // supondo que todos os estabelecimentos estejam no mesmo estado.
                 // @todo Para suportar multi-instituições, deve pegar a informação dos dados da escola destino.
                 $this->pdf->escreve_relativo(empty($estabelecimento_destino) ? '' : $uf, $esquerda + 763, $altura + $altura_escrita, 50, 30, $fonte, $tam_texto);
                 $this->pdf->linha_relativa($esquerda + 782, $altura, 0, 18);
                 $this->pdf->linha_relativa($esquerda, $altura, $direita, 0);
                 $this->pdf->linha_relativa($esquerda, $altura + 18, $direita, 0);
                 if ($altura > $this->pdf->altura - 50) {
                     $this->pdf->ClosePage();
                     $this->pdf->OpenPage();
                     $this->addCabecalho();
                     $esquerda = 30;
                     $altura = 130 + 18 * 2;
                     $direita = 782;
                     $tam_texto = 8;
                     $altura = 130;
                     $altura_escrita = 5;
                 }
             }
             if ($altura > $this->pdf->altura - 50) {
                 $this->pdf->ClosePage();
                 $this->pdf->OpenPage();
                 $this->addCabecalho();
                 $esquerda = 30;
                 $altura = 130 + 18 * 2;
                 $direita = 782;
                 $tam_texto = 8;
                 $altura = 130;
                 $altura_escrita = 5;
             }
             $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 "\n          <html>\n            <center>\n              Se o download não iniciar automaticamente <br />\n              <a target='_blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n              <span style='font-size: 10px;'>\n                Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n                Clique na Imagem para Baixar o instalador<br><br>\n                <a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br>\n                  <img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\">\n                </a>\n              </span>\n            </center>";
         } else {
             echo '
       <script>
         alert("A escola nesse ano não possui nenhuma expedição de transferência");
         window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length - 1));
       </script>';
             return TRUE;
         }
     } else {
         echo '
     <script>
       alert("A escola nesse ano não possui nenhuma expedição de transferência");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
     </script>';
         return TRUE;
     }
 }
 *	Licença   como  (a  seu  critério)  qualquer  versão  mais  nova.	 *
 *																		 *
 *	Este programa  é distribuído na expectativa de ser útil, mas SEM	 *
 *	QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI-	 *
 *	ZAÇÃO  ou  de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con-	 *
 *	sulte  a  Licença  Pública  Geral  GNU para obter mais detalhes.	 *
 *																		 *
 *	Você  deve  ter  recebido uma cópia da Licença Pública Geral GNU	 *
 *	junto  com  este  programa. Se não, escreva para a Free Software	 *
 *	Foundation,  Inc.,  59  Temple  Place,  Suite  330,  Boston,  MA	 *
 *	02111-1307, USA.													 *
 *																		 *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
header('Content-type: text/xml');
require_once "include/clsBanco.inc.php";
require_once "include/funcoes.inc.php";
require_once 'Portabilis/Utils/DeprecatedXmlApi.php';
Portabilis_Utils_DeprecatedXmlApi::returnEmptyQueryUnlessUserIsLoggedIn();
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\n<query xmlns=\"sugestoes\">\n";
if (is_numeric($_GET["bib"])) {
    $db = new clsBanco();
    $sql = "SELECT\n\t\t\t\t\tcod_acervo_colecao, nm_colecao\n\t\t\t\tFROM\n\t\t\t\t\tpmieducar.acervo_colecao\n\t\t\t\tWHERE\n\t\t\t\t\tref_cod_biblioteca = {$_GET["bib"]}\n\t\t\t\tAND\n\t\t\t\t\tativo = 1";
    $db->Consulta($sql);
    if ($db->Num_Linhas()) {
        while ($db->ProximoRegistro()) {
            list($cod_acervo_colecao, $nm_colecao) = $db->Tupla();
            echo "<acervo_colecao cod_acervo_colecao=\"{$cod_acervo_colecao}\">{$nm_colecao}</acervo_colecao>\n";
        }
    }
}
echo "</query>";
Exemplo n.º 28
0
 function Excluir()
 {
     @session_start();
     $this->id_pessoa = @$_SESSION['id_pessoa'];
     session_write_close();
     if (empty($this->id_pessoa) || empty($this->id_licitacao)) {
         return false;
     } else {
         $db = new clsBanco();
         $db->Consulta("SELECT 1 FROM compras_editais_editais WHERE ref_cod_compras_licitacoes = '{$this->id_licitacao}'");
         if (!$db->Num_Linhas()) {
             $db->Consulta("DELETE FROM compras_licitacoes WHERE cod_compras_licitacoes={$this->id_licitacao} AND ref_ref_cod_pessoa_fj = {$this->id_pessoa}");
             header("location: licitacoes_lst.php");
             die;
             return true;
         } else {
             $this->mensagem = "Impossivel deletar licita&ccedil;&atilde;o.<br>Esta licita&ccedil;&atilde;o j&aacute; possui um edital publicado.";
         }
     }
 }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        if ($this->ref_ref_cod_serie) {
            $this->ref_cod_serie = $this->ref_ref_cod_serie;
        }
        $fonte = 'arial';
        $corTexto = '#000000';
        /*if(empty($this->ref_cod_turma))
        		{
        	     	echo '<script>
        	     			alert("Erro ao gerar relatório!\nNenhuma turma selecionada!");
        	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
        	     		</script>';
        	     	return true;
        		}*/
        if ($this->ref_cod_escola) {
            $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
            $det_escola = $obj_escola->detalhe();
            $this->nm_escola = $det_escola['nome'];
            $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
            $det_instituicao = $obj_instituicao->detalhe();
            $this->nm_instituicao = $det_instituicao['nm_instituicao'];
        }
        $obj_calendario = new clsPmieducarEscolaAnoLetivo();
        $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1, null);
        if (!$lista_calendario) {
            echo '<script>
	     			alert("Escola não possui calendário definido para este ano");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        if ($this->ref_cod_turma) {
            $where = "\tAND ref_cod_turma = {$this->ref_cod_turma}";
        }
        if ($this->ref_cod_serie) {
            $where .= "\tAND ref_ref_cod_serie   = {$this->ref_cod_serie}";
        }
        //DISTINCT extract( year from ( age( now(), data_nasc ) ) ) as idade
        $sql = "SELECT EXTRACT(YEAR FROM age( to_date ( EXTRACT( year from now() )   || '-12-31' ,'yyyy-mm-dd') , data_nasc) ) as idade\n\t\t\t\t  FROM pmieducar.matricula_turma mt\n\t\t\t\t       ,pmieducar.matricula      m\n\t\t\t\t       ,pmieducar.aluno          a\n\t\t\t\t       ,cadastro.fisica          f\n\t\t\t\t WHERE cod_matricula = ref_cod_matricula\n\t\t\t\t   AND mt.ativo = 1\n\t\t\t\t   AND m.ativo  = 1\n\t\t\t\t   AND m.ref_cod_aluno = a.cod_aluno\n\t\t\t\t   AND f.idpes = a.ref_idpes\n\t\t\t\t   {$where}\n\t\t\t\t   AND ref_ref_cod_escola  = {$this->ref_cod_escola}\n\t\t\t\t   ANd ref_cod_curso       = {$this->ref_cod_curso}\n\t\t\t\t   AND data_nasc IS NOT NULL\n\t\t\t\t   AND m.ano = {$this->ano}\n\t\t\t\t ORDER BY idade";
        $db = new clsBanco();
        $db->Consulta($sql);
        $array_idades = array();
        if ($db->Num_Linhas()) {
            while ($db->ProximoRegistro()) {
                $registro = $db->Tupla();
                $array_idades_[$registro['idade']] = "-";
                $array_idades[$registro['idade']] = $registro['idade'];
            }
        } else {
            echo '<script>
	     			alert("Nenhum aluno está matriculado");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        if ($array_idades) {
            $relatorio = new relatorios("Relatório de alunos por idades       Ano - {$this->ano}", 210, false, "Relatório de alunos por idade", "A4", "{$this->nm_instituicao}\n{$this->nm_escola}\n\n" . date("d/m/Y"));
            $relatorio->setMargem(20, 20, 50, 50);
            $relatorio->exibe_produzido_por = false;
            $array_cab = array_merge(array("Série", "Turma"), $array_idades);
            $array_cab[] = "Total";
            $divisoes = array(100, 80);
            $divisoes_texto = array(100, 80);
            $tamanho_divisao = 23 + (15 - count($array_idades) - 1) * 2;
            for ($ct = 0; $ct < 20; $ct++) {
                $divisoes[] = $tamanho_divisao;
                $divisoes_texto[] = $tamanho_divisao;
            }
            $relatorio->novalinha($array_cab, 0, 16, true, "arial", $divisoes, "#515151", "#d3d3d3", "#ffffff", false, true);
            $db = new clsBanco();
            $obj_curso = new clsPmieducarCurso();
            $lst_curso = $obj_curso->lista($this->ref_cod_curso, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
            if ($lst_curso) {
                foreach ($lst_curso as $curso) {
                    $relatorio->novalinha(array($curso['nm_curso']), 0, 16, true, "arial", false, "#515151", "#d3d3d3", "#ffffff", false, true);
                    $obj = new clsPmieducarSerie();
                    $obj->setOrderby('cod_serie,etapa_curso');
                    $lista_serie_curso = $obj->lista($this->ref_cod_serie, null, null, $curso['cod_curso'], null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
                    if ($lista_serie_curso) {
                        foreach ($lista_serie_curso as $serie) {
                            $obj_turma = new clsPmieducarTurma();
                            $lst_turma = $obj_turma->lista($this->ref_cod_turma, 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, $curso['cod_curso'], $this->ref_cod_instituicao);
                            if ($lst_turma) {
                                foreach ($lst_turma as $turma) {
                                    $array_idades = $array_idades_;
                                    $total = 0;
                                    $sql = "SELECT count(1) as total\n\t\t       \t\t\t\t\t\t\t\t\t   ,EXTRACT(YEAR FROM age( to_date ( EXTRACT( year from now() )   || '-12-31' ,'yyyy-mm-dd') , data_nasc) ) as idade\n\t\t\t\t\t\t\t\t\t\t\t  FROM pmieducar.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\t       ,pmieducar.aluno          a\n\t\t\t\t\t\t\t\t\t\t\t       ,cadastro.fisica          f\n\t\t\t\t\t\t\t\t\t\t\t WHERE cod_matricula = ref_cod_matricula\n\t\t\t\t\t\t\t\t\t\t\t   AND mt.ativo = 1\n\t\t\t\t\t\t\t\t\t\t\t   AND m.ativo  = 1\n\t\t\t\t\t\t\t\t\t\t\t   AND m.ref_cod_aluno = a.cod_aluno\n\t\t\t\t\t\t\t\t\t\t\t   AND f.idpes = a.ref_idpes\n\t\t\t\t\t\t\t\t\t\t\t   AND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t   AND ref_ref_cod_serie   = {$serie['cod_serie']}\n\t\t\t\t\t\t\t\t\t\t\t   AND ref_ref_cod_escola  = {$this->ref_cod_escola}\n\t\t\t\t\t\t\t\t\t\t\t   ANd ref_cod_curso       = {$curso['cod_curso']}\n\t\t\t\t\t\t\t\t\t\t\t   AND m.ano = {$this->ano}\n\t\t\t\t\t\t\t\t\t\t\t   AND aprovado IN (1,2,3)\n\t\t\t\t\t\t\t\t\t\t\t   \n\t\t\t\t\t\t\t\t\t\t\t   AND data_nasc IS NOT NULL\n\t\t\t\t\t\t\t\t\t\t\t GROUP BY EXTRACT(YEAR FROM age( to_date ( EXTRACT( year from now() )   || '-12-31' ,'yyyy-mm-dd') , data_nasc) )\n\t\t\t\t\t\t\t\t\t\t\t ORDER BY idade";
                                    $db->Consulta($sql);
                                    if ($db->Num_Linhas()) {
                                        while ($db->ProximoRegistro()) {
                                            $registro = $db->Tupla();
                                            $array_idades[$registro['idade']] = $registro['total'];
                                            $total += $registro['total'];
                                        }
                                        $valores = array_merge(array($serie['nm_serie'], $turma['nm_turma']), $array_idades, array($total));
                                        $relatorio->novalinha($valores, 0, 16, false, "arial", $divisoes, "#515151", "#d3d3d3", "#ffffff", false, true);
                                    }
                                }
                            }
                        }
                    }
                }
                //$relatorio->quebraPagina();
            }
            $this->get_link = $relatorio->fechaPdf();
        }
        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>";
    }
 /**
  * @global $coreExt
  */
 function renderHTML()
 {
     global $coreExt;
     $config = $coreExt['Config']->app->template->pdf;
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
     $det_instituicao = $obj_instituicao->detalhe();
     $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     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_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     $this->nm_curso = $det_curso['nm_curso'];
     if ($this->ref_cod_disciplina) {
         $where = ' AND mcc.id = ' . $this->ref_cod_disciplina;
     }
     if ($this->ref_cod_escola) {
         $sql = sprintf('
     SELECT
       DISTINCT(cod_servidor_alocacao),
       cod_servidor,
       cp.nome,
       sa.carga_horaria,
       CASE periodo
         WHEN 1 THEN \'Matutino\'
         WHEN 2 THEN \'Vespertino\'
         ELSE \'Noturno\'
       END AS turno,
       mcc.nome as nm_disciplina
     FROM
       pmieducar.servidor s,
       pmieducar.servidor_disciplina sd,
       pmieducar.servidor_alocacao sa,
       modules.componente_curricular mcc,
       cadastro.pessoa cp
     WHERE
       cod_servidor = sd.ref_cod_servidor
       AND cod_servidor = sa.ref_cod_servidor
       AND ref_cod_instituicao = sd.ref_ref_cod_instituicao
       AND ref_cod_instituicao = sa.ref_ref_cod_instituicao
       AND mcc.id = ref_cod_disciplina
       AND cod_servidor = idpes
       AND ref_cod_instituicao = \'%d\'
       AND ref_cod_escola = \'%d\'
       %s
       AND sd.ref_cod_curso = \'%d\'
       AND sa.ativo = 1
       AND s.ativo  = 1
     ORDER BY
       nome, nm_disciplina', $this->ref_cod_instituicao, $this->ref_cod_escola, $where, $this->ref_cod_curso);
     } else {
         $sql = sprintf('
     SELECT
       DISTINCT(cod_servidor_alocacao),
       cod_servidor,
       cp.nome,
       CAST(s.carga_horaria || \' hour\' AS interval) AS carga_horaria,
       mcc.nome as nm_disciplina,
       CASE periodo
         WHEN 1 THEN \'Matutino\'
         WHEN 2 THEN \'Vespertino\'
         WHEN 3 THEN \'Noturno\'
       END as turno
     FROM
       pmieducar.servidor s,
       pmieducar.servidor_disciplina sd,
       modules.componente_curricular mcc,
       cadastro.pessoa cp,
       pmieducar.servidor_alocacao sa
    WHERE
      cod_servidor = sd.ref_cod_servidor
      AND cod_servidor = idpes
      AND ref_cod_instituicao = sd.ref_ref_cod_instituicao
      AND mcc.id = ref_cod_disciplina
      AND ref_cod_instituicao = \'%d\'
      %s
      AND sd.ref_cod_curso = \'%d\'
      AND s.ativo = 1
      AND cod_servidor = sa.ref_cod_servidor
    ORDER BY
      nome, nm_disciplina', $this->ref_cod_instituicao, $where, $this->ref_cod_curso);
     }
     $db = new clsBanco();
     $db->Consulta($sql);
     $nm_disciplina = NULL;
     if ($db->Num_Linhas()) {
         $relatorio = new relatorios('Professores por Disciplina', 210, FALSE, 'Professores por Disciplina', 'A4', $config->get($config->titulo, 'i-Educar') . "\n{$this->nm_escola}\n{$this->nm_curso}");
         $relatorio->setMargem(20, 20, 50, 50);
         $relatorio->exibe_produzido_por = FALSE;
         while ($db->ProximoRegistro()) {
             $registro = $db->Tupla();
             if ($registro['nm_disciplina'] != $nm_disciplina) {
                 $relatorio->novalinha(array($registro['nm_disciplina']), 0, 16, TRUE, 'arial', array(75, 330, 100), '#515151', '#d3d3d3', '#FFFFFF', FALSE, FALSE);
                 if ($this->ref_cod_escola) {
                     $relatorio->novalinha(array('Matrícula', 'Nome', 'Carga Horária', 'Turno'), 0, 16, TRUE, 'arial', array(75, 320, 100), '#515151', '#d3d3d3', '#FFFFFF', FALSE, TRUE);
                 } else {
                     $relatorio->novalinha(array('Matrícula', 'Nome', 'Carga Horária', 'Turno'), 0, 16, TRUE, 'arial', array(75, 320, 100), '#515151', '#d3d3d3', '#FFFFFF', FALSE, TRUE);
                 }
                 $nm_disciplina = $registro['nm_disciplina'];
             }
             $relatorio->novalinha(array($registro['cod_servidor'], $registro['nome'], $registro['carga_horaria'], $registro['turno']), 0, 16, FALSE, 'arial', array(75, 330, 80), '#515151', '#d3d3d3', '#FFFFFF', FALSE, FALSE);
         }
         $this->get_link = $relatorio->fechaPdf();
         echo sprintf('
     <script>
       window.onload=function()
       {
         parent.EscondeDiv("LoadImprimir");
         window.location="download.php?filename=%s"
       }
     </script>', $this->get_link);
         echo sprintf('
     <html>
       <center>Se o download não iniciar automaticamente <br />
       <a target="blank" href="%s" style="font-size: 16px; color: #000000; text-decoration: underline;">clique aqui!</a><br /><br />
       <span style="font-size: 10px;">Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br />
         Clique na Imagem para Baixar o instalador<br /><br />
         <a href="http://www.adobe.com.br/products/acrobat/readstep2.html" target="new"><br><img src="imagens/acrobat.gif" width="88" height="31" border="0"></a>
       </span>
     </center>', $this->get_link);
     } else {
         if ($this->ref_cod_escola) {
             $msg = 'Nenhum professor ministra a disciplina ou está alocado na escola selecionada.';
         } else {
             $msg = 'Nenhum professor ministra a disciplina selecionada.';
         }
         echo '<script>
        window.onload=function()
        {
          parent.EscondeDiv("LoadImprimir");
        }
      </script>' . '<center>' . $msg . '</center>';
     }
 }