function renderHTML()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     $_SESSION['calendario']['ultimo_valido'] = 0;
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->nivel_acesso($this->pessoa_logada) > 7) {
         $retorno .= '
     <table width="100%" height="40%" cellspacing="1" cellpadding="2" border="0" class="tablelistagem">
       <tbody>';
         $retorno .= '
       <tr>
         <td colspan="2" valig="center" height="50">
           <center class="formdktd">Usuário sem permissão para acessar esta página</center>
         </td>
       </tr>';
         $retorno .= '
       </tbody>
     </table>';
         return $retorno;
     }
     $retorno .= '
   <table width="100%" cellspacing="1" cellpadding="2" border="0" class="tablelistagem">
     <tbody>';
     if ($_POST) {
         $this->ref_cod_escola = $_POST['ref_cod_escola'] ? $_POST['ref_cod_escola'] : $_SESSION['calendario']['ref_cod_escola'];
         $this->ref_cod_instituicao = $_POST['ref_cod_instituicao'] ? $_POST['ref_cod_instituicao'] : $_SESSION['calendario']['ref_cod_instituicao'];
         if ($_POST['mes']) {
             $this->mes = $_POST['mes'];
         }
         if ($_POST['ano']) {
             $this->ano = $_POST['ano'];
         }
         if ($_POST['cod_calendario_ano_letivo']) {
             $this->cod_calendario_ano_letivo = $_POST['cod_calendario_ano_letivo'];
         }
     } elseif (isset($_SESSION['calendario'])) {
         // passa todos os valores em SESSION para atributos do objeto
         foreach ($_SESSION['calendario'] as $var => $val) {
             $this->{$var} = $val === '' ? NULL : $val;
         }
     }
     if ($_GET) {
         header('Location: educar_calendario_ano_letivo_lst.php');
     }
     if (!$this->mes) {
         $this->mes = date('n');
     }
     if (!$this->ano) {
         $this->ano = date('Y');
     }
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if (!$this->ref_cod_escola) {
         $this->ref_cod_escola = $obj_permissoes->getEscola($this->pessoa_logada);
     }
     if (!$this->ref_cod_instituicao) {
         $this->ref_cod_instituicao = $obj_permissoes->getInstituicao($this->pessoa_logada);
     }
     $get_escola = 1;
     $obrigatorio = FALSE;
     include 'educar_calendario_pesquisas.php';
     $obj_calendario_ano_letivo = new clsPmieducarCalendarioAnoLetivo();
     $obj_calendario_ano_letivo->setOrderby('ano ASC');
     $obj_calendario_ano_letivo->setLimite($this->limite, $this->offset);
     $lista = array();
     $obj_calendario_ano_letivo->setOrderby('ano');
     switch ($nivel_usuario) {
         // Poli-institucional
         case 1:
         case 2:
         case 4:
             if (!isset($this->ref_cod_escola)) {
                 break;
             }
             $lista = $obj_calendario_ano_letivo->lista($this->cod_calendario_ano_letivo, $this->ref_cod_escola, NULL, NULL, !isset($this->cod_calendario_ano_letivo) ? $this->ano : NULL, NULL, NULL, 1);
             break;
     }
     $total = $obj_calendario_ano_letivo->_total;
     if (empty($lista)) {
         if ($nivel_usuario == 4) {
             $retorno .= '<tr><td colspan="2" align="center" class="formdktd">Sem Calendário Letivo</td></tr>';
         } else {
             if ($_POST) {
                 $retorno .= '<tr><td colspan="2" align="center" class="formdktd">Sem Calendário para o ano selecionado</td></tr>';
             } else {
                 $retorno .= '<tr><td colspan="2" align="center" class="formdktd">Selecione uma escola para exibir o calendário</td></tr>';
             }
         }
     }
     // Monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $key => $registro) {
             // Guarda dados na $_SESSION
             $_SESSION['calendario'] = array('cod_calendario_ano_letivo' => $registro['cod_calendario_ano_letivo'], 'ref_cod_instituicao' => $this->ref_cod_instituicao, 'ref_cod_escola' => $this->ref_cod_escola, 'ano' => $this->ano, 'mes' => $this->mes);
             // Nome da escola
             $obj_ref_cod_escola = new clsPmieducarEscola($registro['ref_cod_escola']);
             $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
             $registro['nm_escola'] = $det_ref_cod_escola['nome'];
             // Início e término do ano letivo.
             $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo();
             $inicio_ano = $obj_ano_letivo_modulo->menorData($registro['ano'], $this->ref_cod_escola);
             $fim_ano = $obj_ano_letivo_modulo->maiorData($registro['ano'], $this->ref_cod_escola);
             $inicio_ano = explode('/', dataFromPgToBr($inicio_ano));
             $fim_ano = explode('/', dataFromPgToBr($fim_ano));
             // Turmas da escola
             $turmas = App_Model_IedFinder::getTurmas($registro['ref_cod_escola']);
             // Mapper de Calendario_Model_TurmaDataMapper
             $calendarioTurmaMapper = new Calendario_Model_TurmaDataMapper();
             $obj_calendario = new clsCalendario();
             $obj_calendario->setLargura(600);
             $obj_calendario->permite_trocar_ano = TRUE;
             $obj_calendario->setCorDiaSemana(array(0, 6), 'ROSA');
             $obj_dia_calendario = new clsPmieducarCalendarioDia($registro['cod_calendario_ano_letivo'], $this->mes, NULL, NULL, NULL, NULL, NULL);
             $lista_dia = $obj_dia_calendario->lista($registro['cod_calendario_ano_letivo'], $this->mes, NULL, NULL, NULL, NULL);
             if ($lista_dia) {
                 $array_dias = array();
                 $array_descricao = array();
                 foreach ($lista_dia as $dia) {
                     $descricao = '';
                     $url = sprintf('educar_calendario_anotacao_lst.php?ref_cod_calendario_ano_letivo=%s&ref_cod_escola=%s&dia=%s&mes=%s&ano=%s', $registro['cod_calendario_ano_letivo'], $this->ref_cod_escola, $dia['dia'], $dia['mes'], $this->ano);
                     $botao_editar = sprintf('
           <div style="z-index: 0;">
             <br />
             <input type="button" value="Anotações" onclick="window.location=\'%s\';" class="botaolistagem"/>
           </div>', $url);
                     if ($dia['ref_cod_calendario_dia_motivo']) {
                         $array_dias[$dia['dia']] = $dia['dia'];
                         $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']);
                         $det_motivo = $obj_motivo->detalhe();
                         /**
                          * @todo CoreExt_Enum?
                          */
                         $tipo = strtoupper($det_motivo['tipo']) == 'E' ? 'Dia Extra-Letivo' : 'Dia Não Letivo';
                         // Busca pelas turmas que estão marcadas para esse dia
                         $args = array('calendarioAnoLetivo' => $registro['cod_calendario_ano_letivo'], 'mes' => $dia['mes'], 'dia' => $dia['dia'], 'ano' => $this->ano);
                         $calendarioTurmas = $calendarioTurmaMapper->findAll(array(), $args);
                         $nomeTurmas = array();
                         foreach ($calendarioTurmas as $calendarioTurma) {
                             $nomeTurmas[] = $turmas[$calendarioTurma->turma];
                         }
                         if (0 == count($nomeTurmas)) {
                             $calendarioTurmas = '';
                         } else {
                             $calendarioTurmas = 'Turmas: <ul><li>' . implode('</li><li>', $nomeTurmas) . '</li></ul>';
                         }
                         $descricao = sprintf('<div style="z-index: 0;">%s</div><div align="left" style="z-index: 0;">Motivo: %s<br />Descrição: %s<br />%s</div>%s', $tipo, $det_motivo['nm_motivo'], $dia['descricao'], $calendarioTurmas, $botao_editar);
                         $array_descricao[$dia['dia']] = $descricao;
                         if (strtoupper($det_motivo['tipo']) == 'E') {
                             $obj_calendario->adicionarLegenda('Extra Letivo', 'LARANJA_ESCURO');
                             $obj_calendario->adicionarArrayDias('Extra Letivo', array($dia['dia']));
                         } elseif (strtoupper($det_motivo['tipo']) == 'N') {
                             $obj_calendario->adicionarLegenda('Não Letivo', '#VERDE_ESCURO');
                             $obj_calendario->adicionarArrayDias('Não Letivo', array($dia['dia']));
                         }
                         $obj_calendario->diaDescricao($array_dias, $array_descricao);
                     } elseif ($dia['descricao']) {
                         $array_dias[$dia['dia']] = $dia['dia'];
                         $descricao = sprintf('<div style="z-index: 0;">Descrição: %s</div>%s', $dia['descricao'], $botao_editar);
                         $array_descricao[$dia['dia']] = $descricao;
                     }
                 }
                 if (!empty($array_dias)) {
                     $obj_calendario->diaDescricao($array_dias, $array_descricao);
                 }
             }
             if ($this->mes <= (int) $inicio_ano[1] && $this->ano == (int) $inicio_ano[2]) {
                 if ($this->mes == (int) $inicio_ano[1]) {
                     $obj_calendario->adicionarLegenda('Início Ano Letivo', 'AMARELO');
                     $obj_calendario->adicionarArrayDias('Início Ano Letivo', array($inicio_ano[0]));
                 }
                 $dia_inicio = (int) $inicio_ano[0];
                 $dias = array();
                 if ($this->mes < (int) $inicio_ano[1]) {
                     $NumeroDiasMes = (int) date('t', $this->mes);
                     for ($d = 1; $d <= $NumeroDiasMes; $d++) {
                         $dias[] = $d;
                     }
                     $obj_calendario->setLegendaPadrao('Não Letivo');
                     if (!empty($dias)) {
                         $obj_calendario->adicionarArrayDias('Não Letivo', $dias);
                     }
                 } else {
                     $dia_inicio;
                     for ($d = 1; $d < $dia_inicio; $d++) {
                         $dias[] = $d;
                     }
                     $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO');
                     if (!empty($dias)) {
                         $obj_calendario->adicionarLegenda('Não Letivo', '#F7F7F7');
                         $obj_calendario->adicionarArrayDias('Não Letivo', $dias);
                     }
                 }
             } elseif ($this->mes >= (int) $fim_ano[1] && $this->ano == (int) $fim_ano[2]) {
                 $dia_inicio = (int) $fim_ano[0];
                 $dias = array();
                 if ($this->mes > (int) $fim_ano[1]) {
                     $NumeroDiasMes = (int) date('t', $this->mes);
                     for ($d = 1; $d <= $NumeroDiasMes; $d++) {
                         $dias[] = $d;
                     }
                     $obj_calendario->setLegendaPadrao('Não Letivo');
                     if (!empty($dias)) {
                         $obj_calendario->adicionarArrayDias('Não Letivo', $dias);
                     }
                 } else {
                     $NumeroDiasMes = (int) date('t', $this->mes);
                     for ($d = $fim_ano[0]; $d <= $NumeroDiasMes; $d++) {
                         $dias[] = $d;
                     }
                     $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO');
                     if (!empty($dias)) {
                         $obj_calendario->adicionarLegenda('Não Letivo', '#F7F7F7');
                         $obj_calendario->adicionarArrayDias('Não Letivo', $dias);
                     }
                 }
                 if ($this->mes == (int) $fim_ano[1]) {
                     $obj_calendario->adicionarLegenda('Término Ano Letivo', 'AMARELO');
                     $obj_calendario->adicionarArrayDias('Término Ano Letivo', array($fim_ano[0]));
                 }
             } else {
                 $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO');
             }
             $obj_calendario->setCorDiaSemana(array(0, 6), 'ROSA');
             $obj_anotacao = new clsPmieducarCalendarioDiaAnotacao();
             $lista_anotacoes = $obj_anotacao->lista(NULL, $this->mes, $registro['cod_calendario_ano_letivo'], NULL, 1);
             if ($lista_anotacoes) {
                 $dia_anotacao = array();
                 foreach ($lista_anotacoes as $anotacao) {
                     if ($this->mes == (int) $anotacao['ref_mes']) {
                         $dia_anotacao[$anotacao['ref_dia']] = $anotacao['ref_dia'];
                     }
                 }
                 $obj_calendario->adicionarIconeDias($dia_anotacao, 'A');
             }
             $obj_calendario->all_days_url = sprintf('educar_calendario_anotacao_lst.php?ref_cod_calendario_ano_letivo=%s', $registro['cod_calendario_ano_letivo']);
             // Gera código HTML do calendário
             $calendario = $obj_calendario->getCalendario($this->mes, $this->ano, 'mes_corrente', $_GET, array('cod_calendario_ano_letivo' => $registro['cod_calendario_ano_letivo']));
             $retorno .= sprintf('<tr><td colspan="2"><center><b>%s</b>%s</center></td></tr>', $registro['nm_escola'], $calendario);
         }
     }
     if ($obj_permissoes->permissao_cadastra(620, $this->pessoa_logada, 7)) {
         if ($_POST && empty($lista) && $_SESSION['calendario']['ultimo_valido']) {
             $url = sprintf('educar_calendario_ano_letivo_lst.php?ref_cod_instituicao=%s&ref_cod_escola=%s&ano=%s', $this->ref_cod_instituicao, $this->ref_cod_escola, $_SESSION['calendario']['ano']);
             $bt_voltar = sprintf('<input type="button" value="Voltar" onclick="window.location=\'%s\';" class="botaolistagem" />', $url);
         }
         $url = sprintf('educar_calendario_ano_letivo_cad.php?ref_cod_instituicao=%s&ref_cod_escola=%s', $this->ref_cod_instituicao, $this->ref_cod_escola);
         $retorno .= sprintf('
     <tr>
       <td>&nbsp;</td>
     </tr>
     <tr>
       <td align="center" colspan="2">
         %s
         <input type="button" value="Novo Calendário Letivo" onclick="window.location=\'%s\';" class="botaolistagem" />
       </td>
     </tr>', $bt_voltar, $url);
     }
     $retorno .= '
     </tbody>
   </table>';
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Calend&aacute;rio do ano letivo"));
     $this->enviaLocalizacao($localizacao->montar());
     return $retorno;
 }
 function buscaDiasLetivos()
 {
     $obj_calendario = new clsPmieducarEscolaAnoLetivo();
     $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1, null);
     $totalDiasUteis = 0;
     $total_semanas = 0;
     $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo();
     $obj_ano_letivo_modulo->setOrderby("data_inicio asc");
     $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista($this->ano, $this->ref_cod_escola, null, null);
     if ($lst_ano_letivo_modulo) {
         $inicio = $lst_ano_letivo_modulo['0'];
         $fim = $lst_ano_letivo_modulo[count($lst_ano_letivo_modulo) - 1];
         $mes_inicial = explode("-", $inicio['data_inicio']);
         $mes_inicial = $mes_inicial[1];
         $dia_inicial = $mes_inicial[2];
         $mes_final = explode("-", $fim['data_fim']);
         $mes_final = $mes_final[1];
         $dia_final = $mes_final[2];
     }
     for ($mes = $mes_inicial; $mes <= $mes_final; $mes++) {
         $obj_calendario_dia = new clsPmieducarCalendarioDia();
         $lista_dias = $obj_calendario_dia->lista($calendario['cod_calendario_ano_letivo'], $mes, null, null, null, null, null, null, null, 1);
         $dias_mes = array();
         if ($lista_dias) {
             foreach ($lista_dias as $dia) {
                 $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']);
                 $det_motivo = $obj_motivo->detalhe();
                 $dias_mes[$dia['dia']] = strtolower($det_motivo['tipo']);
             }
         }
         //Dias previstos do mes
         // Qual o primeiro dia do mes
         $primeiroDiaDoMes = mktime(0, 0, 0, $mes, 1, $this->ano);
         // Quantos dias tem o mes
         $NumeroDiasMes = date('t', $primeiroDiaDoMes);
         //informacoes primeiro dia do mes
         $dateComponents = getdate($primeiroDiaDoMes);
         // What is the name of the month in question?
         $NomeMes = $mesesDoAno[$dateComponents['mon']];
         // What is the index value (0-6) of the first day of the
         // month in question.
         $DiaSemana = $dateComponents['wday'];
         //total de dias uteis + dias extra-letivos - dia nao letivo - fim de semana
         $DiaSemana = 0;
         if ($mes == $mes_inicial) {
             $dia_ini = $dia_inicial;
         } elseif ($mes == $mes_final) {
             $dia_ini = $dia_final;
         } else {
             $dia_ini = 1;
         }
         for ($dia = $dia_ini; $dia <= $NumeroDiasMes; $dia++) {
             if ($DiaSemana >= 7) {
                 $DiaSemana = 0;
                 $total_semanas++;
             }
             if ($DiaSemana != 0 && $DiaSemana != 6) {
                 if (!(key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('n'))) {
                     $totalDiasUteis++;
                 }
             } elseif (key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('e')) {
                 $totalDiasUteis++;
             }
             $DiaSemana++;
         }
     }
     $this->total_dias_uteis = $totalDiasUteis;
     $this->total_semanas = $total_semanas;
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Calendario Dia - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if (!$this->ref_cod_escola) {
         $this->ref_cod_escola = $obj_permissoes->getEscola($this->pessoa_logada);
     }
     if (!$this->ref_cod_instituicao) {
         $this->ref_cod_instituicao = $obj_permissoes->getInstituicao($this->pessoa_logada);
     }
     $this->addCabecalhos(array("Calendario Ano Letivo", "Dia", "Mes", "Calendario Dia Motivo"));
     // Filtros de Foreign Keys
     /*	$opcoes = array( "" => "Selecione" );
     		if( class_exists( "clsPmieducarCalendarioDiaMotivo" ) )
     		{
     			$objTemp = new clsPmieducarCalendarioDiaMotivo();
     			$lista = $objTemp->lista();
     			if ( is_array( $lista ) && count( $lista ) )
     			{
     				foreach ( $lista as $registro )
     				{
     					$opcoes["{$registro['cod_calendario_dia_motivo']}"] = "{$registro['nm_motivo']}";
     				}
     			}
     		}
     		else
     		{
     			echo "<!--\nErro\nClasse clsPmieducarCalendarioDiaMotivo nao encontrada\n-->";
     			$opcoes = array( "" => "Erro na geracao" );
     		}
     
     		$this->campoLista( "ref_cod_calendario_dia_motivo", "Calendario Dia Motivo", $opcoes, $this->ref_cod_calendario_dia_motivo );
     */
     $get_escola = 1;
     $obrigatorio = true;
     include "include/pmieducar/educar_campo_lista.php";
     /*	$opcoes = array( "" => "Selecione" );
     		if( class_exists( "clsPmieducarCalendarioAnoLetivo" ) )
     		{
     			$objTemp = new clsPmieducarCalendarioAnoLetivo();
     			$lista = $objTemp->lista();
     			if ( is_array( $lista ) && count( $lista ) )
     			{
     				foreach ( $lista as $registro )
     				{
     					$opcoes["{$registro['cod_calendario_ano_letivo']}"] = "{$registro['ano']}";
     				}
     			}
     		}
     		else
     		{
     			echo "<!--\nErro\nClasse clsPmieducarCalendarioAnoLetivo nao encontrada\n-->";
     			$opcoes = array( "" => "Erro na geracao" );
     		}
     		$this->campoLista( "ref_cod_calendario_ano_letivo", "Calendario Ano Letivo", $opcoes, $this->ref_cod_calendario_ano_letivo );
     */
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_calendario_dia = new clsPmieducarCalendarioDia();
     $obj_calendario_dia->setOrderby("descricao ASC");
     $obj_calendario_dia->setLimite($this->limite, $this->offset);
     $lista = $obj_calendario_dia->lista($this->ref_cod_calendario_ano_letivo, $this->mes, $this->dia, null, null, $this->ref_cod_calendario_dia_motivo, $this->ref_cod_calendario_atividade, $this->descricao_ini, $this->descricao_fim, null, null, 1, $this->ref_cod_escola);
     $total = $obj_calendario_dia->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // pega detalhes de foreign_keys
             if (class_exists("clsPmieducarCalendarioDiaMotivo")) {
                 $obj_ref_cod_calendario_dia_motivo = new clsPmieducarCalendarioDiaMotivo($registro["ref_cod_calendario_dia_motivo"]);
                 $det_ref_cod_calendario_dia_motivo = $obj_ref_cod_calendario_dia_motivo->detalhe();
                 $registro["ref_cod_calendario_dia_motivo"] = $det_ref_cod_calendario_dia_motivo["nm_motivo"];
             } else {
                 $registro["ref_cod_calendario_dia_motivo"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarCalendarioDiaMotivo\n-->";
             }
             if (class_exists("clsPmieducarCalendarioAnoLetivo")) {
                 $obj_ref_cod_calendario_ano_letivo = new clsPmieducarCalendarioAnoLetivo($registro["ref_cod_calendario_ano_letivo"]);
                 $det_ref_cod_calendario_ano_letivo = $obj_ref_cod_calendario_ano_letivo->detalhe();
                 $registro["ano"] = $det_ref_cod_calendario_ano_letivo["ano"];
             } else {
                 $registro["ref_cod_calendario_ano_letivo"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarCalendarioAnoLetivo\n-->";
             }
             $this->addLinhas(array("<a href=\"educar_calendario_dia_cad.php?ref_cod_calendario_ano_letivo={$registro["ref_cod_calendario_ano_letivo"]}&ano={$registro["ano"]}&mes={$registro["mes"]}&dia={$registro["dia"]}\">{$registro["ano"]}</a>", "<a href=\"educar_calendario_dia_cad.php?ref_cod_calendario_ano_letivo={$registro["ref_cod_calendario_ano_letivo"]}&ano={$registro["ano"]}&mes={$registro["mes"]}&dia={$registro["dia"]}\">{$registro["dia"]}</a>", "<a href=\"educar_calendario_dia_cad.php?ref_cod_calendario_ano_letivo={$registro["ref_cod_calendario_ano_letivo"]}&ano={$registro["ano"]}&mes={$registro["mes"]}&dia={$registro["dia"]}\">{$registro["mes"]}</a>", "<a href=\"educar_calendario_dia_cad.php?ref_cod_calendario_ano_letivo={$registro["ref_cod_calendario_ano_letivo"]}&ano={$registro["ano"]}&mes={$registro["mes"]}&dia={$registro["dia"]}\">{$registro["ref_cod_calendario_dia_motivo"]}</a>"));
         }
     }
     $this->addPaginador2("educar_calendario_dia_lst.php", $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(0, $this->pessoa_logada, 0)) {
         $this->acao = "go(\"educar_calendario_dia_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Calend&aacute;rio Dia Motivo - Detalhe";
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $this->cod_calendario_dia_motivo = $_GET["cod_calendario_dia_motivo"];
     $tmp_obj = new clsPmieducarCalendarioDiaMotivo($this->cod_calendario_dia_motivo);
     $registro = $tmp_obj->detalhe();
     if (!$registro) {
         header("location: educar_calendario_dia_motivo_lst.php");
         die;
     }
     if (class_exists("clsPmieducarEscola")) {
         $obj_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
         $obj_cod_escola_det = $obj_cod_escola->detalhe();
         $registro["ref_cod_escola"] = $obj_cod_escola_det["nome"];
         if (class_exists("clsPmieducarInstituicao")) {
             $cod_instituicao = $obj_cod_escola_det['ref_cod_instituicao'];
             $obj_instituicao = new clsPmieducarInstituicao($cod_instituicao);
             $obj_instituicao_det = $obj_instituicao->detalhe();
             $nm_instituicao = $obj_instituicao_det['nm_instituicao'];
         } else {
             $cod_instituicao = "Erro na gera&ccedil;&atilde;o";
             echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarInstituicao\n-->";
         }
     } else {
         $registro["ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
         echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
     }
     if ($nm_instituicao) {
         $this->addDetalhe(array("Institui&ccedil;&atilde;o", "{$nm_instituicao}"));
     }
     if ($registro["ref_cod_escola"]) {
         $this->addDetalhe(array("Escola", "{$registro["ref_cod_escola"]}"));
     }
     if ($registro["nm_motivo"]) {
         $this->addDetalhe(array("Motivo", "{$registro["nm_motivo"]}"));
     }
     if ($registro["sigla"]) {
         $this->addDetalhe(array("Sigla", "{$registro["sigla"]}"));
     }
     if ($registro["descricao"]) {
         $this->addDetalhe(array("Descric&atilde;o", "{$registro["descricao"]}"));
     }
     if ($registro["tipo"]) {
         if ($registro["tipo"] == 'e') {
             $registro["tipo"] = 'extra';
         } else {
             if ($registro["tipo"] == 'n') {
                 $registro["tipo"] = 'n&atilde;o-letivo';
             }
         }
         $this->addDetalhe(array("Tipo", "{$registro["tipo"]}"));
     }
     $obj_permissao = new clsPermissoes();
     if ($obj_permissao->permissao_cadastra(576, $this->pessoa_logada, 7)) {
         $this->url_novo = "educar_calendario_dia_motivo_cad.php";
         $this->url_editar = "educar_calendario_dia_motivo_cad.php?cod_calendario_dia_motivo={$registro["cod_calendario_dia_motivo"]}";
     }
     $this->url_cancelar = "educar_calendario_dia_motivo_lst.php";
     $this->largura = "100%";
 }
 function Gerar()
 {
     // primary keys
     $this->campoOculto("cod_calendario_dia_motivo", $this->cod_calendario_dia_motivo);
     if ($this->cod_calendario_dia_motivo) {
         $obj_calendario_dia_motivo = new clsPmieducarCalendarioDiaMotivo($this->cod_calendario_dia_motivo);
         $obj_calendario_dia_motivo_det = $obj_calendario_dia_motivo->detalhe();
         $this->ref_cod_escola = $obj_calendario_dia_motivo_det['ref_cod_escola'];
         $obj_ref_cod_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
         $this->ref_cod_instituicao = $det_ref_cod_escola['ref_cod_instituicao'];
     }
     // foreign keys
     $obrigatorio = true;
     $get_escola = true;
     // foreign keys
     include "include/pmieducar/educar_campo_lista.php";
     // text
     $this->campoTexto("nm_motivo", "Motivo", $this->nm_motivo, 30, 255, true);
     $this->campoTexto("sigla", "Sigla", $this->sigla, 15, 15, true);
     $this->campoMemo("descricao", "Descric&atilde;o", $this->descricao, 60, 5, false);
     $opcoes = array("" => "Selecione", "e" => "extra", "n" => "n&atilde;o-letivo");
     $this->campoLista("tipo", "Tipo", $opcoes, $this->tipo);
 }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        if (!$_POST) {
            echo '<script>
	     			alert("Erro ao gerar relatório!\\nNão existem dados!");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        if (empty($this->cursos)) {
            echo '<script>
	     			alert("Erro ao gerar relatório!\\nNenhum curso selecionado!");
	     			window.location = window.location;
	     		</script>';
            return true;
        }
        if ($this->ref_cod_escola) {
            $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
            $det_escola = $obj_escola->detalhe();
            $this->nm_escola = $det_escola['nome'];
            $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
            $det_instituicao = $obj_instituicao->detalhe();
            $this->nm_instituicao = $det_instituicao['nm_instituicao'];
        }
        $obj_calendario = new clsPmieducarEscolaAnoLetivo();
        $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1, null);
        if (!$lista_calendario) {
            echo '<script>
	     			alert("Escola não possui calendário definido para este ano");
	     			window.location = window.location;
	     		</script>';
            return true;
        }
        //$calendario = array_shift($lista_calendario);
        $obj_cal_ano_letivo = new clsPmieducarCalendarioAnoLetivo();
        $lst_cal_ano_letivo = $obj_cal_ano_letivo->lista(null, $this->ref_cod_escola, null, null, $this->ano, null, null, null, null, 1, null, $this->ref_cod_instituicao);
        $calendario = array_shift($lst_cal_ano_letivo);
        $obj_calendario_dia = new clsPmieducarCalendarioDia();
        $lista_dias = $obj_calendario_dia->lista($calendario['cod_calendario_ano_letivo'], $this->mes, null, null, null, null, null, null, null, 1);
        $dias_mes = array();
        if ($lista_dias) {
            foreach ($lista_dias as $dia) {
                $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']);
                $det_motivo = $obj_motivo->detalhe();
                $dias_mes[$dia['dia']] = strtolower($det_motivo['tipo']);
            }
        }
        //Dias previstos do mes
        // Qual o primeiro dia do mes
        $primeiroDiaDoMes = mktime(0, 0, 0, $this->mes, 1, $this->ano);
        // Quantos dias tem o mes
        $NumeroDiasMes = date('t', $primeiroDiaDoMes);
        //informacoes primeiro dia do mes
        $dateComponents = getdate($primeiroDiaDoMes);
        // What is the name of the month in question?
        $NomeMes = $mesesDoAno[$dateComponents['mon']];
        // What is the index value (0-6) of the first day of the
        // month in question.
        $DiaSemana = $dateComponents['wday'];
        //total de dias uteis + dias extra-letivos - dia nao letivo - fim de semana
        $this->totalDiasUteis = 0;
        $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo();
        $inicio_ano = $obj_ano_letivo_modulo->menorData($this->ano, $this->ref_cod_escola);
        $inicio_ano = explode("-", $inicio_ano);
        for ($dia = 1; $dia <= $NumeroDiasMes; $dia++) {
            if ($DiaSemana >= 7) {
                $DiaSemana = 0;
            }
            if ($this->mes == $inicio_ano[1]) {
                if ($dia >= $inicio_ano[2]) {
                    if ($DiaSemana != 0 && $DiaSemana != 6) {
                        if (!(key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('n'))) {
                            $this->totalDiasUteis++;
                        }
                    } elseif (key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('e')) {
                        $this->totalDiasUteis++;
                    }
                }
            } else {
                if ($DiaSemana != 0 && $DiaSemana != 6) {
                    if (!(key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('n'))) {
                        $this->totalDiasUteis++;
                    }
                } elseif (key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('e')) {
                    $this->totalDiasUteis++;
                }
            }
            $DiaSemana++;
        }
        $cursos_in = '';
        $conc = '';
        foreach ($this->cursos as $curso) {
            $cursos_in .= "{$conc}{$curso}";
            $conc = ",";
        }
        $this->pdf = new clsPDF("Movimentação Mensal de Alunos - {$this->ano}", "Movimentação Mensal de Alunos - {$this->ano}", "A4", "", false, false);
        $this->pdf->largura = 842.0;
        $this->pdf->altura = 595.0;
        $fonte = 'arial';
        $corTexto = '#000000';
        $altura_linha = 23;
        $inicio_escrita_y = 175;
        $this->pdf->OpenPage();
        $this->addCabecalho();
        $this->novoCabecalho();
        $quantidade_total = array();
        foreach ($this->cursos as $curso) {
            //busca todas as series de um curso
            $obj_serie_cursos = new clsPmieducarSerie();
            $lista_serie_cursos = $obj_serie_cursos->lista(null, null, null, $curso, null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
            $total_turmas_curso = 0;
            $total_curso = array();
            for ($a = 0; $a < 30; $a++) {
                $total_curso[$a] = 0;
            }
            if ($lista_serie_cursos) {
                for ($a = 0; $a < 30; $a++) {
                    $total_serie[$a] = 0;
                }
                foreach ($lista_serie_cursos as $serie) {
                    $total_serie = array();
                    //nome da serie
                    $nm_serie = $serie['nm_serie'];
                    //MATRICULA INICIAL
                    //busca todas turmas de cada serie
                    $obj_serie_turmas = new clsPmieducarTurma();
                    $obj_serie_turmas->setOrderby("nm_turma");
                    $lista_serie_turmas = $obj_serie_turmas->lista(null, null, null, $serie['cod_serie'], $this->ref_cod_escola, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null);
                    //total de turmas de uma serie
                    $total_turmas_curso += $total_turmas_serie = $obj_serie_turmas->_total;
                    if ($lista_serie_turmas) {
                        $quantidades = array();
                        foreach ($lista_serie_turmas as $turma) {
                            //professor regente da turma
                            $obj_servidor = new clsPessoa_($turma['ref_cod_regente']);
                            $det_sevidor = $obj_servidor->detalhe();
                            $nm_servidor = $det_sevidor['nome'];
                            //nome da turma de uma serie
                            $nm_turma = $turma['nm_turma'];
                            if ($turma['hora_inicial'] <= '12:00') {
                                $turno = 'M';
                            } elseif ($turma['hora_inicial'] > '12:00' && $turma['hora_inicial'] <= '18:00') {
                                $turno = 'V';
                            } else {
                                $turno = 'N';
                            }
                            $depurar = false;
                            if (trim($turma["nm_turma"]) == "202") {
                                //								$depurar=true;
                            }
                            /**
                             * busca todos os alunos que foram matriculados nos meses anteriores ao atual
                             */
                            $obj_matriculas = new clsPmieducarMatriculaTurma();
                            //$lista_matriculas = $obj_matriculas->lista(null,$turma['cod_turma'],null,null,null,null,null,null,1,$serie['cod_serie'],$curso,$this->ref_cod_escola,$this->ref_cod_instituicao,null,null,array( 1, 2, 3 ),((int)$this->mes === 1 ) ? $this->mes + 1: $this->mes,null,$this->ano );
                            //$lista_matriculas = $obj_matriculas->lista(null,$turma['cod_turma'],null,null,null,null,null,null,null,$serie['cod_serie'],$curso,$this->ref_cod_escola,$this->ref_cod_instituicao,null,null,null,((int)$this->mes === 1 ) ? $this->mes + 1: $this->mes,null,$this->ano );
                            $lista_matriculas = $obj_matriculas->lista(null, $turma['cod_turma'], null, null, null, null, null, null, null, $serie['cod_serie'], $curso, $this->ref_cod_escola, $this->ref_cod_instituicao, null, null, null, null, null, $this->ano, null, null, null, null, true, null, $this->mes, null, null, null, null, $depurar);
                            $total_matriculas_turma = $obj_matriculas->_total;
                            $total_matriculas_turma_masculino = 0;
                            $total_matriculas_turma_feminino = 0;
                            if ($lista_matriculas) {
                                foreach ($lista_matriculas as $matricula) {
                                    $obj_matricula = new clsPmieducarMatricula($matricula['ref_cod_matricula']);
                                    $det_matricula = $obj_matricula->detalhe();
                                    $obj_aluno = new clsPmieducarAluno($det_matricula['ref_cod_aluno']);
                                    $det_aluno = $obj_aluno->detalhe();
                                    $obj_pessoa = new clsFisica($det_aluno['ref_idpes']);
                                    $det_pessoa = $obj_pessoa->detalhe();
                                    if (strtoupper($det_pessoa['sexo']) == 'M') {
                                        $total_matriculas_turma_masculino++;
                                    } else {
                                        $total_matriculas_turma_feminino++;
                                    }
                                }
                            }
                            //quantidades matricula inicial
                            //							M
                            $quantidades[0] = $total_matriculas_turma_masculino;
                            //							F
                            $quantidades[1] = $total_matriculas_turma_feminino;
                            //							T
                            $quantidades[2] = $total_matriculas_turma;
                            $db3 = new clsBanco();
                            if (trim($turma["nm_turma"]) == "304") {
                                //								echo "<pre>"; print_r($quantidades);// die();
                            }
                            /*Array
                            (
                                [0] => 15
                                [1] => 14
                                [2] => 29
                            )
                            EL. ENTURMACAO 48743          2
                            EL. TRANSFERENCIA 48775                    1
                            AD ENTURMACAO 48816       4
                            EL. TRANSFERENCIA 54097                    1
                            AD ENTURMACAO 54962       4
                            AD ENTURMACAO 55101       4
                            AD TRANSFERENCIA 57059          3
                            AD TRANSFERENCIA 57070          3*/
                            //							echo $turma["cod_turma"]."<br>";
                            //sql para pegar o numero de alunos que
                            // abandonaram e diminuir da soma final
                            /*$sql = "SELECT COUNT(0) FROM
                            					pmieducar.matricula m,
                            					pmieducar.matricula_turma mt,
                            					pmieducar.aluno a,
                            					cadastro.fisica f
                            				WHERE
                            					mt.ref_cod_turma = {$turma["cod_turma"]}
                            					AND mt.ativo = 1
                            					AND mt.ref_cod_matricula = m.cod_matricula
                            					AND m.ref_cod_aluno = a.cod_aluno
                            					AND a.ref_idpes = f.idpes
                            					AND sexo = 'M'
                            					AND ano = {$this->ano}
                            					AND m.aprovado not in(1,2,3)
                            					AND ( to_char(mt.data_cadastro,'MM')::int = '{$this->mes}'
                            						  OR to_char(mt.data_exclusao,'MM')::int = '{$this->mes}')";
                            		$diminui_masc = (int)$db3->CampoUnico($sql);
                            		if ($depurar) {
                            			echo $sql."<br>";
                            		}
                            		$sql = "SELECT COUNT(0) FROM
                            					pmieducar.matricula m,
                            					pmieducar.matricula_turma mt,
                            					pmieducar.aluno a,
                            					cadastro.fisica f
                            				WHERE
                            					mt.ref_cod_turma = {$turma["cod_turma"]}
                            					AND mt.ativo = 1
                            					AND mt.ref_cod_matricula = m.cod_matricula
                            					AND m.ref_cod_aluno = a.cod_aluno
                            					AND a.ref_idpes = f.idpes
                            					AND sexo = 'F'
                            					AND ano = {$this->ano}
                            					AND m.aprovado not in(1,2,3)
                            					AND ( to_char(mt.data_cadastro,'MM')::int = '{$this->mes}'
                            							OR to_char(mt.data_exclusao,'MM')::int = '{$this->mes}')";
                            		$diminui_fem = (int)$db3->CampoUnico($sql);			*/
                            //							$depurar = false;
                            if ($depurar || $turma["nm_turma"] == "304") {
                                //								die($sql);
                                //								$depurar = true;
                            }
                            //							$diminui_fem = $diminui_masc = 0;
                            //							ENTURMACAO
                            /**
                             * seleciona todas as matriculas com data_* no mes atual
                             */
                            $sql_complemento = "OR (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tEXISTS (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSELECT 1 FROM pmieducar.transferencia_solicitacao ts WHERE ts.ativo = 1 AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t to_char(ts.data_transferencia,'MM')::int = {$this->mes} AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ts.ref_cod_matricula_saida = m.cod_matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t)";
                            $sql_complemento = "";
                            if ($depurar) {
                                //								$sql_complemento1 = "AND m.cod_matricula NOT IN (48743, 48775, 48816, 54097, 54962, 55101, 57059, 57070)";
                                //								$sql_complemento1 = "AND m.cod_matricula NOT IN (48743, 48775, 48816, 54097, 54962, 55101, 57059)";
                            }
                            $db = new clsBanco();
                            $consulta = "SELECT\n\t\t\t\t\t\t\t\t\t\t\tDISTINCT mt.ref_cod_matricula, mt.sequencial, mt.ativo\n\t\t\t\t\t\t\t\t\t\t FROM\n\t\t\t\t\t\t\t\t\t\t \tpmieducar.matricula_turma mt\n\t\t\t\t\t\t\t\t\t\t \t,pmieducar.matricula m\n\t\t\t\t\t\t\t\t\t\t WHERE\n\t\t\t\t\t\t\t\t\t\t \tmt.ref_cod_matricula = m.cod_matricula\n\t\t\t\t\t\t\t\t\t\t \tAND m.ano = {$this->ano}\n\t\t\t\t\t\t\t\t\t\t \tAND m.ativo = 1\n\t\t\t\t\t\t\t\t\t\t \tAND mt.ref_cod_turma = {$turma["cod_turma"]}\n\t\t\t\t\t\t\t\t\t\t \tAND (\tto_char(mt.data_cadastro,'MM')::int = {$this->mes}\n\t\t\t\t\t\t\t\t\t\t \t\tOR\n\t\t\t\t\t\t\t\t\t\t \t\t\tto_char(mt.data_exclusao,'MM')::int = {$this->mes}\n\t\t\t\t\t\t\t\t\t\t \t\t\t{$sql_complemento}\n\t\t\t\t\t\t\t\t\t\t \t\t)\n\t\t\t\t\t\t\t\t\t\t \tORDER BY\n\t\t\t\t\t\t\t\t\t\t \t\t1, 2, ativo";
                            $depurar = false;
                            if ($depurar || trim($turma["nm_turma"]) == "202") {
                                //								$depurar = true;
                            }
                            $db->Consulta($consulta);
                            $total_admitido_enturmacao = 0;
                            $total_admitido_enturmacao_masc = 0;
                            $total_admitido_enturmacao_fem = 0;
                            $total_eliminado_enturmacao = 0;
                            $total_eliminado_enturmacao_masc = 0;
                            $total_eliminado_enturmacao_fem = 0;
                            $total_reclassificacao = 0;
                            $total_admitido_reclassificao = 0;
                            $total_admitido_reclassificao_masc = 0;
                            $total_admitido_reclassificao_fem = 0;
                            $total_eliminado_reclassificacao = 0;
                            $total_eliminado_reclassificacao_masc = 0;
                            $total_eliminado_reclassificacao_fem = 0;
                            $total_transferencia = 0;
                            $total_admitido_transferencia = 0;
                            $total_admitido_transferencia_masc = 0;
                            $total_admitido_transferencia_fem = 0;
                            $total_eliminado_transferencia = 0;
                            $total_eliminado_transferencia_masc = 0;
                            $total_eliminado_transferencia_fem = 0;
                            $total_abandono = 0;
                            //$diminui_fem + $diminui_masc;
                            $total_abandono_masc = 0;
                            //$diminui_masc;
                            $total_abandono_fem = 0;
                            //$diminui_fem;
                            $diminui_fem = $diminui_masc = 0;
                            $total_aprovado = 0;
                            $total_aprovado_masc = 0;
                            $total_aprovado_fem = 0;
                            $matriculas_transferencia = array();
                            if ($db->Num_Linhas()) {
                                $db2 = new clsBanco();
                                while ($db->ProximoRegistro()) {
                                    list($cod_matricula, $sequencial, $ativo) = $db->Tupla();
                                    //									$depurar=false;
                                    if ($cod_matricula == 48743) {
                                        //										die("<br><br><br><br><br><br>".$ativo." ,______");
                                        //										$depurar=true;
                                    }
                                    $obj_matricula = new clsPmieducarMatricula($cod_matricula);
                                    $det_matricula = $obj_matricula->detalhe();
                                    $obj_aluno = new clsPmieducarAluno($det_matricula['ref_cod_aluno']);
                                    $det_aluno = $obj_aluno->detalhe();
                                    $obj_pessoa = new clsFisica($det_aluno['ref_idpes']);
                                    $det_pessoa = $obj_pessoa->detalhe();
                                    $sexo = strtoupper($det_pessoa['sexo']);
                                    $consulta = "SELECT ativo\n\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = '{$cod_matricula}'\n\t\t\t\t\t\t\t\t\t\t\t\t    AND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = '{$turma['cod_turma']}'\n\t\t\t\t\t\t\t\t\t\t\t\t    AND (data_cadastro, COALESCE(data_exclusao,now())) = ( SELECT data_cadastro, COALESCE(data_exclusao,now())\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula IN ( SELECT cod_matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t\t\t\t\t\t\t   FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t\t\t\t\t\t\t  WHERE ano = '{$this->ano}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t\t\t\t\t\t\t    AND ref_cod_aluno = ( SELECT DISTINCT ref_cod_aluno\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t\t\t\t\t\t\t  \t\t\t\t\t        FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t\t\t\t\t\t\t  \t\t\t\t\t       WHERE cod_matricula = '{$cod_matricula}' ) )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro desc,data_exclusao desc\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT 1 )\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t   )\n\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro desc,data_exclusao desc,ativo ";
                                    /*OR to_char( data_exclusao,'MM')::int = '{$this->mes}'*/
                                    $eh_ultima_matricula = $db2->CampoUnico($consulta);
                                    /**
                                     * nao eh a ultima matricula
                                     */
                                    //02-07-07
                                    //f(!is_numeric($eh_ultima_matricula) || $eh_ultima_matricula == 0 /*&& $eh_ultima_matricula != 0 && $eh_ultima_matricula != 1*/)
                                    if (!is_numeric($eh_ultima_matricula)) {
                                        $foi_admitido_transferencia = false;
                                        $foi_eliminado_transferencia = false;
                                        if ($cod_matricula == 48743) {
                                            //											die("<br><br><br><br><br><br>".$ativo." ,______");
                                            //											$depurar=true;
                                        }
                                        /**
                                         * verifica se for a primeira enturmacao
                                         * se ela esta marcada como reclassificacao
                                         */
                                        //echo "$cod_matricula-$sequencial<br>";
                                        $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND (data_cadastro, COALESCE(data_exclusao,now())) = ( SELECT data_cadastro, COALESCE(data_exclusao,now())\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT 1 )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc,ativo ";
                                        /*OR to_char( data_exclusao,'MM')::int = '{$this->mes}' */
                                        $eh_primeira_enturmacao_desta_matricula = $db2->CampoUnico($consulta);
                                        $consulta = "SELECT matricula_reclassificacao\n\t\t\t\t\t\t\t\t\t\t               FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t              WHERE cod_matricula = {$cod_matricula}";
                                        $matricula_reclassificacao = $db2->CampoUnico($consulta);
                                        //ref_cod_matricula_saida
                                        $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula_entrada = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND ativo = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t      OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )";
                                        $existe_transferencia = $db2->CampoUnico($consulta);
                                        /**
                                         * verifica se eh a primeira matricula do aluno
                                         */
                                        $obj_matricula_aluno = new clsPmieducarMatricula();
                                        $lst_matricula_aluno = $obj_matricula_aluno->lista(null, null, null, null, null, null, $det_aluno['cod_aluno'], null, null, null, null, null, $this->ano);
                                        $eh_primeira_matricula_do_aluno = count($lst_matricula_aluno) == 1 ? 1 : 0;
                                        $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND matricula_transferencia = true AND to_char(data_cadastro,'MM')::int = {$this->mes}";
                                        $primeira_matricula_eh_transferencia = $db2->CampoUnico($consulta);
                                        $consulta = "SELECT max(sequencial)\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula}";
                                        $max_sequencial = $db2->CampoUnico($consulta);
                                        if (is_numeric($primeira_matricula_eh_transferencia)) {
                                            $matriculas_transferencia[$cod_matricula] = $cod_matricula;
                                            $total_admitido_transferencia++;
                                            if ($depurar) {
                                                echo "AD TRANSFERENCIA {$cod_matricula}  aquiiii<br>";
                                                $matriculas[] = $cod_matricula;
                                            }
                                            if ($sexo == 'M') {
                                                $total_admitido_transferencia_masc++;
                                            } else {
                                                $total_admitido_transferencia_fem++;
                                            }
                                        }
                                        if ($eh_primeira_enturmacao_desta_matricula && $matricula_reclassificacao) {
                                            if ($depurar) {
                                                $matriculas[] = $cod_matricula;
                                            }
                                            $total_admitido_reclassificao++;
                                            if ($sexo == 'M') {
                                                $total_admitido_reclassificao_masc++;
                                            } else {
                                                $total_admitido_reclassificao_fem++;
                                            }
                                        } elseif ($eh_primeira_enturmacao_desta_matricula && $existe_transferencia || $eh_primeira_enturmacao_desta_matricula && $eh_primeira_matricula_do_aluno && $primeira_matricula_eh_transferencia) {
                                            if (is_numeric($existe_transferencia) && $existe_transferencia == 1) {
                                                if ($depurar) {
                                                    echo "AD TRANSFERENCIA {$cod_matricula}  1<br>";
                                                    $matriculas[] = $cod_matricula;
                                                }
                                                if (!is_numeric(array_search($cod_matricula, $matriculas_transferencia))) {
                                                    $total_admitido_transferencia++;
                                                    if ($sexo == 'M') {
                                                        $total_admitido_transferencia_masc++;
                                                    } else {
                                                        $total_admitido_transferencia_fem++;
                                                    }
                                                    $foi_admitido_transferencia = true;
                                                }
                                            }
                                        } else {
                                            if (!is_numeric($primeira_matricula_eh_transferencia) && $ativo == 1) {
                                                if ($depurar) {
                                                    echo "AD ENTURMACAO {$cod_matricula}             1<br>";
                                                    $matriculas[] = $cod_matricula;
                                                }
                                                $total_admitido_enturmacao++;
                                                if ($sexo == 'M') {
                                                    $total_admitido_enturmacao_masc++;
                                                } else {
                                                    $total_admitido_enturmacao_fem++;
                                                }
                                            }
                                        }
                                        /**
                                         * verifica se eh a ultima enturmacao desta matricula
                                         */
                                        $consulta = "SELECT ref_cod_turma\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t AND (ref_cod_turma,sequencial) = (SELECT ref_cod_turma, max(sequencial)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgroup by ref_cod_turma,data_cadastro\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torder by data_cadastro desc limit 1)";
                                        $ultima_turma_enturmacao = $db2->CampoUnico($consulta);
                                        if ($ultima_turma_enturmacao == $turma['cod_turma']) {
                                            $consulta = "SELECT aprovado\n\t\t\t\t\t\t\t\t\t\t\t               FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t              WHERE cod_matricula = {$cod_matricula}";
                                            $situacao = $db2->CampoUnico($consulta);
                                            $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula_saida = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t    AND (ativo = 1 OR data_transferencia IS NOT NULL)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t      OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND(to_char(data_transferencia,'MM')::int = '{$this->mes}' OR data_transferencia IS NULL)";
                                            $existe_transferencia = $db2->CampoUnico($consulta);
                                            if ($situacao <= 3 && is_numeric($existe_transferencia)) {
                                                //if($turma['cod_turma'] == 757)
                                                //	echo "1-$cod_matricula-$matricula_reclassificacao<br>";
                                                if ($ativo == 0) {
                                                    $total_eliminado_enturmacao++;
                                                    if ($depurar) {
                                                        echo "EL. ENTURMACAO {$cod_matricula}           1<br>";
                                                    }
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_enturmacao_masc++;
                                                    } else {
                                                        $total_eliminado_enturmacao_fem++;
                                                    }
                                                }
                                            } else {
                                                if ($situacao == 5) {
                                                    $total_eliminado_reclassificacao++;
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_reclassificacao_masc++;
                                                    } else {
                                                        $total_eliminado_reclassificacao_fem++;
                                                    }
                                                }
                                                if ($situacao == 4 && is_numeric($existe_transferencia)) {
                                                    $total_eliminado_transferencia++;
                                                    if ($depurar) {
                                                        echo "EL. TRANSFERENCIA " . $cod_matricula . "                    1<br>";
                                                    }
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_transferencia_masc++;
                                                    } else {
                                                        $total_eliminado_transferencia_fem++;
                                                    }
                                                    /**
                                                     * se for a primeira enturmacao mesmo que tenha
                                                     * sido eliminado deve contabilizar uma
                                                     * admissao por enturmacao
                                                     */
                                                    if ($eh_primeira_enturmacao_desta_matricula && !$primeira_matricula_eh_transferencia && !$foi_admitido_transferencia) {
                                                        //if($turma['cod_turma'] == 40)
                                                        //echo "1-$cod_matricula<br>";
                                                        echo "AD ENTURMACAO {$cod_matricula}             aaaaaaaaaaaaaa<br>";
                                                        $total_admitido_enturmacao++;
                                                        if ($sexo == 'M') {
                                                            $total_admitido_enturmacao_masc++;
                                                        } else {
                                                            $total_admitido_enturmacao_fem++;
                                                        }
                                                    }
                                                } elseif ($situacao == 6) {
                                                    $total_abandono++;
                                                    if ($sexo == 'M') {
                                                        $total_abandono_masc++;
                                                    } else {
                                                        $total_abandono_fem++;
                                                    }
                                                } elseif ($situacao == 1) {
                                                    $total_aprovado++;
                                                    if ($sexo == 'M') {
                                                        $total_aprovado_masc++;
                                                    } else {
                                                        $total_aprovado_fem++;
                                                    }
                                                } elseif ($situacao == 4 && !is_numeric($existe_transferencia) && is_numeric($eh_primeira_enturmacao_desta_matricula) && !$primeira_matricula_eh_transferencia) {
                                                    //if($turma['cod_turma'] == 450)
                                                    //	echo "1-$cod_matricula<br>";
                                                    if ($depurar) {
                                                        echo "AD ENTURMACAO {$cod_matricula}       2<br>";
                                                        $matriculas[] = $cod_matricula;
                                                    }
                                                    $total_admitido_enturmacao++;
                                                    if ($sexo == 'M') {
                                                        $total_admitido_enturmacao_masc++;
                                                    } else {
                                                        $total_admitido_enturmacao_fem++;
                                                    }
                                                }
                                            }
                                        } else {
                                            if ($ativo == 0) {
                                                if ($sequencial <= $max_sequencial) {
                                                    //if($turma['cod_turma'] == 757)
                                                    //echo "2-$cod_matricula-$matricula_reclassificacao<br>";
                                                    $total_eliminado_enturmacao++;
                                                    if ($depurar) {
                                                        echo "EL. ENTURMACAO {$cod_matricula}          2<br>";
                                                    }
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_enturmacao_masc++;
                                                    } else {
                                                        $total_eliminado_enturmacao_fem++;
                                                    }
                                                    if (is_numeric($eh_primeira_enturmacao_desta_matricula) && !$existe_transferencia && !$matricula_reclassificacao) {
                                                        if ($depurar) {
                                                            echo "AD ENTURMACAO {$cod_matricula}       3<br>";
                                                            $matriculas[] = $cod_matricula;
                                                        }
                                                        $total_admitido_enturmacao++;
                                                        if ($sexo == 'M') {
                                                            $total_admitido_enturmacao_masc++;
                                                        } else {
                                                            $total_admitido_enturmacao_fem++;
                                                        }
                                                    }
                                                } elseif (is_numeric($eh_primeira_enturmacao_desta_matricula)) {
                                                    if ($primeira_matricula_eh_transferencia) {
                                                        if ($depurar) {
                                                            echo "AD TRANSFERENCIAAA {$cod_matricula}            2<BR>";
                                                            $matriculas[] = $cod_matricula;
                                                        }
                                                        if (!is_numeric(array_search($cod_matricula, $matriculas_transferencia))) {
                                                            $total_admitido_transferencia++;
                                                            if ($sexo == 'M') {
                                                                $total_admitido_transferencia_masc++;
                                                            } else {
                                                                $total_admitido_transferencia_fem++;
                                                            }
                                                        }
                                                    } elseif (!$existe_transferencia && !$matricula_reclassificacao) {
                                                        if ($depurar) {
                                                            echo "AD ENTURMACAO {$cod_matricula}       3<br>";
                                                            $matriculas[] = $cod_matricula;
                                                        }
                                                        $total_admitido_enturmacao++;
                                                        if ($sexo == 'M') {
                                                            $total_admitido_enturmacao_masc++;
                                                        } else {
                                                            $total_admitido_enturmacao_fem++;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    } else {
                                        //echo "ref_cod_matricula = $cod_matricula
                                        //AND sequencial = $sequencial";
                                        $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND (data_cadastro, COALESCE(data_exclusao,now())) = ( SELECT data_cadastro, COALESCE(data_exclusao,now())\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT 1 )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc,ativo ";
                                        /*OR to_char( data_exclusao,'MM')::int = '{$this->mes}'*/
                                        $eh_primeira_enturmacao_desta_matricula = $db2->CampoUnico($consulta);
                                        $consulta = "SELECT matricula_reclassificacao\n\t\t\t\t\t\t\t\t\t\t               FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t              WHERE cod_matricula = {$cod_matricula}";
                                        $matricula_reclassificacao = $db2->CampoUnico($consulta);
                                        /**
                                         * verifica se eh a primeira matricula do aluno
                                         */
                                        $obj_matricula_aluno = new clsPmieducarMatricula();
                                        $lst_matricula_aluno = $obj_matricula_aluno->lista(null, null, null, null, null, null, $det_aluno['cod_aluno']);
                                        $eh_primeira_matricula_do_aluno = count($lst_matricula_aluno) == 1 ? 1 : 0;
                                        $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND matricula_transferencia = true";
                                        $primeira_matricula_eh_transferencia = $db2->CampoUnico($consulta);
                                        if (is_numeric($primeira_matricula_eh_transferencia)) {
                                            $matriculas_transferencia[$cod_matricula] = $cod_matricula;
                                            $total_admitido_transferencia++;
                                            if ($sexo == 'M') {
                                                $total_admitido_transferencia_masc++;
                                            } else {
                                                $total_admitido_transferencia_fem++;
                                            }
                                        }
                                        if ($eh_primeira_enturmacao_desta_matricula && $matricula_reclassificacao) {
                                            $total_admitido_reclassificao++;
                                            if ($depurar) {
                                                $matriculas[] = $cod_matricula;
                                            }
                                            if ($sexo == 'M') {
                                                $total_admitido_reclassificao_masc++;
                                            } else {
                                                $total_admitido_reclassificao_fem++;
                                            }
                                        } else {
                                            $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula_entrada = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t    AND ativo = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t      OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )";
                                            $existe_transferencia = (int) $db2->CampoUnico($consulta);
                                            //if($turma['cod_turma'] == 33 && $existe_transferencia)
                                            //	echo "$cod_matricula<br>";
                                            if (is_numeric($eh_primeira_enturmacao_desta_matricula) && $existe_transferencia && $existe_transferencia == 1 || is_numeric($eh_primeira_enturmacao_desta_matricula) && $eh_primeira_matricula_do_aluno && $primeira_matricula_eh_transferencia) {
                                                if ($depurar) {
                                                    echo "AD TRANSFERENCIA {$cod_matricula}          3<br>";
                                                    $matriculas[] = $cod_matricula;
                                                }
                                                if (!is_numeric(array_search($cod_matricula, $matriculas_transferencia))) {
                                                    $total_admitido_transferencia++;
                                                    if ($sexo == 'M') {
                                                        $total_admitido_transferencia_masc++;
                                                    } else {
                                                        $total_admitido_transferencia_fem++;
                                                    }
                                                }
                                            } else {
                                                //if($det_matricula['aprovado'] != 4)
                                                //												{
                                                //if($turma['cod_turma'] == 450)
                                                //echo "2-$cod_matricula<br>";
                                                if (!is_numeric($primeira_matricula_eh_transferencia)) {
                                                    $total_admitido_enturmacao++;
                                                    if ($depurar) {
                                                        echo "AD ENTURMACAO {$cod_matricula}       4<br>";
                                                        $matriculas[] = $cod_matricula;
                                                    }
                                                    if ($sexo == 'M') {
                                                        $total_admitido_enturmacao_masc++;
                                                    } else {
                                                        $total_admitido_enturmacao_fem++;
                                                    }
                                                }
                                            }
                                        }
                                        /**
                                         * verifica se eh a ultima enturmacao desta matricula
                                         */
                                        $consulta = "SELECT ref_cod_turma\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND sequencial = (SELECT max(sequencial)\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula})\n\t\t\t\t\t\t\t\t\t\t\t\t\torder by data_cadastro desc limit 1";
                                        $ultima_turma_enturmacao = $db2->CampoUnico($consulta);
                                        //echo "$cod_matricula - $ultima_turma_enturmacao == {$turma['cod_turma']}";
                                        if ($ultima_turma_enturmacao == $turma['cod_turma']) {
                                            $consulta = "SELECT aprovado\n\t\t\t\t\t\t\t\t\t\t\t               FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t              WHERE cod_matricula = {$cod_matricula}";
                                            $situacao = $db2->CampoUnico($consulta);
                                            if ($situacao <= 3) {
                                                if ($ativo == 0) {
                                                    //if($turma['cod_turma'] == 757)
                                                    //echo "3-$cod_matricula-$matricula_reclassificacao<br>";
                                                    $total_eliminado_enturmacao++;
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_enturmacao_masc++;
                                                    } else {
                                                        $total_eliminado_enturmacao_fem++;
                                                    }
                                                } else {
                                                    $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula_saida = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t    AND (ativo = 1 OR data_transferencia IS NOT NULL)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t      OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND(to_char(data_transferencia,'MM')::int = '{$this->mes}' OR data_transferencia IS NULL)";
                                                    $existe_transferencia = $db2->CampoUnico($consulta);
                                                    if (is_numeric($existe_transferencia) && $existe_transferencia == 1) {
                                                        $total_eliminado_transferencia++;
                                                        if ($depurar) {
                                                            echo "EL TRANSFERENCIA " . $cod_matricula . "              2<br>";
                                                        }
                                                        if ($sexo == 'M') {
                                                            $total_eliminado_transferencia_masc++;
                                                        } else {
                                                            $total_eliminado_transferencia_fem++;
                                                        }
                                                    }
                                                    //echo '<br>->'.$existe_transferencia = $db->CampoUnico($consulta);
                                                    //echo '<-<br>';
                                                }
                                            } else {
                                                //echo $turma['cod_turma'].'b';
                                                //echo "enter.$cod_matricula";
                                                $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula_saida = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND (ativo = 1 OR data_transferencia IS NOT NULL)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t      OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND(to_char(data_transferencia,'MM')::int = '{$this->mes}' OR data_transferencia IS NULL)";
                                                $existe_transferencia = $db2->CampoUnico($consulta);
                                                //echo $situacao.'<br>';
                                                //if($turma['cod_turma'] == 33)
                                                //echo "$cod_matricula<br>";
                                                if ($situacao == 5) {
                                                    $total_eliminado_reclassificacao++;
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_reclassificacao_masc++;
                                                    } else {
                                                        $total_eliminado_reclassificacao_fem++;
                                                    }
                                                } elseif (is_numeric($existe_transferencia) && $existe_transferencia == 1) {
                                                    $total_eliminado_transferencia++;
                                                    if ($depurar) {
                                                        echo "EL TRANSFERENCIA " . $cod_matricula . "           3<br>";
                                                    }
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_transferencia_masc++;
                                                    } else {
                                                        $total_eliminado_transferencia_fem++;
                                                    }
                                                } elseif ($situacao == 6) {
                                                    $total_abandono++;
                                                    if ($sexo == 'M') {
                                                        $total_abandono_masc++;
                                                    } else {
                                                        $total_abandono_fem++;
                                                    }
                                                } elseif ($situacao == 1 || $situacao == 2) {
                                                    $total_aprovado++;
                                                    if ($sexo == 'M') {
                                                        $total_aprovado_masc++;
                                                    } else {
                                                        $total_aprovado_fem++;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            //							die(implode(",",$matriculas));
                            //ADMITIDOS ativo = 1
                            //admitido por enturmacao no mes atual
                            //QUANTIDADES ENTURMACAO ADMITIDOS
                            //M
                            $quantidades[3] = $total_admitido_enturmacao_masc;
                            //F
                            $quantidades[4] = $total_admitido_enturmacao_fem;
                            //T
                            $quantidades[5] = $total_admitido_enturmacao;
                            //ELIMINADOS ativo = 0
                            //QUANTIDADES ENTURMACAO ELIMINADOS
                            //M
                            $quantidades[6] = $total_eliminado_enturmacao_masc;
                            //F
                            $quantidades[7] = $total_eliminado_enturmacao_fem;
                            //T
                            $quantidades[8] = $total_eliminado_enturmacao;
                            //RECLASSIFICACAO
                            //ADMITIDOS
                            //$obj_matriculas->_total = 0;
                            //$primeiroDiaDoMes = mktime(0,0,0,9,1,2006);
                            //   $NumeroDiasMes = date('t',$primeiroDiaDoMes);
                            //   $ultimoDiaMes =date('d/m/Y',mktime(0,0,0,9,$NumeroDiasMes,2006));
                            /**
                             * busca todas as matriculas marcadas como matricula_reclassificacao de uma serie de um curso
                             * em seguida busca todas as matriculas_turma da matricula_turma ordenado por data e pegando a primeira matricula de reclassificacao
                             * se essa matricula for igual a matricula atual do loop entao esta matricula
                             * é uma reclassificacao
                             */
                            //QUANTIDADES RECLASSIFICACAO ADMITIDOS
                            //M
                            $quantidades[9] = $total_admitido_reclassificao_masc;
                            //F
                            $quantidades[10] = $total_admitido_reclassificao_fem;
                            //T
                            $quantidades[11] = $total_admitido_reclassificao;
                            //ELIMINADOS
                            $obj_matriculas->_total = 0;
                            //QUANTIDADES RECLASSIFICACAO ELIMINADOS
                            //M
                            $quantidades[12] = $total_eliminado_reclassificacao_masc;
                            //F
                            $quantidades[13] = $total_eliminado_reclassificacao_fem;
                            //T
                            $quantidades[14] = $total_eliminado_reclassificacao;
                            //TRANSFERENCIA
                            //ADMITIDOS ativo = 1
                            //QUANTIDADES TRASNFERENCIA ADMITIDOS
                            //M
                            $quantidades[15] = $total_admitido_transferencia_masc;
                            //F
                            $quantidades[16] = $total_admitido_transferencia_fem;
                            //T
                            $quantidades[17] = $total_admitido_transferencia;
                            //ELIMINADOS aprovado = 4
                            //TRANSFERENCIA EXTERNA
                            //QUANTIDADES TRANFERENCIA EXTERNO ELIMINADOS
                            //M
                            $quantidades[18] = $total_eliminado_transferencia_masc;
                            //F
                            $quantidades[19] = $total_eliminado_transferencia_fem;
                            //T
                            $quantidades[20] = $total_eliminado_transferencia;
                            //ABANDONO
                            /*$db2 = new clsBanco();
                            							$consulta = "
                            										SELECT count(1)
                            											   FROM pmieducar.matricula_turma
                            												,pmieducar.matricula
                            											  WHERE cod_matricula = ref_cod_matricula
                            											    AND ref_cod_turma = {$turma['cod_turma']}
                            											    AND aprovado = 6
                            											    AND matricula_turma.ativo = 1
                            										            AND matricula.ativo = 1
                            												AND ( to_char( matricula_turma.data_cadastro,'MM')::int = {$this->mes}
                            												      OR to_char(  matricula_turma.data_exclusao,'MM')::int = {$this->mes} )
                            										";
                            
                            							$total_transf = $db2->CampoUnico($consulta)	;*/
                            //QUANTIDADES ABANDONO
                            //M
                            $quantidades[21] = $total_abandono_masc;
                            //F
                            $quantidades[22] = $total_abandono_fem;
                            //T
                            $quantidades[23] = $total_abandono;
                            //APROVADOS
                            //QUANTIDADES APROVADOS
                            //M
                            $quantidades[24] = $total_aprovado_masc;
                            //F
                            $quantidades[25] = $total_aprovado_fem;
                            //T
                            $quantidades[26] = $total_aprovado;
                            /**
                             * Inicio linha
                             */
                            $altura_linha = 18;
                            $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha);
                            $largura_linha = 18;
                            for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) {
                                //159
                                $this->pdf->linha_relativa($ct, $this->page_y, 0, 18);
                            }
                            //n
                            $this->pdf->linha_relativa(50, $this->page_y, 0, 18);
                            //ciclo
                            $this->pdf->linha_relativa(134, $this->page_y, 0, 18);
                            //turno
                            $this->pdf->linha_relativa(149, $this->page_y, 0, 18);
                            //professor
                            $this->pdf->linha_relativa(275, $this->page_y, 0, 18);
                            $largura_linha = 18;
                            $index = 0;
                            for ($ct = 260; $ct < 260 + 26 * 18; $ct += $largura_linha * 3) {
                                $this->pdf->escreve_relativo($quantidades[$index] == 0 ? '' : $quantidades[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                                $this->pdf->escreve_relativo($quantidades[$index + 1] == 0 ? '' : $quantidades[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                                $this->pdf->escreve_relativo($quantidades[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                                $total_serie[$index] += $quantidades[$index];
                                $total_serie[$index + 1] += $quantidades[$index + 1];
                                $total_serie[$index + 2] += $quantidades[$index + 2];
                                $total_curso[$index] += $quantidades[$index];
                                $total_curso[$index + 1] += $quantidades[$index + 1];
                                $total_curso[$index + 2] += $quantidades[$index + 2];
                                $index += 3;
                            }
                            //							echo '<pre>';print_r($total_curso);
                            //matricula final
                            // ( MI + Adm.Entur + Adm.Recla + Adm1.Transf ) - ( Elim.Entur + Elim.Recla + Elim.Transf + Abandono )
                            $quantidades[27] = $quantidades[0] + $quantidades[3] + $quantidades[9] + $quantidades[15] - ($quantidades[6] + $quantidades[12] + $quantidades[18] + $quantidades[21]);
                            // - $diminui_masc;
                            //F
                            $quantidades[28] = $quantidades[1] + $quantidades[4] + $quantidades[10] + $quantidades[16] - ($quantidades[7] + $quantidades[13] + $quantidades[19] + $quantidades[22]);
                            // - $diminui_fem;
                            //T
                            $quantidades[29] = $quantidades[2] + $quantidades[5] + $quantidades[11] + $quantidades[17] - ($quantidades[8] + $quantidades[14] + $quantidades[20] + $quantidades[23]);
                            // - $diminui_fem - $diminui_masc;
                            $this->pdf->escreve_relativo($quantidades[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $this->pdf->escreve_relativo($quantidades[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $this->pdf->escreve_relativo($quantidades[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $total_serie[$index] += $quantidades[$index];
                            $total_serie[$index + 1] += $quantidades[$index + 1];
                            $total_serie[$index + 2] += $quantidades[$index + 2];
                            $total_curso[$index] += $quantidades[$index];
                            $total_curso[$index + 1] += $quantidades[$index + 1];
                            $total_curso[$index + 2] += $quantidades[$index + 2];
                            $expande = 24;
                            $numero_x = 12 + $expande;
                            $this->pdf->escreve_relativo("", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left');
                            //posicao ciclo
                            $ciclo_x = $expande + 15;
                            $this->pdf->escreve_relativo("{$turma['nm_turma']}", $ciclo_x, $this->page_y + 3, 100, 50, $fonte, 7, $corTexto, 'center');
                            //posicao turno
                            $turno_x = $ciclo_x + $expande + 28;
                            $this->pdf->escreve_relativo("{$turno}", $turno_x, $this->page_y + 3, 100, 40, $fonte, 7, $corTexto, 'center');
                            $professor_x = 125 + $expande;
                            $this->pdf->escreve_relativo("{$nm_servidor}", $professor_x + 5, $this->page_y + 5, 100, 40, $fonte, 6, $corTexto, 'center');
                            $this->page_y += 18;
                            /**
                             * Fim linha
                             */
                            if ($this->page_y + $altura_linha > 498) {
                                $this->pdf->ClosePage();
                                $this->pdf->OpenPage();
                                $this->addCabecalho();
                                $this->novoCabecalho();
                            }
                        }
                    }
                    /**
                     * subtototal
                     */
                    $index = 0;
                    $altura_linha = 18;
                    $largura_linha = 18;
                    if ($lista_serie_turmas) {
                        $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha);
                        for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) {
                            $this->pdf->linha_relativa($ct, $this->page_y, 0, 18);
                        }
                        $this->pdf->linha_relativa(50, $this->page_y, 0, 18);
                        $this->pdf->linha_relativa(275, $this->page_y, 0, 18);
                        for ($ct = 260; $ct < 260 + 30 * 18; $ct += $largura_linha * 3) {
                            $this->pdf->escreve_relativo($total_serie[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $this->pdf->escreve_relativo($total_serie[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $this->pdf->escreve_relativo($total_serie[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $index += 3;
                        }
                        $expande = 24;
                        $numero_x = 12 + $expande;
                        $this->pdf->escreve_relativo("{$total_turmas_serie}", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left');
                        $professor_x = 40 + $expande;
                        $this->pdf->escreve_relativo("Subtotal {$nm_serie}", $professor_x + 5, $this->page_y + 3, 150, 40, $fonte, 7, $corTexto, 'center');
                        $this->page_y += 18;
                    }
                    /**
                     *
                     */
                    if ($this->page_y + $altura_linha > 498) {
                        $this->pdf->ClosePage();
                        $this->pdf->OpenPage();
                        $this->addCabecalho();
                        $this->novoCabecalho();
                    }
                }
                if ($total_curso[0] > 0) {
                    /**
                     * TOTAL CURSO
                     */
                    $altura_linha = 18;
                    $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha);
                    for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) {
                        $this->pdf->linha_relativa($ct, $this->page_y, 0, 18);
                    }
                    //n
                    $this->pdf->linha_relativa(50, $this->page_y, 0, 18);
                    $this->pdf->linha_relativa(275, $this->page_y, 0, 18);
                    $index = 0;
                    for ($ct = 260; $ct < 260 + 30 * 18; $ct += $largura_linha * 3) {
                        $this->pdf->escreve_relativo($total_curso[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                        $this->pdf->escreve_relativo($total_curso[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                        $this->pdf->escreve_relativo($total_curso[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                        $index += 3;
                    }
                    $expande = 24;
                    $numero_x = 12 + $expande;
                    $this->pdf->escreve_relativo("{$total_turmas_curso}", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left');
                    $obj_curso = new clsPmieducarCurso($curso);
                    $det_curso = $obj_curso->detalhe();
                    $nm_curso = $det_curso['nm_curso'];
                    $professor_x = 40 + $expande;
                    $this->pdf->escreve_relativo("Total {$nm_curso}", $professor_x + 5, $this->page_y + 3, 150, 40, $fonte, 7, $corTexto, 'center');
                    $this->page_y += 18;
                }
                foreach ($total_curso as $key => $valor) {
                    $quantidade_total[$key] += $valor;
                }
                /**
                 *
                 */
                if ($this->page_y > 498) {
                    $this->pdf->ClosePage();
                    $this->pdf->OpenPage();
                    $this->addCabecalho();
                    $this->novoCabecalho();
                }
            }
        }
        $altura_linha = 18;
        $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha);
        for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) {
            $this->pdf->linha_relativa($ct, $this->page_y, 0, 18);
        }
        //n
        $this->pdf->linha_relativa(50, $this->page_y, 0, 18);
        $this->pdf->linha_relativa(275, $this->page_y, 0, 18);
        $index = 0;
        for ($ct = 260; $ct < 260 + 30 * 18; $ct += $largura_linha * 3) {
            $this->pdf->escreve_relativo($quantidade_total[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
            $this->pdf->escreve_relativo($quantidade_total[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
            $this->pdf->escreve_relativo($quantidade_total[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
            $index += 3;
        }
        $expande = 24;
        $numero_x = 12 + $expande;
        $this->pdf->escreve_relativo("{$total_turmas_curso}", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left');
        $obj_curso = new clsPmieducarCurso($curso);
        $det_curso = $obj_curso->detalhe();
        $nm_curso = $det_curso['nm_curso'];
        $professor_x = 40 + $expande;
        $this->pdf->escreve_relativo("Total Geral", $professor_x + 20, $this->page_y + 3, 150, 40, $fonte, 7, $corTexto, 'center');
        $this->page_y += 18;
        $this->rodape();
        $this->pdf->ClosePage();
        //header( "location: " . $this->pdf->GetLink() );
        $this->pdf->CloseFile();
        $this->get_link = $this->pdf->GetLink();
        echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $this->get_link . "'}</script>";
        echo "<html><center>Se o download não iniciar automaticamente <br /><a target='blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n\t\t\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t<a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br><img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\"></a>\n\t\t\t</span>\n\t\t\t</center>";
    }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        @session_start();
        $pessoa_logada = $_SESSION['id_pessoa'];
        @session_write_close();
        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.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     			//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);
        /**
         * @todo negar lista_calendario e descomentar array_shift
         */
        if (!$lista_calendario) {
            echo '<script>
	     			alert("Escola não possui calendário definido para este ano");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));

	     		</script>';
            return true;
        }
        $obj_calendario = new clsPmieducarCalendarioAnoLetivo();
        $lst_calendario = $obj_calendario->lista(null, $this->ref_cod_escola, null, null, $this->ano, null, null, null, null, 1, null, $this->ref_cod_instituicao);
        if ($lst_calendario) {
            $calendario = array_shift($lst_calendario);
        }
        $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;
        //echo '<pre>';print_r($dias_mes);die;
        for ($dia = 1; $dia <= $NumeroDiasMes; $dia++) {
            if ($DiaSemana >= 7) {
                $DiaSemana = 0;
            }
            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++;
        }
        $registros_por_pagina = 27;
        $this->pdf = new clsPDF("Relação de Alunos ANEEs", "Relação de Alunos ANEEs", "A4", "", false, false);
        $cursos_in = '';
        /*$conc = '';
        		foreach ($this->cursos as $curso)
        		{
        			$cursos_in .= "{$conc}{$curso}";
        			$conc = ",";
        		}*/
        $cursos_in = implode(',', $this->cursos);
        $db = new clsBanco();
        $consulta = " SELECT coalesce(count(1),0)\n\t\t\t\t\t\t FROM pmieducar.aluno      a\n\t\t\t\t\t\t      ,pmieducar.matricula m\n\t\t\t\t\t\t      ,pmieducar.escola    e\n\t\t\t\t\t\t      ,pmieducar.serie     s\n\t\t\t\t\t\t      ,cadastro.pessoa     p\n\t\t\t\t\t\tWHERE a.ref_idpes  = p.idpes\n\t\t\t\t\t\t  AND a.cod_aluno  = m.ref_cod_aluno\n\t\t\t\t\t\t  AND e.cod_escola = m.ref_ref_cod_escola\n\t\t\t\t\t\t  AND m.ultima_matricula = 1\n\t\t\t\t\t\t  AND s.cod_serie  = m.ref_ref_cod_serie\n\t\t\t\t\t\t  AND s.ref_cod_curso in({$cursos_in})\n\t\t\t\t\t\t  AND a.ativo = 1\n\t\t\t\t\t\t  AND m.aprovado in (1,2,3)\n\t\t\t\t\t\t  AND m.ativo = 1\n\t\t\t\t\t\t  AND e.ativo = 1\n\t\t\t\t\t\t  AND s.ativo = 1\n\t\t\t\t\t\t  AND m.ano = {$this->ano}\n\t\t\t\t\t\t";
        //die($consulta);
        $total = $db->CampoUnico($consulta);
        $this->total_paginas = (int) ($total / 27) + 1;
        $this->pdf->OpenPage();
        //linha externa
        $altura2 = 620;
        $altura = 80;
        $expande = 24;
        $centralizado = abs(($altura - 10) / 2) + 120;
        //$necessidades = array('cegueira','baixa visao','surdez leve','surdocegueira','sindrome down','Def. Fisica','Autismo','Def. multiplas','cond. tipicas','raver boy','surdocegueira');
        /*$obj_deficiencia = new clsCadastroDeficiencia();
        		$obj_deficiencia->_campos_lista = "nm_deficiencia,cod_deficiencia,0 as subtotal,0 as total_curso,0 as total";
        		$obj_deficiencia->setOrderby( "nm_deficiencia ASC" );
        		$this->necessidades = $obj_deficiencia->lista();*/
        $select = "SELECT distinct nm_deficiencia,cod_deficiencia,0 as subtotal,0 as total_curso,0 as total\n\t\t\t\t\t FROM pmieducar.aluno\t    a\n\t\t\t\t\t      ,pmieducar.matricula m\n\t\t\t\t\t      ,cadastro.fisica_deficiencia fd\n\t\t\t\t\t      ,cadastro.deficiencia        d\n\t\t\t\t\tWHERE a.cod_aluno = m.ref_cod_aluno\n\t\t\t\t\t  AND a.ref_idpes = fd.ref_idpes\n\t\t\t\t\t  AND cod_deficiencia  = ref_cod_deficiencia\n\t\t\t\t\t  AND ano = {$this->ano}\n\t\t\t\t\t  AND ref_ref_cod_escola = {$this->ref_cod_escola}\n\t\t\t\t\t  AND m.ativo = 1\n\t\t\t\t\t  AND m.aprovado in (1,2,3)\n\t\t\t\t\t  AND a.ativo = 1\n\t\t\t\t\t  AND ref_cod_curso in ({$cursos_in})";
        $this->necessidades = array();
        $db->Consulta($select);
        if ($db->Num_Linhas()) {
            while ($db->ProximoRegistro()) {
                $this->necessidades[] = $db->Tupla();
            }
        }
        $this->addCabecalho();
        $this->novaPagina();
        //$inicio_escrita_x = 36;
        $inicio_escrita_y = 215;
        $inicio_linha_y = 232;
        $numero_x = 36;
        //posicao nome
        $nome_x = 65 + $expande;
        //posicao data nasc
        $nasc_x = 180 + $expande;
        //posicao serie
        $serie_x = 226 + $expande;
        //posicao turno
        $turno_x = 255 + $expande;
        //posicao alfabetizado
        $alfabetizado_x = 278 + $expande;
        //posicao necessidade
        $necessidade_x = 381 + $expande;
        $necec_x = $alfabetizado_x + 23;
        $linha_neces_x = 385;
        $altura = 30;
        $fonte = 'arial';
        $corTexto = '#000000';
        /**
         * busca todas as series de cada curso selecionado
         */
        $contador_registros = 0;
        for ($ct = 0; $ct < $registros_por_pagina; $ct++) {
            $this->pdf->linha_relativa(30, $inicio_linha_y, 535, 0);
            $inicio_linha_y += 20;
        }
        $total_alfabetos_geral = 0;
        $total_analfabetos_geral = 0;
        $total_geral_alunos = 0;
        foreach ($this->cursos as $curso) {
            $total_curso = 0;
            $total_analfabetos_serie = 0;
            $total_analfabetos_curso = 0;
            $total_alfabetos_serie = 0;
            $total_alfabetos_curso = 0;
            $obj = new clsPmieducarSerie();
            $obj->setOrderby("s.nm_serie");
            $lista_serie_curso = $obj->lista(null, null, null, $curso, null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
            //$obj_curso = new clsPmieducarCurso($serie['ref_cod_curso']);
            $obj_curso = new clsPmieducarCurso($curso);
            $det_curso = $obj_curso->detalhe();
            $alunos = array();
            if ($lista_serie_curso) {
                foreach ($lista_serie_curso as $serie) {
                    /**
                     * busca todas as matriculas de cada curso
                     */
                    $subtotal_serie = 0;
                    $obj_matricula = new clsPmieducarMatricula();
                    $lista_matricula_serie = $obj_matricula->lista(null, null, $this->ref_cod_escola, $serie['cod_serie'], null, null, null, array(1, 2, 3), null, null, null, null, 1, $this->ano, $curso, $this->ref_cod_instituicao, null, null, null, null, null, null, null, true);
                    //					$total_geral_alunos += count($lista_matricula_serie);
                    //					$subtotal_serie = count($lista_matricula_serie);
                    //					$total_curso = $total_curso + $subtotal_serie;
                    /*
                    $total_geral_alunos += $obj_matricula->_total;
                    
                    $subtotal_serie = $obj_matricula->_total;
                    $total_curso = $total_curso + $subtotal_serie;
                    */
                    if ($lista_matricula_serie) {
                        /**
                         * busca dados da matricula de um aluno de uma turma de uma serie =p
                         */
                        foreach ($lista_matricula_serie as $matricula) {
                            $total_curso++;
                            $contador_registros++;
                            $total_geral_alunos++;
                            $subtotal_serie++;
                            if ($contador_registros > $registros_por_pagina) {
                                $contador_registros = 1;
                                $inicio_escrita_y = 215;
                                $inicio_linha_y = 232;
                                $this->pdf->ClosePage();
                                $this->pdf->OpenPage();
                                $this->addCabecalho();
                                $this->novaPagina();
                                for ($ct = 0; $ct < $registros_por_pagina; $ct++) {
                                    $this->pdf->linha_relativa(30, $inicio_linha_y, 535, 0);
                                    $inicio_linha_y += 20;
                                }
                                $inicio_linha_y = 232;
                            }
                            $obj_aluno = new clsPmieducarAluno();
                            $det_aluno = array_shift($obj_aluno->lista($matricula['ref_cod_aluno']));
                            $obj_fisica = new clsFisica($det_aluno['ref_idpes']);
                            $det_fisica = $obj_fisica->detalhe();
                            $obj_matricula_turma = new clsPmieducarMatriculaTurma();
                            $det_matricula_turma = $obj_matricula_turma->lista($matricula['cod_matricula'], null, null, null, null, null, null, null, 1, $serie['cod_serie'], $curso, $this->ref_cod_escola, $this->ref_cod_instituicao);
                            if (is_array($det_matricula_turma)) {
                                $det_matricula_turma = array_shift($det_matricula_turma);
                            }
                            if ($det_matricula_turma['hora_inicial'] <= '12:00') {
                                $turno = 'M';
                            } elseif ($det_matricula_turma['hora_inicial'] > '12:00' && $det_matricula_turma['hora_inicial'] <= '18:00') {
                                $turno = 'V';
                            } else {
                                $turno = 'N';
                            }
                            /**
                             * INFORMACOES DE CADAS ALUNO
                             */
                            //							$this->pdf->linha_relativa(30,$inicio_linha_y,535,0);
                            //Nº
                            $this->pdf->escreve_relativo(" ", $numero_x, $inicio_escrita_y + 3, 50, 20, $fonte, 7, $corTexto, 'left');
                            //Nome
                            $this->pdf->escreve_relativo($det_aluno['nome_aluno'], $nome_x - $expande - 12, $inicio_escrita_y, 210, 20, $fonte, 7, $corTexto, 'left');
                            //data nascimento
                            //$this->pdf->escreve_relativo( "05/09/1984", $nasc_x + $expande + 6,$inicio_escrita_y+1, 60, 20, $fonte, 7, $corTexto, 'left' );
                            $this->pdf->escreve_relativo(dataToBrasil($det_fisica['data_nasc']), $serie_x + $expande - 50, $inicio_escrita_y + 3, 60, 20, $fonte, 7, $corTexto, 'left');
                            //serie
                            $this->pdf->escreve_relativo(' ', $turno_x + $expande - 25, $inicio_escrita_y + 3, 60, 20, $fonte, 7, $corTexto, 'left');
                            //turno
                            $this->pdf->escreve_relativo($turno, $alfabetizado_x + $expande - 24, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                            //nao alfa
                            $this->pdf->escreve_relativo($det_aluno['analfabeto'] == 1 ? 'X' : '', $turno_x + $expande + 25, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                            //alfabetizado
                            $this->pdf->escreve_relativo($det_aluno['analfabeto'] == 0 ? 'X' : '', $alfabetizado_x + $expande + 24, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                            $total_analfabetos_serie = (int) $total_analfabetos_serie + ((int) $det_aluno['analfabeto'] == 1 ? 1 : 0);
                            $total_analfabetos_curso = (int) $total_analfabetos_curso + ((int) $det_aluno['analfabeto'] == 1 ? 1 : 0);
                            $total_analfabetos_geral = (int) $total_analfabetos_geral + ((int) $det_aluno['analfabeto'] == 1 ? 1 : 0);
                            $total_alfabetos_serie = (int) $total_alfabetos_serie + ((int) $det_aluno['analfabeto'] == 0 ? 1 : 0);
                            $total_alfabetos_curso = (int) $total_alfabetos_curso + ((int) $det_aluno['analfabeto'] == 0 ? 1 : 0);
                            $total_alfabetos_geral = (int) $total_alfabetos_geral + ((int) $det_aluno['analfabeto'] == 0 ? 1 : 0);
                            $obj_aluno_deficiencia = new clsCadastroFisicaDeficiencia();
                            $lista_aluno_deficiencia = false;
                            $lista_aluno_deficiencia = $obj_aluno_deficiencia->lista($det_aluno['ref_idpes']);
                            if ($lista_aluno_deficiencia) {
                                foreach ($lista_aluno_deficiencia as $deficiencia) {
                                    $necec_x = $alfabetizado_x + 23;
                                    foreach ($this->necessidades as $key => $n) {
                                        if ($deficiencia['ref_cod_deficiencia'] == $n['cod_deficiencia']) {
                                            $this->pdf->escreve_relativo("X", $necec_x + 1, $inicio_escrita_y + 2, 100, $altura, $fonte, 11, $corTexto, 'center');
                                            $this->necessidades[$key]['subtotal'] = (int) $this->necessidades[$key]['subtotal'] + 1;
                                            $this->necessidades[$key]['total_curso'] = $this->necessidades[$key]['total_curso'] + 1;
                                            $this->necessidades[$key]['total'] = $this->necessidades[$key]['total'] + 1;
                                        } else {
                                            $this->pdf->escreve_relativo("-", $necec_x + 1, $inicio_escrita_y + 2, 100, $altura, $fonte, 10, $corTexto, 'center');
                                        }
                                        $necec_x += 18;
                                        //$linha_neces_x += 18;
                                    }
                                }
                            }
                            //$inicio_linha_y += 20;
                            $inicio_escrita_y += 20;
                        }
                        $contador_registros++;
                        if ($contador_registros > $registros_por_pagina) {
                            $contador_registros = 1;
                            $inicio_escrita_y = 215;
                            $inicio_linha_y = 232;
                            $this->pdf->ClosePage();
                            $this->pdf->OpenPage();
                            $this->addCabecalho();
                            $this->novaPagina();
                            for ($ct = 0; $ct < $registros_por_pagina; $ct++) {
                                $this->pdf->linha_relativa(30, $inicio_linha_y, 535, 0);
                                $inicio_linha_y += 20;
                            }
                            $inicio_linha_y = 232;
                        }
                        //	if($subtotal_serie){
                        /**
                         * subtotal serie
                         */
                        //							$this->pdf->linha_relativa(30,$inicio_linha_y,535,0);
                        $obj_turmas = new clsPmieducarTurma();
                        $total_turmas = count($obj_turmas->lista(null, null, null, $serie['cod_serie'], $this->ref_cod_escola));
                        $this->pdf->escreve_relativo("{$total_turmas}", $numero_x + 2, $inicio_escrita_y + 3, 50, 20, $fonte, 7, $corTexto, 'left');
                        $this->pdf->escreve_relativo("SUBTOTAL SÉRIE {$serie['nm_serie']}", $nome_x - $expande + 5, $inicio_escrita_y + 3, 177, 20, $fonte, 6, $corTexto, 'left');
                        $this->pdf->quadrado_relativo($nasc_x + $expande - 9, $inicio_escrita_y - 3, 49, 20, 0.1, "#D2D2D2", "#6F5E5E");
                        //echo $total_analfabetos_serie;
                        //echo $total_alfabetos_serie ;
                        //serie
                        $this->pdf->escreve_relativo($subtotal_serie, $turno_x + $expande - 25, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                        //$this->pdf->quadrado_relativo($nasc_x + $expande + 40,$inicio_escrita_y-3, 25, 20,0.1,"#D2D2D2","#6F5E5E");
                        //nao alfa
                        $this->pdf->escreve_relativo((int) $total_analfabetos_serie == 0 ? '-' : $total_analfabetos_serie, $turno_x + $expande + 27, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                        //alfabetizado
                        $this->pdf->escreve_relativo((int) $total_alfabetos_serie == 0 ? '-' : $total_alfabetos_serie, $alfabetizado_x + $expande + 24, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                        $total_analfabetos_serie = $total_alfabetos_serie = 0;
                        // = 0;
                        $this->pdf->quadrado_relativo($nasc_x + $expande + 65, $inicio_escrita_y - 3, 26, 20, 0.1, "#D2D2D2", "#6F5E5E");
                        $necec_x = $alfabetizado_x + 23;
                        foreach ($this->necessidades as $key => $n) {
                            $this->pdf->escreve_relativo($n['subtotal'] == 0 ? '-' : $n['subtotal'], $necec_x + 1, $inicio_escrita_y + 2, 100, $altura, $fonte, 10, $corTexto, 'center');
                            $this->necessidades[$key]['subtotal'] = (int) 0;
                            $necec_x += 18;
                            //$linha_neces_x += 18;
                        }
                        //$inicio_linha_y += 20;
                        $inicio_escrita_y += 20;
                        /**
                         *
                         */
                        //}
                    }
                }
            }
            $contador_registros++;
            if ($contador_registros > $registros_por_pagina) {
                $contador_registros = 1;
                $inicio_escrita_y = 215;
                $inicio_linha_y = 232;
                $this->pdf->ClosePage();
                $this->pdf->OpenPage();
                $this->addCabecalho();
                $this->novaPagina();
                for ($ct = 0; $ct < $registros_por_pagina; $ct++) {
                    $this->pdf->linha_relativa(30, $inicio_linha_y, 535, 0);
                    $inicio_linha_y += 20;
                }
                $inicio_linha_y = 232;
            }
            $this->pdf->escreve_relativo(" ", $numero_x, $inicio_escrita_y + 3, 50, 20, $fonte, 7, $corTexto, 'left');
            $this->pdf->escreve_relativo("TOTAL CURSO {$det_curso['nm_curso']}", $nome_x - $expande - 20, $inicio_escrita_y + 3, 177, 20, $fonte, 7, $corTexto, 'center');
            $this->pdf->quadrado_relativo($nasc_x + $expande - 9, $inicio_escrita_y - 3, 49, 20, 0.1, "#D2D2D2", "#6F5E5E");
            //serie
            $this->pdf->escreve_relativo($total_curso == 0 ? '-' : $total_curso, $turno_x + $expande - 25, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
            //$this->pdf->quadrado_relativo($nasc_x + $expande + 40,$inicio_escrita_y-3, 25, 20,0.1,"#D2D2D2","#6F5E5E");
            //nao alfa
            $this->pdf->escreve_relativo($total_analfabetos_curso == 0 ? '-' : $total_analfabetos_curso, $turno_x + $expande + 26, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
            //alfabetizado
            $this->pdf->escreve_relativo($total_alfabetos_curso == 0 ? '-' : $total_alfabetos_curso, $alfabetizado_x + $expande + 23, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
            //$total_analfabetos_curso = $total_alfabetos_curso = 0;
            $this->pdf->quadrado_relativo($nasc_x + $expande + 65, $inicio_escrita_y - 3, 26, 20, 0.1, "#D2D2D2", "#6F5E5E");
            $necec_x = $alfabetizado_x + 23;
            foreach ($this->necessidades as $key => $n) {
                $this->pdf->escreve_relativo($n['total_curso'] == 0 ? '-' : $n['total_curso'], $necec_x + 1, $inicio_escrita_y + 2, 100, $altura, $fonte, 10, $corTexto, 'center');
                $this->necessidades[$key]['total_curso'] = (int) 0;
                $necec_x += 18;
            }
            $inicio_escrita_y += 20;
            /*$contador_registros++;
            		if($contador_registros > $registros_por_pagina)
            		{
            			$contador_registros = 0;
            			$inicio_escrita_y = 215;
            			$inicio_linha_y = 232;
            			$this->pdf->ClosePage();
            			$this->pdf->OpenPage();
            			$this->addCabecalho();
            			$this->novaPagina();
            			for($ct =0; $ct < $registros_por_pagina;$ct++){
            					$this->pdf->linha_relativa(30,$inicio_linha_y,535,0);
            					$inicio_linha_y += 20;
            			}
            			$inicio_linha_y = 232;
            		}*/
        }
        $contador_registros++;
        if ($contador_registros > $registros_por_pagina) {
            $contador_registros = 1;
            $inicio_escrita_y = 215;
            $inicio_linha_y = 232;
            $this->pdf->ClosePage();
            $this->pdf->OpenPage();
            $this->addCabecalho();
            $this->novaPagina();
            for ($ct = 0; $ct < $registros_por_pagina; $ct++) {
                $this->pdf->linha_relativa(30, $inicio_linha_y, 535, 0);
                $inicio_linha_y += 20;
            }
            $inicio_linha_y = 232;
        }
        $this->pdf->escreve_relativo(" ", $numero_x, $inicio_escrita_y + 3, 50, 20, $fonte, 7, $corTexto, 'left');
        $this->pdf->escreve_relativo("TOTAL GERAL ", $nome_x - $expande - 20, $inicio_escrita_y + 3, 177, 20, $fonte, 7, $corTexto, 'center');
        $this->pdf->quadrado_relativo($nasc_x + $expande - 9, $inicio_escrita_y - 3, 49, 20, 0.1, "#D2D2D2", "#6F5E5E");
        //serie
        $this->pdf->escreve_relativo($total_geral_alunos == 0 ? '-' : $total_geral_alunos, $turno_x + $expande - 25, $inicio_escrita_y, 60, 20, $fonte, 10, $corTexto, 'left');
        //$this->pdf->quadrado_relativo($nasc_x + $expande + 40,$inicio_escrita_y-3, 25, 20,0.1,"#D2D2D2","#6F5E5E");
        //nao alfa
        $this->pdf->escreve_relativo($total_analfabetos_geral == 0 ? '-' : $total_analfabetos_geral, $turno_x + $expande + 26, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
        //alfabetizado
        $this->pdf->escreve_relativo($total_alfabetos_geral == 0 ? '-' : $total_alfabetos_geral, $alfabetizado_x + $expande + 23, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
        //$total_analfabetos_geral = $total_alfabetos_geral = 0;
        $this->pdf->quadrado_relativo($nasc_x + $expande + 65, $inicio_escrita_y - 3, 26, 20, 0.1, "#D2D2D2", "#6F5E5E");
        $necec_x = $alfabetizado_x + 23;
        foreach ($this->necessidades as $key => $n) {
            $this->pdf->escreve_relativo($n['total'] == 0 ? '-' : $n['total'], $necec_x + 1, $inicio_escrita_y + 2, 100, $altura, $fonte, 10, $corTexto, 'center');
            $this->necessidades[$key]['total'] = (int) 0;
            $necec_x += 18;
            //$linha_neces_x += 18;
        }
        /**
         *
         */
        $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<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>";
    }