function Inicializar()
 {
     $retorno = "Novo";
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->cod_infra_predio_comodo = $_GET["cod_infra_predio_comodo"];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(574, $this->pessoa_logada, 7, "educar_infra_predio_comodo_lst.php");
     if (is_numeric($this->cod_infra_predio_comodo)) {
         $obj = new clsPmieducarInfraPredioComodo($this->cod_infra_predio_comodo);
         $registro = $obj->detalhe();
         if ($registro) {
             $obj_infra_comodo = new clsPmieducarInfraPredio($registro["ref_cod_infra_predio"]);
             $det_comodo = $obj_infra_comodo->detalhe();
             $registro["ref_cod_escola"] = $det_comodo["ref_cod_escola"];
             $obj_escola = new clsPmieducarEscola($det_comodo["ref_cod_escola"]);
             $det_escola = $obj_escola->detalhe();
             $registro["ref_cod_instituicao"] = $det_escola["ref_cod_instituicao"];
             //echo "<pre>";print_r($registro);die;
             foreach ($registro as $campo => $val) {
                 // passa todos os valores obtidos no registro para atributos do objeto
                 $this->{$campo} = $val;
             }
             $this->fexcluir = true;
             $retorno = "Editar";
         }
     }
     $this->url_cancelar = $retorno == "Editar" ? "educar_infra_predio_comodo_det.php?cod_infra_predio_comodo={$registro["cod_infra_predio_comodo"]}" : "educar_infra_predio_comodo_lst.php";
     $this->nome_url_cancelar = "Cancelar";
     return $retorno;
 }
 function Inicializar()
 {
     $retorno = "Novo";
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->cod_motivo_afastamento = $_GET["cod_motivo_afastamento"];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(633, $this->pessoa_logada, 7, "educar_motivo_afastamento_lst.php");
     if (is_numeric($this->cod_motivo_afastamento)) {
         $obj = new clsPmieducarMotivoAfastamento($this->cod_motivo_afastamento);
         $registro = $obj->detalhe();
         if ($registro) {
             foreach ($registro as $campo => $val) {
                 // passa todos os valores obtidos no registro para atributos do objeto
                 $this->{$campo} = $val;
             }
             $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
             $det_escola = $obj_escola->detalhe();
             $this->ref_cod_instituicao = $det_escola['ref_cod_instituicao'];
             if ($obj_permissoes->permissao_excluir(633, $this->pessoa_logada, 7)) {
                 $this->fexcluir = true;
             }
             $retorno = "Editar";
             $this->ref_cod_instituicao = $registro['ref_cod_instituicao'];
         }
     }
     $this->url_cancelar = $retorno == "Editar" ? "educar_motivo_afastamento_det.php?cod_motivo_afastamento={$registro["cod_motivo_afastamento"]}" : "educar_motivo_afastamento_lst.php";
     $this->nome_url_cancelar = "Cancelar";
     return $retorno;
 }
 function Inicializar()
 {
     $retorno = "Novo";
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->cod_motivo_afastamento = $_GET["cod_motivo_afastamento"];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(633, $this->pessoa_logada, 7, "educar_motivo_afastamento_lst.php");
     if (is_numeric($this->cod_motivo_afastamento)) {
         $obj = new clsPmieducarMotivoAfastamento($this->cod_motivo_afastamento);
         $registro = $obj->detalhe();
         if ($registro) {
             foreach ($registro as $campo => $val) {
                 // passa todos os valores obtidos no registro para atributos do objeto
                 $this->{$campo} = $val;
             }
             $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
             $det_escola = $obj_escola->detalhe();
             $this->ref_cod_instituicao = $det_escola['ref_cod_instituicao'];
             if ($obj_permissoes->permissao_excluir(633, $this->pessoa_logada, 7)) {
                 $this->fexcluir = true;
             }
             $retorno = "Editar";
             $this->ref_cod_instituicao = $registro['ref_cod_instituicao'];
         }
     }
     $this->url_cancelar = $retorno == "Editar" ? "educar_motivo_afastamento_det.php?cod_motivo_afastamento={$registro["cod_motivo_afastamento"]}" : "educar_motivo_afastamento_lst.php";
     $this->nome_url_cancelar = "Cancelar";
     $nomeMenu = $retorno == "Editar" ? $retorno : "Cadastrar";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "{$nomeMenu} motivo de afastamento"));
     $this->enviaLocalizacao($localizacao->montar());
     return $retorno;
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Autor - Detalhe";
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $this->cod_acervo_autor = $_GET["cod_acervo_autor"];
     $tmp_obj = new clsPmieducarAcervoAutor($this->cod_acervo_autor);
     $registro = $tmp_obj->detalhe();
     if (!$registro) {
         header("location: educar_acervo_autor_lst.php");
         die;
     }
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if (class_exists("clsPmieducarBiblioteca")) {
         $obj_ref_cod_biblioteca = new clsPmieducarBiblioteca($registro["ref_cod_biblioteca"]);
         $det_ref_cod_biblioteca = $obj_ref_cod_biblioteca->detalhe();
         $registro["ref_cod_biblioteca"] = $det_ref_cod_biblioteca["nm_biblioteca"];
         $registro["ref_cod_instituicao"] = $det_ref_cod_biblioteca["ref_cod_instituicao"];
         $registro["ref_cod_escola"] = $det_ref_cod_biblioteca["ref_cod_escola"];
         if ($registro["ref_cod_instituicao"]) {
             $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
             $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
             $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
         }
         if ($registro["ref_cod_escola"]) {
             $obj_ref_cod_escola = new clsPmieducarEscola();
             $det_ref_cod_escola = array_shift($obj_ref_cod_escola->lista($registro["ref_cod_escola"]));
             $registro["ref_cod_escola"] = $det_ref_cod_escola["nome"];
         }
     } else {
         $registro["ref_cod_biblioteca"] = "Erro na gera&ccedil;&atilde;o";
         echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarBiblioteca\n-->";
     }
     if ($registro["ref_cod_instituicao"] && $nivel_usuario == 1) {
         $this->addDetalhe(array("Institui&ccedil;&atilde;o", "{$registro["ref_cod_instituicao"]}"));
     }
     if ($registro["ref_cod_escola"] && ($nivel_usuario == 1 || $nivel_usuario == 2)) {
         $this->addDetalhe(array("Escola", "{$registro["ref_cod_escola"]}"));
     }
     if ($registro["ref_cod_biblioteca"]) {
         $this->addDetalhe(array("Biblioteca", "{$registro["ref_cod_biblioteca"]}"));
     }
     if ($registro["nm_autor"]) {
         $this->addDetalhe(array("Autor", "{$registro["nm_autor"]}"));
     }
     if ($registro["descricao"]) {
         $this->addDetalhe(array("Descri&ccedil;&atilde;o", "{$registro["descricao"]}"));
     }
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(594, $this->pessoa_logada, 11)) {
         $this->url_novo = "educar_acervo_autor_cad.php";
         $this->url_editar = "educar_acervo_autor_cad.php?cod_acervo_autor={$registro["cod_acervo_autor"]}";
     }
     $this->url_cancelar = "educar_acervo_autor_lst.php";
     $this->largura = "100%";
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Transferencia Tipo - Detalhe";
     $this->cod_transferencia_tipo = $_GET["cod_transferencia_tipo"];
     $tmp_obj = new clsPmieducarTransferenciaTipo($this->cod_transferencia_tipo);
     $registro = $tmp_obj->detalhe();
     if (!$registro) {
         header("location: educar_transferencia_tipo_lst.php");
         die;
     }
     if (class_exists("clsPmieducarEscola")) {
         $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
         $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
         $registro["ref_cod_escola"] = $det_ref_cod_escola["nome"];
         $registro["ref_cod_instituicao"] = $det_ref_cod_escola["ref_cod_instituicao"];
     } else {
         $registro["ref_cod_escola"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarEscola\n-->";
     }
     if (class_exists("clsPmieducarInstituicao")) {
         $obj_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
         $obj_instituicao_det = $obj_instituicao->detalhe();
         $registro["ref_cod_instituicao"] = $obj_instituicao_det['nm_instituicao'];
     } else {
         $cod_instituicao = "Erro na gera&ccedil;&atilde;o";
         echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarInstituicao\n-->";
     }
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         if ($registro["ref_cod_instituicao"]) {
             $this->addDetalhe(array("Institui&ccedil;&atilde;o", "{$registro["ref_cod_instituicao"]}"));
         }
     }
     if ($nivel_usuario == 1 || $nivel_usuario == 2) {
         if ($registro["ref_cod_escola"]) {
             $this->addDetalhe(array("Escola", "{$registro["ref_cod_escola"]}"));
         }
     }
     if ($registro["nm_tipo"]) {
         $this->addDetalhe(array("Motivo Transfer&ecirc;ncia", "{$registro["nm_tipo"]}"));
     }
     if ($registro["desc_tipo"]) {
         $this->addDetalhe(array("Descri&ccedil;&atilde;o", "{$registro["desc_tipo"]}"));
     }
     if ($obj_permissoes->permissao_cadastra(575, $this->pessoa_logada, 7)) {
         $this->url_novo = "educar_transferencia_tipo_cad.php";
         $this->url_editar = "educar_transferencia_tipo_cad.php?cod_transferencia_tipo={$registro["cod_transferencia_tipo"]}";
     }
     $this->url_cancelar = "educar_transferencia_tipo_lst.php";
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Detalhe do tipo de transfer&ecirc;ncia"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     //** Verificacao de permissao para cadastro
     $obj_permissao = new clsPermissoes();
     if ($obj_permissao->permissao_cadastra(567, $this->pessoa_logada, 7)) {
         $this->url_novo = "educar_tipo_usuario_cad.php";
         $this->url_editar = "educar_tipo_usuario_cad.php?cod_tipo_usuario={$registro["cod_tipo_usuario"]}";
     }
     //**
     $this->titulo = "Infra Predio - Detalhe";
     $this->cod_infra_predio = $_GET["cod_infra_predio"];
     $tmp_obj = new clsPmieducarInfraPredio($this->cod_infra_predio);
     $registro = $tmp_obj->detalhe();
     if (!$registro) {
         header("location: educar_infra_predio_lst.php");
         die;
     }
     if (class_exists("clsPmieducarEscola")) {
         $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
         $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
         $registro["ref_cod_escola"] = $det_ref_cod_escola["nm_escola"];
     } else {
         $registro["ref_cod_escola"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarEscola\n-->";
     }
     if ($registro["cod_infra_predio"]) {
         $this->addDetalhe(array("Infra Predio", "{$registro["cod_infra_predio"]}"));
     }
     if ($registro["ref_cod_escola"]) {
         $this->addDetalhe(array("Escola", "{$registro["ref_cod_escola"]}"));
     }
     if ($registro["nm_predio"]) {
         $this->addDetalhe(array("Nome Predio", "{$registro["nm_predio"]}"));
     }
     if ($registro["desc_predio"]) {
         $this->addDetalhe(array("Descri&ccedil;&atilde;o Pr&eacute;dio", "{$registro["desc_predio"]}"));
     }
     if ($registro["endereco"]) {
         $this->addDetalhe(array("Endere&ccedil;o", "{$registro["endereco"]}"));
     }
     //** Verificacao de permissao para cadastro
     $obj_permissao = new clsPermissoes();
     if ($obj_permissao->permissao_cadastra(567, $this->pessoa_logada, 7)) {
         $this->url_novo = "educar_infra_predio_cad.php";
         $this->url_editar = "educar_infra_predio_cad.php?cod_infra_predio={$registro["cod_infra_predio"]}";
     }
     //**
     $this->url_cancelar = "educar_infra_predio_lst.php";
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Detalhe do pr&eacute;dio"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 function Inicializar()
 {
     $retorno = "Novo";
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->cod_calendario_ano_letivo = $_GET["cod_calendario_ano_letivo"];
     $this->ref_cod_escola = $_GET["ref_cod_escola"];
     $this->ref_cod_instituicao = $_GET["ref_cod_instituicao"];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(620, $this->pessoa_logada, 7, "educar_calendario_ano_letivo_lst.php");
     //	$this->ref_cod_instituicao = $obj_permissoes->getInstituicao($this->pessoa_logada);
     //$this->ref_cod_escola = $obj_permissoes->getEscola($this->pessoa_logada);
     if (is_numeric($this->cod_calendario_ano_letivo)) {
         $obj = new clsPmieducarCalendarioAnoLetivo($this->cod_calendario_ano_letivo);
         $registro = $obj->detalhe();
         if ($registro) {
             foreach ($registro as $campo => $val) {
                 // passa todos os valores obtidos no registro para atributos do objeto
                 $this->{$campo} = $val;
             }
             $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
             $obj_det = $obj_escola->detalhe();
             /*
             $this->inicio_ano_letivo = dataFromPgToBr( $this->inicio_ano_letivo );
             $this->termino_ano_letivo = dataFromPgToBr( $this->termino_ano_letivo );
             */
             $obj_permissoes = new clsPermissoes();
             if ($obj_permissoes->permissao_excluir(620, $this->pessoa_logada, 7)) {
                 $this->fexcluir = true;
             }
             $retorno = "Editar";
         }
     }
     $this->url_cancelar = $retorno == "Editar" ? "educar_calendario_ano_letivo_det.php?cod_calendario_ano_letivo={$registro["cod_calendario_ano_letivo"]}" : "educar_calendario_ano_letivo_lst.php";
     $this->nome_url_cancelar = "Cancelar";
     return $retorno;
 }
 function Inicializar()
 {
     $retorno = "Novo";
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->cod_infra_predio_comodo = $_GET["cod_infra_predio_comodo"];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(574, $this->pessoa_logada, 7, "educar_infra_predio_comodo_lst.php");
     if (is_numeric($this->cod_infra_predio_comodo)) {
         $obj = new clsPmieducarInfraPredioComodo($this->cod_infra_predio_comodo);
         $registro = $obj->detalhe();
         if ($registro) {
             $obj_infra_comodo = new clsPmieducarInfraPredio($registro["ref_cod_infra_predio"]);
             $det_comodo = $obj_infra_comodo->detalhe();
             $registro["ref_cod_escola"] = $det_comodo["ref_cod_escola"];
             $obj_escola = new clsPmieducarEscola($det_comodo["ref_cod_escola"]);
             $det_escola = $obj_escola->detalhe();
             $registro["ref_cod_instituicao"] = $det_escola["ref_cod_instituicao"];
             //echo "<pre>";print_r($registro);die;
             foreach ($registro as $campo => $val) {
                 // passa todos os valores obtidos no registro para atributos do objeto
                 $this->{$campo} = $val;
             }
             $this->fexcluir = true;
             $retorno = "Editar";
         }
     }
     $this->url_cancelar = $retorno == "Editar" ? "educar_infra_predio_comodo_det.php?cod_infra_predio_comodo={$registro["cod_infra_predio_comodo"]}" : "educar_infra_predio_comodo_lst.php";
     $nomeMenu = $retorno == "Editar" ? $retorno : "Cadastrar";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "{$nomeMenu} c&ocirc;modos do pr&eacute;dio"));
     $this->enviaLocalizacao($localizacao->montar());
     $this->nome_url_cancelar = "Cancelar";
     return $retorno;
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Cole&ccedil&atilde;o - Detalhe";
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $this->cod_acervo_colecao = $_GET["cod_acervo_colecao"];
     $tmp_obj = new clsPmieducarAcervoColecao($this->cod_acervo_colecao);
     $registro = $tmp_obj->detalhe();
     if (class_exists("clsPmieducarBiblioteca")) {
         $obj_ref_cod_biblioteca = new clsPmieducarBiblioteca($registro["ref_cod_biblioteca"]);
         $det_ref_cod_biblioteca = $obj_ref_cod_biblioteca->detalhe();
         $registro["ref_cod_biblioteca"] = $det_ref_cod_biblioteca["nm_biblioteca"];
         if (class_exists("clsPmieducarInstituicao")) {
             $registro["ref_cod_instituicao"] = $det_ref_cod_biblioteca["ref_cod_instituicao"];
             $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
             $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
             $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
         } else {
             $registro["ref_cod_instituicao"] = "Erro na geracao";
             echo "<!--\nErro\nClasse nao existente: clsPmieducarInstituicao\n-->";
         }
     }
     if (class_exists("clsPmieducarEscola")) {
         $registro["ref_cod_escola"] = $det_ref_cod_biblioteca["ref_cod_escola"];
         $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
         $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
         $idpes = $det_ref_cod_escola["ref_idpes"];
         if ($idpes) {
             $obj_escola = new clsPessoaJuridica($idpes);
             $obj_escola_det = $obj_escola->detalhe();
             $registro["ref_cod_escola"] = $obj_escola_det["fantasia"];
         } else {
             $obj_escola = new clsPmieducarEscolaComplemento($registro["ref_cod_escola"]);
             $obj_escola_det = $obj_escola->detalhe();
             $registro["ref_cod_escola"] = $obj_escola_det["nm_escola"];
         }
     }
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if (!$registro) {
         header("location: educar_acervo_colecao_lst.php");
         die;
     }
     if ($nivel_usuario == 1) {
         if ($registro["ref_cod_instituicao"]) {
             $this->addDetalhe(array("Institui&ccedil;&atilde;o", "{$registro["ref_cod_instituicao"]}"));
         }
     }
     if ($nivel_usuario == 1 || $nivel_usuario == 2) {
         if ($registro["ref_cod_escola"]) {
             $this->addDetalhe(array("Escola", "{$registro["ref_cod_escola"]}"));
         }
     }
     if ($registro["ref_cod_biblioteca"]) {
         $this->addDetalhe(array("Biblioteca", "{$registro["ref_cod_biblioteca"]}"));
     }
     if ($registro["cod_acervo_colecao"]) {
         $this->addDetalhe(array("C&oacute;digo Cole&ccedil;&atilde;o", "{$registro["cod_acervo_colecao"]}"));
     }
     if ($registro["nm_colecao"]) {
         $this->addDetalhe(array("Cole&ccedil;&atilde;o", "{$registro["nm_colecao"]}"));
     }
     if ($registro["descricao"]) {
         $this->addDetalhe(array("Descri&ccedil;&atilde;o", "{$registro["descricao"]}"));
     }
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(593, $this->pessoa_logada, 11)) {
         $this->url_novo = "educar_acervo_colecao_cad.php";
         $this->url_editar = "educar_acervo_colecao_cad.php?cod_acervo_colecao={$registro["cod_acervo_colecao"]}";
     }
     $this->url_cancelar = "educar_acervo_colecao_lst.php";
     $this->largura = "100%";
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Motivo Transfer&ecirc;ncia - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $lista_busca = array("Transfer&ecirc;ncia");
     $obj_permissao = new clsPermissoes();
     $nivel_usuario = $obj_permissao->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = "Escola";
         $lista_busca[] = "Institui&ccedil;&atilde;o";
     } else {
         if ($nivel_usuario == 2) {
             $lista_busca[] = "Escola";
         }
     }
     $this->addCabecalhos($lista_busca);
     // Filtros de Foreign Keys
     $get_escola = true;
     include "include/pmieducar/educar_campo_lista.php";
     // outros Filtros
     $this->campoTexto("nm_tipo", "Transfer&ecirc;ncia", $this->nm_tipo, 30, 255, false);
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_transferencia_tipo = new clsPmieducarTransferenciaTipo();
     $obj_transferencia_tipo->setOrderby("nm_tipo ASC");
     $obj_transferencia_tipo->setLimite($this->limite, $this->offset);
     $lista = $obj_transferencia_tipo->lista(null, null, null, $this->nm_tipo, null, null, null, null, null, 1, $this->ref_cod_escola, $this->ref_cod_instituicao);
     $total = $obj_transferencia_tipo->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             if (class_exists("clsPmieducarInstituicao")) {
                 $obj_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                 $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
                 $registro["ref_cod_instituicao"] = $obj_cod_instituicao_det["nm_instituicao"];
             } else {
                 $registro["ref_cod_instituicao"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarInstituicao\n-->";
             }
             if (class_exists("clsPmieducarEscola")) {
                 $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
                 $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
                 $registro["ref_cod_escola"] = $det_ref_cod_escola["nome"];
             } else {
                 $registro["ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
             }
             $lista_busca = array("<a href=\"educar_transferencia_tipo_det.php?cod_transferencia_tipo={$registro["cod_transferencia_tipo"]}\">{$registro["nm_tipo"]}</a>");
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "<a href=\"educar_transferencia_tipo_det.php?cod_transferencia_tipo={$registro["cod_transferencia_tipo"]}\">{$registro["ref_cod_escola"]}</a>";
                 $lista_busca[] = "<a href=\"educar_transferencia_tipo_det.php?cod_transferencia_tipo={$registro["cod_transferencia_tipo"]}\">{$registro["ref_cod_instituicao"]}</a>";
             } else {
                 if ($nivel_usuario == 2) {
                     $lista_busca[] = "<a href=\"educar_transferencia_tipo_det.php?cod_transferencia_tipo={$registro["cod_transferencia_tipo"]}\">{$registro["ref_cod_escola"]}</a>";
                 }
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_transferencia_tipo_lst.php", $total, $_GET, $this->nome, $this->limite);
     if ($obj_permissoes->permissao_cadastra(575, $this->pessoa_logada, 7)) {
         $this->acao = "go(\"educar_transferencia_tipo_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "i-Educar", "educar_index.php" => "Escola", "" => "Lista de Tipos de Transferência"));
     $this->enviaLocalizacao($localizacao->montar());
 }
Example #11
0
 function Inicializar()
 {
     $retorno = 'Novo';
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->cod_turma = $_GET['cod_turma'];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(586, $this->pessoa_logada, 7, 'educar_turma_lst.php');
     if (is_numeric($this->cod_turma)) {
         $obj = new clsPmieducarTurma($this->cod_turma);
         $registro = $obj->detalhe();
         $obj_esc = new clsPmieducarEscola($registro['ref_ref_cod_escola']);
         $det_esc = $obj_esc->detalhe();
         $obj_ser = new clsPmieducarSerie($registro['ref_ref_cod_serie']);
         $det_ser = $obj_ser->detalhe();
         $this->ref_cod_escola = $det_esc['cod_escola'];
         $this->ref_cod_instituicao = $det_esc['ref_cod_instituicao'];
         $this->ref_cod_curso = $det_ser['ref_cod_curso'];
         $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
         $det_curso = $obj_curso->detalhe();
         $this->padrao_ano_escolar = $det_curso['padrao_ano_escolar'];
         if ($registro) {
             foreach ($registro as $campo => $val) {
                 $this->{$campo} = $val;
             }
             $this->fexcluir = $obj_permissoes->permissao_excluir(586, $this->pessoa_logada, 7, 'educar_turma_lst.php');
             $retorno = 'Editar';
         }
     }
     $this->url_cancelar = $retorno == 'Editar' ? 'educar_turma_det.php?cod_turma=' . $registro['cod_turma'] : 'educar_turma_lst.php';
     $this->nome_url_cancelar = 'Cancelar';
     return $retorno;
 }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        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));
	     		</script>';
            return true;
        }
        //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'];
        $cursos_in = '';
        $conc = '';
        foreach ($this->cursos as $curso) {
            $cursos_in .= "{$conc}{$curso}";
            $conc = ",";
        }
        $db = new clsbanco();
        $consulta = "SELECT (SELECT coalesce(min(s.idade_inicial),0) as min\n\t\t\t\t\t\t\t\t  FROM pmieducar.serie  s\n\t\t\t\t\t\t\t\t       ,pmieducar.turma t\n\t\t\t\t\t\t\t\t WHERE s.cod_serie     = t.ref_ref_cod_serie\n\t\t\t\t\t\t\t\t   AND s.ref_cod_curso in ({$cursos_in} )) as min\n\t\t\t\t\t\t\t\t,\n\t\t\t\t\t\t\t\t(SELECT coalesce(max(s.idade_final),0)  as max\n\t\t\t\t\t\t\t\t  FROM pmieducar.serie  s\n\t\t\t\t\t\t\t\t WHERE s.ref_cod_curso in ( {$cursos_in})) as max";
        $db->Consulta($consulta);
        $db->ProximoRegistro();
        $max_min = $db->Tupla();
        $consulta = "SELECT distinct\n\t\t\t\t\t       coalesce(s.idade_inicial,0) as min\n\t\t\t\t\t       ,coalesce(s.idade_final,0)  as max\n\t\t\t\t\t  FROM pmieducar.serie  s\n\t\t\t\t\t WHERE  s.ref_cod_curso in ( {$cursos_in} )";
        $faixa_min_max = array();
        $db->Consulta($consulta);
        while ($db->ProximoRegistro()) {
            $numeros[] = $db->Tupla();
        }
        $faixa_min_max = array($numeros[0][0], $numeros[count($numeros) - 1][1]);
        $consulta2 = "SELECT distinct\n\t\t\t\t\t         s.idade_inicial\n\t\t\t\t\t    FROM pmieducar.serie  s\n\t\t\t\t\t   WHERE  s.ref_cod_curso in ( {$cursos_in} )\n\n\t\t\t   \t\t   UNION\n\n\t\t\t\t\t  SELECT distinct\n\t\t\t\t\t         s.idade_final\n\t\t\t\t\t    FROM pmieducar.serie  s\n\t\t\t\t\t   WHERE s.ref_cod_curso in ( {$cursos_in} ) ";
        $idades = array();
        $db->Consulta($consulta2);
        while ($db->ProximoRegistro()) {
            $idades[] = array_shift($db->Tupla());
        }
        $consulta3 = "SELECT distinct\n\t\t\t\t\t         s.idade_inicial\n\t\t\t\t\t    FROM pmieducar.serie  s\n\t\t\t\t\t   WHERE s.ref_cod_curso in ( {$cursos_in} )";
        $db->Consulta($consulta3);
        while ($db->ProximoRegistro()) {
            $faixa[] = $db->Tupla();
        }
        $ultima_idade = null;
        while (sizeof($idades)) {
            $idade = array_shift($idades);
            if ($idade == $faixa_min_max[0]) {
                $ultima_idade = array_shift($idades);
                $this->array_ano_idade[] = array('ano' => $this->ano - $idade . " - " . ($this->ano - $ultima_idade), 'idade' => $idade . " - " . $ultima_idade, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                if (!empty($idades)) {
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 1, 'idade' => $ultima_idade + 1, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 2, 'idade' => $ultima_idade + 2, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 3, 'idade' => $ultima_idade + 3, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $ultima_idade = $ultima_idade + 3;
                    while ($ultima_idade > $idades[0] + 3) {
                        $ultima_idade = array_shift($idades);
                    }
                } elseif (sizeof($this->array_ano_idade) == 1) {
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 1, 'idade' => $ultima_idade + 1, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 2, 'idade' => $ultima_idade + 2, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 3, 'idade' => $ultima_idade + 3, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $ultima_idade = $ultima_idade + 3;
                }
            }
            foreach ($faixa as $key => $value) {
                for ($ct = $ultima_idade + 1; $ct <= $idade + 3; $ct++) {
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ct, 'idade' => (sizeof($idades) === 0 && $ct == $idade + 3 ? "" : "") . $ct, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $ultima_idade = $ct;
                }
                break;
            }
            $ultima_idade = idade > $ultima_idade ? $idade : $ultima_idade;
        }
        $altura2 = 300;
        $altura = 50;
        $expande = 24;
        $flag_defasado = 1;
        $fonte = 'arial';
        $corTexto = '#000000';
        $obj_lst_escola = new clsPmieducarEscola();
        $lst_escola = $obj_lst_escola->lista($this->ref_cod_escola, null, null, $this->ref_cod_instituicao, null, null, null, null, null, null, 1);
        if ($lst_escola) {
            $this->pdf = new clsPDF("Demonstrativo de Alunos Defasados Idade/Série - {$this->ano}", "Demonstrativo de Alunos Defasados Idade/Série - {$this->ano}", "A4", "", false, false);
            $this->pdf->largura = 842.0;
            $this->pdf->altura = 595.0;
            $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
            $det_instituicao = $obj_instituicao->detalhe();
            $this->nm_instituicao = $det_instituicao['nm_instituicao'];
            for ($ct_analfabeto = 0; $ct_analfabeto <= 2; $ct_analfabeto++) {
                //	$total_geral_alunos = 0;
                //	$total_geral_turmas = 0;
                //				$total_turmas_serie = 0;
                //				$total_alunos_serie = 0;
                $this->pdf->OpenPage();
                $this->addCabecalho();
                $this->novaPagina($ct_analfabeto);
                if ($ct_analfabeto <= 1) {
                    $total_geral_alunos = 0;
                    $total_geral_turmas = 0;
                }
                foreach ($this->array_ano_idade as $key => $value) {
                    $this->array_ano_idade[$key]['total_geral'] = 0;
                    $this->array_ano_idade[$key]['total_serie'] = 0;
                }
                $altura_linha = 23;
                $inicio_escrita_y = 175;
                foreach ($this->cursos as $curso) {
                    $obj = new clsPmieducarSerie();
                    $obj->setOrderby("idade_inicial,idade_final");
                    $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($curso);
                    //$det_curso = $obj_curso->detalhe();
                    if ($lista_serie_curso) {
                        foreach ($lista_serie_curso as $serie) {
                            foreach ($this->array_ano_idade as $key => $value) {
                                $this->array_ano_idade[$key]['total_serie'] = 0;
                            }
                            $total_turmas_serie = 0;
                            //$total_alunos_serie = 0;
                            $flagTurmas = 0;
                            $flagAlunos = 0;
                            foreach ($lst_escola as $escola) {
                                $this->ref_cod_escola = $escola['cod_escola'];
                                $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) {
                                    continue;
                                }
                                /**
                                 * busca todas as matriculas de cada curso
                                 */
                                if (empty($serie['idade_inicial']) || empty($serie['idade_final'])) {
                                    continue;
                                }
                                //$subtotal_serie = 0;
                                $total_turmas_serie = 0;
                                //	$total_alunos_serie = 0;
                                if ($ct_analfabeto <= 1) {
                                    $obj_turma = new clsPmieducarTurma();
                                    if (!empty($_POST["ref_cod_escola"])) {
                                        $turmas = count($obj_turma->lista(null, null, null, $serie['cod_serie'], $this->ref_cod_escola, null, null, null, null, null, null, null, null, null, 1));
                                        $total_geral_turmas = $total_geral_turmas + $turmas;
                                    } else {
                                        if ($flagTurmas == 0) {
                                            $turmas = count($obj_turma->lista(null, null, null, $serie['cod_serie'], null, null, null, null, null, null, null, null, null, null, 1));
                                            $total_geral_turmas = $total_geral_turmas + $turmas;
                                        }
                                        $flagTurmas++;
                                    }
                                    //$total_geral_turmas = $total_geral_turmas +  $turmas;
                                    $total_turmas_serie = $turmas;
                                    $total_geral_turmas_ambos = $total_geral_turmas;
                                    $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, $ct_analfabeto, null, null, null, null, null, null, null, $this->mes, true);
                                    $total_geral_alunos += $obj_matricula->_total;
                                    $total_alunos_serie = $obj_matricula->_total;
                                    $total_geral_alunos_ambos = (int) $total_geral_alunos_ambos + $obj_matricula->_total;
                                    if ($ct_analfabeto == 1) {
                                        $analfabetos[$serie['cod_serie']] = $analfabetos[$serie['cod_serie']] + $total_alunos_serie;
                                    }
                                    $total_alunos_serie_ambos[$serie['cod_serie']] = (int) $total_alunos_serie_ambos[$serie['cod_serie']] + $obj_matricula->_total;
                                    $total_turmas_serie_ambos[$serie['cod_serie']] = $turmas;
                                }
                                if ($lista_matricula_serie && $ct_analfabeto <= 1) {
                                    /**
                                     * busca dados da matricula de um aluno de uma turma de uma serie =p
                                     */
                                    foreach ($lista_matricula_serie as $matricula) {
                                        //$obj_aluno = new clsPmieducarAluno();
                                        //$det_aluno = array_shift($obj_aluno->lista($matricula['ref_cod_aluno'],null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, true ));
                                        //$obj_fisica = new clsFisica($det_aluno['ref_idpes']);
                                        //$det_fisica = $obj_fisica->detalhe();
                                        if ($matricula['data_nasc']) {
                                            $ano_nasc = explode("-", $matricula['data_nasc']);
                                            //											$idade_aluno = date("Y") - $ano_nasc[0]; // <-- modificado
                                            $idade_aluno = $this->ano - $ano_nasc[0];
                                        }
                                        //$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);
                                        foreach ($this->array_ano_idade as $key => $value) {
                                            if (strpos($value['idade'], "-") && is_numeric($idade_aluno)) {
                                                $idade = explode("-", $value['idade']);
                                                if ($idade_aluno > $serie['idade_final'] + $flag_defasado && $idade_aluno >= $idade[0] && $idade_aluno <= $idade[1] || $idade_aluno > $serie['idade_final'] + $flag_defasado && $key == count($this->array_ano_idade) - 1) {
                                                    $this->array_ano_idade[$key]['total_serie'] += 1;
                                                    $this->array_ano_idade[$key]['total_geral'] += 1;
                                                    $this->array_ano_idade[$key]['total_geral_ambos'] += 1;
                                                    break;
                                                }
                                            } elseif (is_numeric($idade_aluno)) {
                                                $idade = $value['idade'];
                                                if ($idade_aluno > $serie['idade_final'] + $flag_defasado && $idade_aluno == $idade || $idade_aluno >= $idade && $key == count($this->array_ano_idade) - 1) {
                                                    $this->array_ano_idade[$key]['total_serie'] += 1;
                                                    $this->array_ano_idade[$key]['total_geral'] += 1;
                                                    $this->array_ano_idade[$key]['total_geral_ambos'] += 1;
                                                    break;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            /**
                             *  linha
                             */
                            $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 782, $altura_linha);
                            //linha alfabetizados
                            $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 695 + $expande, $altura_linha);
                            //linha numero de alunos
                            $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 90 + $expande, $altura_linha);
                            //linha numero de turmas
                            $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 60 + $expande, $altura_linha);
                            //$this->pdf->quadrado_relativo( 30, 125, 170 + $expande + 30, $altura);
                            //linha serie
                            $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 55, $altura_linha);
                            //posicao serie
                            $serie_x = 35;
                            $this->pdf->escreve_relativo($serie['nm_serie'], $serie_x, $inicio_escrita_y + 5, 50, 50, $fonte, 6, $corTexto, 'left');
                            //posicao numero turmas
                            $turma_x = 30 + $expande;
                            $total = $ct_analfabeto <= 1 ? $total_turmas_serie : $total_turmas_serie_ambos[$serie['cod_serie']];
                            $this->pdf->escreve_relativo($total, $turma_x - 5, $inicio_escrita_y + 5, 100, 50, $fonte, 10, $corTexto, 'center');
                            //posicao numero alunos
                            $alunos_x = 40 + $expande;
                            if (empty($_POST["ref_cod_escola"])) {
                                $total = $total_alunos_serie_ambos[$serie['cod_serie']];
                                $total_alunos_serie = $total_alunos_serie_ambos[$serie['cod_serie']];
                                if ($ct_analfabeto == 1) {
                                    $total = $analfabetos[$serie['cod_serie']];
                                }
                            } else {
                                $total = $ct_analfabeto <= 1 ? $total_alunos_serie : $total_alunos_serie_ambos[$serie['cod_serie']];
                            }
                            $this->pdf->escreve_relativo($total, $alunos_x + 15, $inicio_escrita_y + 5, 100, 40, $fonte, 10, $corTexto, 'center');
                            //	$largura_quadrado = $incremental-5;
                            //$this->qt_anos = 1;
                            $largura_anos = 615;
                            //$this->idade_inicial = 6;
                            $array_ano_idade = array();
                            //$incremental = (int)($largura_anos/ $this->qt_anos);
                            if (sizeof($this->array_ano_idade)) {
                                $incremental = (int) ($largura_anos / sizeof($this->array_ano_idade));
                            } else {
                                $incremental = 0;
                            }
                            $reta_ano_x = $alunos_x + 80;
                            $largura_quadrado = $incremental - 5;
                            //$incremental = (int)($largura_anos/ $this->qt_anos);
                            //	$reta_ano_x = $alunos_x + 85;
                            $ajuste = 0;
                            //for($ct = $this->ano - $this->idade_inicial ;$ct > $this->ano - $this->idade_inicial - $this->qt_anos;$ct--)
                            foreach ($this->array_ano_idade as $key => $ano) {
                                //ajuste2
                                $ajuste = 5;
                                $total_valor = $ct_analfabeto <= 1 ? $ano["total_serie"] : $total_serie_ano["{$serie['cod_serie']}"][$key];
                                if ($ano['idade'] <= $serie['idade_final'] + $flag_defasado && $key < sizeof($this->array_ano_idade) - 1) {
                                    $this->pdf->quadrado_relativo($reta_ano_x, $inicio_escrita_y, $largura_quadrado + $ajuste + ($key == sizeof($this->array_ano_idade) - 1 ? -5 : 0), $altura_linha, 0.5, "#A1B3BD", "");
                                } else {
                                    $this->pdf->escreve_relativo($total_valor, $reta_ano_x + 1, $inicio_escrita_y + 5, $incremental, $altura_linha, $fonte, 10, $corTexto, 'center');
                                }
                                $total_serie_ano["{$serie['cod_serie']}"][$key] = (int) $total_serie_ano["{$serie['cod_serie']}"][$key] + $ano["total_serie"];
                                //$anos_x += $incremental;
                                $reta_ano_x += $incremental;
                                //reta
                                if ($key < sizeof($this->array_ano_idade) - 1) {
                                    $this->pdf->linha_relativa($reta_ano_x, $inicio_escrita_y, 0, $altura_linha);
                                } else {
                                    $largura_quadrado += 4.5;
                                }
                            }
                            $total_defasado_serie = 0;
                            foreach ($this->array_ano_idade as $key => $value) {
                                $total_defasado_serie += $this->array_ano_idade[$key]['total_serie'];
                            }
                            $total_alunos_serie = $total_alunos_serie == 0 ? 1 : $total_alunos_serie;
                            if ($ct_analfabeto <= 1) {
                                $total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] = (int) $total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] + $total_defasado_serie;
                                $total_defasado_serie_ambos = (int) $total_defasado_serie_ambos + $total_defasado_serie;
                            }
                            $total_defasado_serie = $ct_analfabeto <= 1 ? $total_defasado_serie : $total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"];
                            //escreve total defasado serie
                            $this->pdf->escreve_relativo($total_defasado_serie, 750, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                            if (empty($_POST["ref_cod_escola"])) {
                                if ($ct_analfabeto < 1) {
                                    $this->pdf->escreve_relativo(round($total_defasado_serie / $total_alunos_serie * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                } elseif ($ct_analfabeto == 1) {
                                    $total_alunos_serie = $analfabetos[$serie['cod_serie']];
                                    $this->pdf->escreve_relativo(round($total_defasado_serie / $total_alunos_serie * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                } else {
                                    $this->pdf->escreve_relativo(round($total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] / $total_alunos_serie_ambos[$serie['cod_serie']] * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                }
                            } else {
                                //escreve porcentagem
                                if ($ct_analfabeto <= 1) {
                                    if ($total_alunos_serie) {
                                        $this->pdf->escreve_relativo(round($total_defasado_serie / $total_alunos_serie * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                    } else {
                                        $this->pdf->escreve_relativo(0 . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                    }
                                } else {
                                    if ($total_alunos_serie_ambos[$serie['cod_serie']]) {
                                        $this->pdf->escreve_relativo(round($total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] / $total_alunos_serie_ambos[$serie['cod_serie']] * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                    } else {
                                        $this->pdf->escreve_relativo(0 . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                    }
                                }
                            }
                            $this->pdf->linha_relativa(780, $inicio_escrita_y, 0, 23);
                            $inicio_escrita_y += 20;
                            /**
                             *
                             */
                        }
                    }
                }
                /**
                 *  TOTAL
                 */
                $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 782, $altura_linha);
                //linha alfabetizados
                $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 695 + $expande, $altura_linha);
                //linha numero de alunos
                $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 90 + $expande, $altura_linha);
                //linha numero de turmas
                $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 60 + $expande, $altura_linha);
                //$this->pdf->quadrado_relativo( 30, 125, 170 + $expande + 30, $altura);
                //linha serie
                $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 55, $altura_linha);
                //posicao serie
                $serie_x = 35;
                if ($ct_analfabeto <= 1) {
                    $texto = $ct_analfabeto == 0 ? "Total\nAlfabetizado" : "Total\nNão-Alfabetizado";
                } else {
                    $texto = "Total Geral";
                }
                $this->pdf->escreve_relativo($texto, $serie_x, $inicio_escrita_y + 5, 50, 50, $fonte, 6, $corTexto, 'left');
                //posicao numero turmas
                $turma_x = 25 + $expande;
                $this->pdf->escreve_relativo($total_geral_turmas, $turma_x, $inicio_escrita_y + 5, 100, 50, $fonte, 10, $corTexto, 'center');
                //posicao numero alunos
                $alunos_x = 40 + $expande;
                $total_geral_alunos = $ct_analfabeto <= 1 ? $total_geral_alunos : $total_geral_alunos_ambos;
                $this->pdf->escreve_relativo($total_geral_alunos, $alunos_x + 15, $inicio_escrita_y + 5, 100, 40, $fonte, 10, $corTexto, 'center');
                $total_defasados = 0;
                $campo_total = $ct_analfabeto <= 1 ? "total_geral" : "total_geral_ambos";
                foreach ($this->array_ano_idade as $key => $value) {
                    $total_defasados += $this->array_ano_idade[$key]["{$campo_total}"];
                }
                if ($total_geral_alunos > 0) {
                    $media = $total_defasados / $total_geral_alunos * 100;
                } else {
                    $media = 0;
                }
                $this->pdf->escreve_relativo($total_defasados, 750, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                $this->pdf->escreve_relativo($media . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                //$this->qt_anos = 1;
                $largura_anos = 615;
                //$this->idade_inicial = 6;
                $array_ano_idade = array();
                //$incremental = (int)($largura_anos/ $this->qt_anos);
                if (sizeof($this->array_ano_idade) > 0) {
                    $incremental = (int) ($largura_anos / sizeof($this->array_ano_idade));
                } else {
                    $incremental = 0;
                }
                $reta_ano_x = $alunos_x + 80;
                $largura_quadrado = $incremental - 5;
                //$incremental = (int)($largura_anos/ $this->qt_anos);
                $reta_ano_x = $alunos_x + 85;
                $ajuste = 0;
                //for($ct = $this->ano - $this->idade_inicial ;$ct > $this->ano - $this->idade_inicial - $this->qt_anos;$ct--)
                $campo_total = $ct_analfabeto <= 1 ? "total_geral" : "total_geral_ambos";
                foreach ($this->array_ano_idade as $key => $ano) {
                    //ajuste2
                    $this->pdf->escreve_relativo($ano["{$campo_total}"], $reta_ano_x - 5, $inicio_escrita_y + 5, $incremental, $altura_linha, $fonte, 10, $corTexto, 'center');
                    //$this->pdf->quadrado_relativo( $reta_ano_x - $ajuste,$inicio_escrita_y, $largura_quadrado + $ajuste + ($key == sizeof($array_ano_idade)-1? 5 : 0), $altura_linha,0.5,"#A1B3BD","");
                    $ajuste = 5;
                    //$anos_x += $incremental;
                    $reta_ano_x += $incremental;
                    //reta
                    if ($key < sizeof($this->array_ano_idade) - 1) {
                        $this->pdf->linha_relativa($reta_ano_x - 5, $inicio_escrita_y, 0, $altura_linha);
                    } else {
                        $largura_quadrado += 4.5;
                    }
                }
                $this->pdf->linha_relativa(780, $inicio_escrita_y, 0, 23);
                $inicio_escrita_y += 20;
                /**
                 *
                 */
                //	}//* *akiii
                if ($ct_analfabeto == 1) {
                    $this->rodape();
                }
                $this->pdf->ClosePage();
                /**
                 *
                 */
            }
        }
        $this->get_link = $this->pdf->GetLink();
        //header( "location: " . $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>";
    }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        if ($this->is_padrao || $this->ano == 2007) {
            $this->semestre = null;
        }
        if ($this->ref_ref_cod_serie) {
            $this->ref_cod_serie = $this->ref_ref_cod_serie;
        }
        $fonte = 'arial';
        $corTexto = '#000000';
        if (empty($this->ref_cod_turma)) {
            echo '<script>
	     			alert("Erro ao gerar relatório!\\nNenhuma turma selecionada!");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        $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_turma = new clsPmieducarTurma($this->ref_cod_turma);
        $det_turma = $obj_turma->detalhe();
        $this->nm_turma = $det_turma['nm_turma'];
        $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
        $det_serie = $obj_serie->detalhe();
        $this->nm_serie = $det_serie['nm_serie'];
        $obj_calendario = new clsPmieducarEscolaAnoLetivo();
        $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1, null);
        if (!$lista_calendario) {
            echo '<script>
	     			alert("Escola não possui calendário definido para este ano");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        $calendario = array_shift($lista_calendario);
        //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);
        $qtd_dias = $NumeroDiasMes;
        $this->pdf = new clsPDF("Acompanhamento Mensal - {$this->ano}", "Acompanhamento Mensal - {$this->meses_do_ano[$this->mes]}", "A4", "", false, false);
        $this->pdf->largura = 842.0;
        $this->pdf->altura = 595.0;
        $this->pdf->OpenPage();
        $this->addCabecalho();
        $this->pdf->linha_relativa(30, 120, 780, 0);
        $this->pdf->linha_relativa(30, 120, 0, 135);
        $this->pdf->linha_relativa(30, 120, 255, 135);
        $this->pdf->escreve_relativo("Livros", 40, 245, 60, 15, null, 8);
        $this->pdf->escreve_relativo("Professor(a) / Aluno", 200, 125, 80, 13, null, 8);
        $obj_matricula = new clsPmieducarMatriculaTurma();
        $obj_matricula->setOrderby('nome_ascii');
        $lst_matricula = $obj_matricula->lista(null, $this->ref_cod_turma, null, null, null, null, null, null, 1, $this->ref_cod_serie, $this->ref_cod_curso, $this->ref_cod_escola, $this->ref_cod_instituicao, null, null, array(1, 2, 3), null, null, $this->ano, null, true, null, null, 1, null, null, null, null, $this->semestre);
        if ($lst_matricula) {
            foreach ($lst_matricula as $ordem => $matricula) {
                $this->pdf->linha_relativa(285 + $ordem * 13, 120, 0, 135);
                $nome = $matricula['nome'];
                $nome = explode(" ", $nome);
                if (strlen($nome[0]) + strlen($nome[1]) < 13) {
                    $nome = $nome[0] . " " . $nome[1];
                } else {
                    $nome = $nome[0];
                }
                //$nome = str_replace(" ","|",$nome);
                $nome = str2upper(substr($nome, 0, 16));
                //$nome = wordwrap(str2upper(substr($nome,0,16)),1,"\n",true);
                //$nome = str_replace("|","",$nome);
                //$nome = str_replace("|","",$nome);
                //$nome = wordwrap($nome,1,"\n",true);
                //$nome = substr($nome,0,20);
                //$this->pdf->escreve_relativo($nome, 287+($ordem*13), 125, 130, 135, null, 8);
                $imagem = girarTextoImagem("{$nome}", 8, 125);
                $this->pdf->InsertJpng('png', $imagem, 287 + $ordem * 13, 250, 1);
                ////die("$ this->pdf->escreve_relativo(\"{$nome}\", 287+($ordem*13), 145, 13, 135, null, 8);");
                //$this->pdf->escreve_relativo("A\nl\ne\nx\ns\na\nn\nd\nr\no\nP\na\nc\nh\ne\nc\no", 287+($ordem*13), 145, 13, 135, null, 8);
            }
        }
        for ($i = 0; $i < 40; $i++) {
            $this->pdf->linha_relativa(285 + $i * 13, 120, 0, 135);
            /*if($i+1 <= $qtd_dias)
            		{
            			$this->pdf->escreve_relativo("", 287+($i*13), 145, 13, 135, null, 8);
            		}*/
        }
        $this->pdf->linha_relativa(810, 120, 0, 135);
        //fim
        $this->pdf->linha_relativa(30, 255, 780, 0);
        $total_alunos = 100;
        $qtd_quebra = 25;
        $base = 242;
        $linha = 1;
        //if($lst_matricula)
        //{
        //foreach ($lst_matricula as $ordem => $matricula)
        //{
        //$ordem++;
        //$ordem = sprintf("%02d",$ordem);
        for ($ordem = 1; $ordem <= 22; $ordem++) {
            if ($linha % $qtd_quebra == 0) {
                //nova pagina
                $this->pdf->ClosePage();
                $this->pdf->OpenPage();
                $base = 30;
                $linha = 0;
                $this->pdf->linha_relativa(30, 30, 780, 0);
                $qtd_quebra = 35;
            }
            $this->pdf->linha_relativa(30, $base + $linha * 13, 0, 13);
            $this->pdf->linha_relativa(60, $base + $linha * 13, 0, 13);
            $this->pdf->linha_relativa(30, $base + 13 + $linha * 13, 780, 0);
            $this->pdf->escreve_relativo($ordem, 40, $base + 3 + $linha * 13, 15, 15, null, 8);
            $this->pdf->escreve_relativo('', 65, $base + 3 + $linha * 13, 215, 15, null, 8);
            for ($i = 0; $i <= 38; $i++) {
                $this->pdf->linha_relativa(285 + $i * 13, $base + $linha * 13, 0, 13);
            }
            $this->pdf->linha_relativa(285 + $i * 13, $base + $linha * 13, 0, 13);
            //total
            $this->pdf->linha_relativa(810, $base + $linha * 13, 0, 13);
            //fim
            $linha++;
            //}
        }
        //}
        /*//escrever total
        		$this->pdf->linha_relativa(30, $base+($linha*13), 0, 13);
        		$this->pdf->linha_relativa(60, $base+($linha*13), 0, 13);
        
        		$this->pdf->escreve_relativo("Total", 35, ($base+3)+($linha*13), 20, 15, null, 8);
        
        		for($i=0; $i<38; $i++)
        		{
        			$this->pdf->linha_relativa(285+($i*13), $base+($linha*13), 0, 13);
        		}
        		$this->pdf->linha_relativa(765, $base+($linha*13), 0, 15);
        		$this->pdf->linha_relativa(780, $base+($linha*13), 0, 15);
        		$this->pdf->linha_relativa(795, $base+($linha*13), 0, 15);
        		$this->pdf->linha_relativa(285+($i*13), $base+($linha*13), 0, 15);//total
        
        		$this->pdf->linha_relativa(810, $base+($linha*13), 0, 15);//fim
        		$this->pdf->linha_relativa(30, $base+(($linha+1)*13), 780, 0);*/
        $this->pdf->quadrado_relativo(400, 550, 394, 15);
        $this->pdf->quadrado_relativo(400, 560, 394, 15);
        for ($mes = 1; $mes <= 13; $mes++) {
            $this->pdf->escreve_relativo($this->meses_do_ano_abr[$mes], 370 + $mes * 30 + 5, 550, 50, 15, null, 8);
            if ($mes < 13) {
                $this->pdf->linha_relativa(394 + $mes * 30 + 5, 550, 0, 25);
            }
        }
        $this->pdf->ClosePage();
        $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>";
    }
 /**
  * @global $coreExt
  */
 function renderHTML()
 {
     global $coreExt;
     $config = $coreExt['Config']->app->template->pdf;
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     if (empty($this->ref_cod_instituicao)) {
         echo '
   <script>
     alert("Erro ao gerar relatório!\\nNenhuma instituição selecionada!");
     window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
   </script>';
         return TRUE;
     }
     $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
     $det_instituicao = $obj_instituicao->detalhe();
     $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     if ($this->ref_cod_escola) {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $this->nm_escola = $det_escola['nome'];
     }
     if ($this->ref_cod_escola) {
         $sql = sprintf('
     SELECT
       s.cod_servidor,
       p.nome,
       sn.nm_subnivel,
       sn.salario,
       n.nm_nivel
     FROM
       pmieducar.servidor s,
       pmieducar.subnivel sn,
       pmieducar.nivel n,
       cadastro.pessoa p,
       pmieducar.servidor_alocacao a
     WHERE
       s.cod_servidor = p.idpes
       AND s.ref_cod_subnivel IS NOT NULL
       AND s.ref_cod_subnivel = sn.cod_subnivel
       AND sn.ref_cod_nivel = n.cod_nivel
       AND s.ref_cod_instituicao = %d
       AND a.ref_cod_servidor = s.cod_servidor
       AND a.ref_cod_escola = %d
       %s
       AND s.ativo = 1
     ORDER BY
       p.nome', $this->ref_cod_instituicao, $this->ref_cod_escola, $where);
     } else {
         $sql = sprintf('
     SELECT
       s.cod_servidor,
       p.nome,
       sn.nm_subnivel,
       sn.salario,
       n.nm_nivel
     FROM
       pmieducar.servidor s,
       pmieducar.subnivel sn,
       pmieducar.nivel n,
       cadastro.pessoa p
     WHERE
       s.cod_servidor = p.idpes
       AND s.ref_cod_subnivel IS NOT NULL
       AND s.ref_cod_subnivel = sn.cod_subnivel
       AND sn.ref_cod_nivel = n.cod_nivel
       AND s.ref_cod_instituicao = %d
       %s
       AND s.ativo  = 1
     ORDER BY
       p.nome', $this->ref_cod_instituicao, $where);
     }
     $db = new clsBanco();
     $db->Consulta($sql);
     if ($db->Num_Linhas()) {
         $relatorio = new relatorios('Servidores por Nível', 210, FALSE, 'Servidores por Nível', 'A4', $config->get($config->titulo, 'i-Educar') . "\n" . $this->nm_escola);
         $relatorio->setMargem(20, 20, 50, 50);
         $relatorio->exibe_produzido_por = FALSE;
         $relatorio->novalinha(array('Nome', 'Nível', 'Salário'), 0, 16, TRUE, 'arial', array(75, 320, 100), '#515151', '#d3d3d3', '#FFFFFF', FALSE, TRUE);
         while ($db->ProximoRegistro()) {
             list($cod_servidor, $nome, $subnivel, $salario, $nivel) = $db->Tupla();
             $relatorio->novalinha(array($nome, "{$nivel[$subnivel]}", $salario), 0, 16, FALSE, 'arial', array(75, 330, 80), '#515151', '#d3d3d3', '#FFFFFF', FALSE, FALSE);
         }
         $this->get_link = $relatorio->fechaPdf();
         echo sprintf('
     <script>
       window.onload = function()
       {
         parent.EscondeDiv("LoadImprimir");
         window.location="download.php?filename=%s"
       }
     </script>', $this->get_link);
         echo sprintf('
     <html>
       <center>
         Se o download não iniciar automaticamente <br /><a target="blank" href="%s" style="font-size: 16px; color: #000000; text-decoration: underline;">clique aqui!</a><br><br>
         <span style="font-size: 10px;">Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>
           Clique na Imagem para Baixar o instalador<br><br>
           <a href="http://www.adobe.com.br/products/acrobat/readstep2.html" target="new"><br><img src="imagens/acrobat.gif" width="88" height="31" border="0"></a>
         </span>
       </center>
     </html>', $this->get_link);
     } else {
         echo '
     <script>
       window.onload = function()
       {
         parent.EscondeDiv("LoadImprimir");
       }
     </script>
     <center>Nenhum servidor cadastrado ou categorizado em níveis.</center>';
     }
 }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        if ($this->ref_ref_cod_serie) {
            $this->ref_cod_serie = $this->ref_ref_cod_serie;
        }
        $fonte = 'arial';
        $corTexto = '#000000';
        /*if(empty($this->ref_cod_turma))
        		{
        	     	echo '<script>
        	     			alert("Erro ao gerar relatório!\nNenhuma turma selecionada!");
        	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
        	     		</script>';
        	     	return true;
        		}*/
        if ($this->ref_cod_escola) {
            $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
            $det_escola = $obj_escola->detalhe();
            $this->nm_escola = $det_escola['nome'];
            $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
            $det_instituicao = $obj_instituicao->detalhe();
            $this->nm_instituicao = $det_instituicao['nm_instituicao'];
        }
        $obj_calendario = new clsPmieducarEscolaAnoLetivo();
        $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1, null);
        if (!$lista_calendario) {
            echo '<script>
	     			alert("Escola não possui calendário definido para este ano");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        if ($this->ref_cod_turma) {
            $where = "\tAND ref_cod_turma = {$this->ref_cod_turma}";
        }
        if ($this->ref_cod_serie) {
            $where .= "\tAND ref_ref_cod_serie   = {$this->ref_cod_serie}";
        }
        //DISTINCT extract( year from ( age( now(), data_nasc ) ) ) as idade
        $sql = "SELECT EXTRACT(YEAR FROM age( to_date ( EXTRACT( year from now() )   || '-12-31' ,'yyyy-mm-dd') , data_nasc) ) as idade\n\t\t\t\t  FROM pmieducar.matricula_turma mt\n\t\t\t\t       ,pmieducar.matricula      m\n\t\t\t\t       ,pmieducar.aluno          a\n\t\t\t\t       ,cadastro.fisica          f\n\t\t\t\t WHERE cod_matricula = ref_cod_matricula\n\t\t\t\t   AND mt.ativo = 1\n\t\t\t\t   AND m.ativo  = 1\n\t\t\t\t   AND m.ref_cod_aluno = a.cod_aluno\n\t\t\t\t   AND f.idpes = a.ref_idpes\n\t\t\t\t   {$where}\n\t\t\t\t   AND ref_ref_cod_escola  = {$this->ref_cod_escola}\n\t\t\t\t   ANd ref_cod_curso       = {$this->ref_cod_curso}\n\t\t\t\t   AND data_nasc IS NOT NULL\n\t\t\t\t   AND m.ano = {$this->ano}\n\t\t\t\t ORDER BY idade";
        $db = new clsBanco();
        $db->Consulta($sql);
        $array_idades = array();
        if ($db->Num_Linhas()) {
            while ($db->ProximoRegistro()) {
                $registro = $db->Tupla();
                $array_idades_[$registro['idade']] = "-";
                $array_idades[$registro['idade']] = $registro['idade'];
            }
        } else {
            echo '<script>
	     			alert("Nenhum aluno está matriculado");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        if ($array_idades) {
            $relatorio = new relatorios("Relatório de alunos por idades       Ano - {$this->ano}", 210, false, "Relatório de alunos por idade", "A4", "{$this->nm_instituicao}\n{$this->nm_escola}\n\n" . date("d/m/Y"));
            $relatorio->setMargem(20, 20, 50, 50);
            $relatorio->exibe_produzido_por = false;
            $array_cab = array_merge(array("Série", "Turma"), $array_idades);
            $array_cab[] = "Total";
            $divisoes = array(100, 80);
            $divisoes_texto = array(100, 80);
            $tamanho_divisao = 23 + (15 - count($array_idades) - 1) * 2;
            for ($ct = 0; $ct < 20; $ct++) {
                $divisoes[] = $tamanho_divisao;
                $divisoes_texto[] = $tamanho_divisao;
            }
            $relatorio->novalinha($array_cab, 0, 16, true, "arial", $divisoes, "#515151", "#d3d3d3", "#ffffff", false, true);
            $db = new clsBanco();
            $obj_curso = new clsPmieducarCurso();
            $lst_curso = $obj_curso->lista($this->ref_cod_curso, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
            if ($lst_curso) {
                foreach ($lst_curso as $curso) {
                    $relatorio->novalinha(array($curso['nm_curso']), 0, 16, true, "arial", false, "#515151", "#d3d3d3", "#ffffff", false, true);
                    $obj = new clsPmieducarSerie();
                    $obj->setOrderby('cod_serie,etapa_curso');
                    $lista_serie_curso = $obj->lista($this->ref_cod_serie, null, null, $curso['cod_curso'], null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
                    if ($lista_serie_curso) {
                        foreach ($lista_serie_curso as $serie) {
                            $obj_turma = new clsPmieducarTurma();
                            $lst_turma = $obj_turma->lista($this->ref_cod_turma, null, null, $serie['cod_serie'], $this->ref_cod_escola, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, $curso['cod_curso'], $this->ref_cod_instituicao);
                            if ($lst_turma) {
                                foreach ($lst_turma as $turma) {
                                    $array_idades = $array_idades_;
                                    $total = 0;
                                    $sql = "SELECT count(1) as total\n\t\t       \t\t\t\t\t\t\t\t\t   ,EXTRACT(YEAR FROM age( to_date ( EXTRACT( year from now() )   || '-12-31' ,'yyyy-mm-dd') , data_nasc) ) as idade\n\t\t\t\t\t\t\t\t\t\t\t  FROM pmieducar.matricula_turma mt\n\t\t\t\t\t\t\t\t\t\t\t       ,pmieducar.matricula      m\n\t\t\t\t\t\t\t\t\t\t\t       ,pmieducar.aluno          a\n\t\t\t\t\t\t\t\t\t\t\t       ,cadastro.fisica          f\n\t\t\t\t\t\t\t\t\t\t\t WHERE cod_matricula = ref_cod_matricula\n\t\t\t\t\t\t\t\t\t\t\t   AND mt.ativo = 1\n\t\t\t\t\t\t\t\t\t\t\t   AND m.ativo  = 1\n\t\t\t\t\t\t\t\t\t\t\t   AND m.ref_cod_aluno = a.cod_aluno\n\t\t\t\t\t\t\t\t\t\t\t   AND f.idpes = a.ref_idpes\n\t\t\t\t\t\t\t\t\t\t\t   AND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t   AND ref_ref_cod_serie   = {$serie['cod_serie']}\n\t\t\t\t\t\t\t\t\t\t\t   AND ref_ref_cod_escola  = {$this->ref_cod_escola}\n\t\t\t\t\t\t\t\t\t\t\t   ANd ref_cod_curso       = {$curso['cod_curso']}\n\t\t\t\t\t\t\t\t\t\t\t   AND m.ano = {$this->ano}\n\t\t\t\t\t\t\t\t\t\t\t   AND aprovado IN (1,2,3)\n\t\t\t\t\t\t\t\t\t\t\t   \n\t\t\t\t\t\t\t\t\t\t\t   AND data_nasc IS NOT NULL\n\t\t\t\t\t\t\t\t\t\t\t GROUP BY EXTRACT(YEAR FROM age( to_date ( EXTRACT( year from now() )   || '-12-31' ,'yyyy-mm-dd') , data_nasc) )\n\t\t\t\t\t\t\t\t\t\t\t ORDER BY idade";
                                    $db->Consulta($sql);
                                    if ($db->Num_Linhas()) {
                                        while ($db->ProximoRegistro()) {
                                            $registro = $db->Tupla();
                                            $array_idades[$registro['idade']] = $registro['total'];
                                            $total += $registro['total'];
                                        }
                                        $valores = array_merge(array($serie['nm_serie'], $turma['nm_turma']), $array_idades, array($total));
                                        $relatorio->novalinha($valores, 0, 16, false, "arial", $divisoes, "#515151", "#d3d3d3", "#ffffff", false, true);
                                    }
                                }
                            }
                        }
                    }
                }
                //$relatorio->quebraPagina();
            }
            $this->get_link = $relatorio->fechaPdf();
        }
        echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $this->get_link . "'}</script>";
        echo "<html><center>Se o download não iniciar automaticamente <br /><a target='blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n\t\t\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t<a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br><img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\"></a>\n\t\t\t</span>\n\t\t\t</center>";
    }
Example #16
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Turma - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $lista_busca = array("Ano", "Turma", "Turno", "S&eacute;rie", "Curso");
     $obj_permissao = new clsPermissoes();
     $nivel_usuario = $obj_permissao->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = "Escola";
         //$lista_busca[] = "Institui&ccedil;&atilde;o";
     } else {
         if ($nivel_usuario == 2) {
             $lista_busca[] = "Escola";
         }
     }
     $lista_busca[] = "Situação";
     $this->addCabecalhos($lista_busca);
     $get_escola = true;
     //		$get_escola_curso = true;
     $get_escola_curso_serie = true;
     $sem_padrao = true;
     $get_curso = true;
     include "include/pmieducar/educar_campo_lista.php";
     if ($this->ref_cod_escola) {
         $this->ref_ref_cod_escola = $this->ref_cod_escola;
     }
     $helperOptions = array();
     $this->inputsHelper()->dynamic('anoLetivo', array(), $helperOptions);
     $this->campoTexto("nm_turma", "Turma", $this->nm_turma, 30, 255, false);
     $this->campoLista("visivel", "Situação", array("" => "Selecione", "1" => "Ativo", "2" => "Inativo"), $this->visivel);
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_turma = new clsPmieducarTurma();
     $obj_turma->setOrderby("nm_turma ASC");
     $obj_turma->setLimite($this->limite, $this->offset);
     if ($this->visivel == 1) {
         $visivel = true;
     } elseif ($this->visivel == 2) {
         $visivel = false;
     } else {
         $visivel = array("true", "false");
     }
     $lista = $obj_turma->lista2(null, null, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, $this->nm_turma, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, $this->ref_cod_curso, $this->ref_cod_instituicao, null, null, null, null, null, $visivel, null, null, $this->ano);
     $total = $obj_turma->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         $ref_cod_escola = "";
         $nm_escola = "";
         foreach ($lista as $registro) {
             // pega detalhes de foreign_keys
             /*	if( class_exists( "clsPmieducarEscolaSerie" ) )
             			{
             				$obj_ref_ref_cod_serie = new clsPmieducarEscolaSerie( $registro["ref_ref_cod_escola"], $registro["ref_ref_cod_serie"] );
             				$det_ref_ref_cod_serie = $obj_ref_ref_cod_serie->detalhe();
             				$registro["ref_ref_cod_serie"] = $det_ref_ref_cod_serie["ref_cod_serie"];
             			}
             			else
             			{
             				$registro["ref_ref_cod_serie"] = "Erro na geracao";
             				echo "<!--\nErro\nClasse nao existente: clsPmieducarEscolaSerie\n-->";
             			}*/
             /*if( class_exists( "clsPmieducarCurso" ) )
             		{
             			$obj_ref_cod_curso = new clsPmieducarCurso( $registro["ref_cod_curso"] );
             			$det_ref_cod_curso = $obj_ref_cod_curso->detalhe();
             			$registro["ref_cod_curso"] = $det_ref_cod_curso["nm_curso"];
             		}
             		else
             		{
             			$registro["ref_cod_curso"] = "Erro na geracao";
             			echo "<!--\nErro\nClasse nao existente: clsPmieducarCurso\n-->";
             		}
             		if( class_exists( "clsPmieducarInstituicao" ) )
             		{
             			$obj_cod_instituicao = new clsPmieducarInstituicao( $registro["ref_cod_instituicao"] );
             			$obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
             			$registro["ref_cod_instituicao"] = $obj_cod_instituicao_det["nm_instituicao"];
             		}
             		else
             		{
             			$registro["ref_cod_instituicao"] = "Erro na gera&ccedil;&atilde;o";
             			echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarInstituicao\n-->";
             		}*/
             if (class_exists("clsPmieducarEscola") && $registro["ref_ref_cod_escola"] != $ref_cod_escola) {
                 $ref_cod_escola = $registro["ref_ref_cod_escola"];
                 $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_ref_cod_escola"]);
                 $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
                 $ref_cod_escola = $registro["ref_ref_cod_escola"];
                 $nm_escola = $det_ref_cod_escola["nome"];
             }
             /*$obj_ser = new clsPmieducarSerie( $registro["ref_ref_cod_serie"], null, null, $this->ref_cod_curso );
             		$det_ser = $obj_ser->detalhe();
             		$obj_cur = new clsPmieducarCurso( $det_ser["ref_cod_curso"] );
             		$det_cur = $obj_cur->detalhe();*/
             $lista_busca = array("<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">{$registro["ano"]}</a>", "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">{$registro["nm_turma"]}</a>");
             if ($registro["turma_turno_id"]) {
                 $options = array('params' => $registro["turma_turno_id"], 'return_only' => 'first-field');
                 $turno = Portabilis_Utils_Database::fetchPreparedQuery("select nome from pmieducar.turma_turno where id = \$1", $options);
                 $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">{$turno}</a>";
             } else {
                 $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\"></a>";
             }
             if ($registro["nm_serie"]) {
                 $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">{$registro["nm_serie"]}</a>";
             } else {
                 $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">-</a>";
             }
             $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">{$registro["nm_curso"]}</a>";
             if ($nivel_usuario == 1) {
                 if ($nm_escola) {
                     $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">{$nm_escola}</a>";
                 } else {
                     $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">-</a>";
                 }
                 //$lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">{$registro["nm_instituicao"]}</a>";
             } else {
                 if ($nivel_usuario == 2) {
                     if ($nm_escola) {
                         $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">{$nm_escola}</a>";
                     } else {
                         $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">-</a>";
                     }
                 }
             }
             if (dbBool($registro["visivel"])) {
                 $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">Ativo</a>";
             } else {
                 $lista_busca[] = "<a href=\"educar_turma_det.php?cod_turma={$registro["cod_turma"]}\">Inativo</a>";
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_turma_lst.php", $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(586, $this->pessoa_logada, 7)) {
         $this->acao = "go(\"educar_turma_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "i-Educar", "educar_index.php" => "Escola", "" => "Lista de Turmas"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 function Gerar()
 {
     if ($_POST) {
         foreach ($_POST as $campo => $val) {
             if (is_string($val)) {
                 $val = urldecode($val);
             }
             $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
         }
     }
     $obj_inst = new clsPmieducarInstituicao($this->ref_ref_cod_instituicao);
     $inst_det = $obj_inst->detalhe();
     $this->campoRotulo('nm_instituicao', 'Instituição', $inst_det['nm_instituicao']);
     $this->campoOculto('ref_ref_cod_instituicao', $this->ref_ref_cod_instituicao);
     // Dados do servidor
     $objTemp = new clsPmieducarServidor($this->ref_cod_servidor);
     $det = $objTemp->detalhe();
     if ($det) {
         foreach ($det as $key => $registro) {
             $this->{$key} = $registro;
         }
     }
     if ($this->ref_cod_servidor) {
         $objTemp = new clsFuncionario($this->ref_cod_servidor);
         $detalhe = $objTemp->detalhe();
         $detalhe = $detalhe['idpes']->detalhe();
         $nm_servidor = $detalhe['nome'];
     }
     $this->campoRotulo('nm_servidor', 'Servidor', $nm_servidor);
     $this->campoOculto('ref_cod_servidor', $this->ref_cod_servidor);
     if ($_POST['alocacao_array']) {
         $this->alocacao_array = unserialize(urldecode($_POST['alocacao_array']));
     }
     if ($_POST['alocacao_excluida_array']) {
         $this->alocacao_excluida_array = unserialize(urldecode($_POST['alocacao_excluida_array']));
     }
     if ($_POST['carga_horaria_alocada'] && $_POST['periodo']) {
         $aux = array();
         $aux['carga_horaria_alocada'] = $_POST['carga_horaria_alocada'];
         $aux['periodo'] = $_POST['periodo'];
         $aux['ref_cod_escola'] = $_POST['ref_cod_escola'];
         $aux['novo'] = 1;
         $this->alocacao_array[] = $aux;
         unset($this->periodo);
         unset($this->carga_horaria_alocada);
         unset($this->ref_cod_escola);
     }
     // Exclusão
     if ($this->alocacao_array) {
         foreach ($this->alocacao_array as $key => $alocacao) {
             if (is_numeric($_POST['excluir_periodo'])) {
                 if ($_POST['excluir_periodo'] == $key) {
                     $this->alocacao_excluida_array[] = $alocacao;
                     unset($this->alocacao_array[$key]);
                     unset($this->excluir_periodo);
                 }
             }
         }
     }
     // Carga horária
     $carga = $this->carga_horaria_disponivel;
     $this->campoRotulo('carga_horaria_disponivel', 'Carga Horária', $carga . ':00');
     foreach ($this->alocacao_array as $alocacao) {
         $carga_horaria_ = explode(':', $alocacao['carga_horaria_alocada']);
         $horas += (int) $carga_horaria_[0];
         $minutos += (int) $carga_horaria_[1];
     }
     $total = $horas * 60 + $minutos;
     $rest = $carga * 60 - $total;
     $total = sprintf('%02d:%02d', $total / 60, $total % 60);
     $rest = sprintf('%02d:%02d', $rest / 60, $rest % 60);
     $this->campoRotulo('horas_utilizadas', 'Horas Utilizadas', $total);
     $this->campoRotulo('horas_restantes', 'Horas Restantes', $rest);
     $this->campoOculto('horas_restantes_', $rest);
     $this->campoQuebra();
     $this->campoOculto('excluir_periodo', '');
     unset($aux);
     // Escolas
     $obj_escola = new clsPmieducarEscola();
     $permissao = new clsPermissoes();
     // Exibe apenas a escola ao qual o usuário de nível escola está alocado
     if (4 == $permissao->nivel_acesso($this->pessoa_logada)) {
         $lista_escola = $obj_escola->lista($permissao->getEscola($this->pessoa_logada), NULL, NULL, $this->ref_ref_cod_instituicao, NULL, NULL, NULL, NULL, NULL, NULL, 1);
         $nome_escola = $lista_escola[0]['nome'];
         $cod_escola = $lista_escola[0]['cod_escola'];
         $this->campoTextoInv('ref_cod_escola_label', 'Escola', $nome_escola, 100, 255, FALSE);
         $this->campoOculto('ref_cod_escola', $cod_escola);
     } else {
         $lista_escola = $obj_escola->lista(NULL, NULL, NULL, $this->ref_ref_cod_instituicao, NULL, NULL, NULL, NULL, NULL, NULL, 1);
         $opcoes = array('' => 'Selecione');
         if ($lista_escola) {
             foreach ($lista_escola as $escola) {
                 $opcoes[$escola['cod_escola']] = $escola['nome'];
             }
         }
         $this->campoLista('ref_cod_escola', 'Escola', $opcoes, $this->ref_cod_escola, '', FALSE, '', '', FALSE, FALSE);
     }
     $periodo = array(1 => 'Matutino', 2 => 'Vespertino', 3 => 'Noturno');
     self::$periodos = $periodo;
     $this->campoLista('periodo', 'Período', $periodo, $this->periodo, NULL, FALSE, '', '', FALSE, FALSE);
     $this->campoHora('carga_horaria_alocada', 'Carga Horária', $this->carga_horaria_alocada, FALSE);
     // Altera a string de descrição original do campo hora
     $this->campos['carga_horaria_alocada'][6] = sprintf('Formato hh:mm (máximo de %d horas por período)', clsPmieducarServidorAlocacao::$cargaHorariaMax);
     $this->campoOculto('alocacao_array', serialize($this->alocacao_array));
     $this->campoOculto('alocacao_excluida_array', serialize($this->alocacao_excluida_array));
     $this->campoRotulo('bt_incluir_periodo', 'Período', "<a href='#' onclick=\"if(validaHora()) { document.getElementById('incluir_periodo').value = 'S'; document.getElementById('tipoacao').value = ''; document.{$this->__nome}.submit();}\"><img src='imagens/nvp_bot_adiciona.gif' title='Incluir' border=0></a>");
     if ($this->alocacao_array) {
         $excluir_ok = FALSE;
         if ($_POST['excluir_periodo'] || $_POST['excluir_periodo'] == '0') {
             $excluir_ok = TRUE;
         }
         foreach ($this->alocacao_array as $key => $alocacao) {
             $obj_permissoes = new clsPermissoes();
             $link_excluir = '';
             $obj_escola = new clsPmieducarEscola($alocacao['ref_cod_escola']);
             $det_escola = $obj_escola->detalhe();
             $det_escola = $det_escola['nome'];
             if ($obj_permissoes->permissao_excluir(635, $this->pessoa_logada, 7)) {
                 $show = TRUE;
                 if (4 == $permissao->nivel_acesso($this->pessoa_logada) && $alocacao['ref_cod_escola'] != $permissao->getEscola($this->pessoa_logada)) {
                     $show = FALSE;
                 }
                 $link_excluir = $show ? "<a href='#' onclick=\"getElementById('excluir_periodo').value = '{$key}'; getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bola_xis.gif' title='Excluir' border=0></a>" : "";
             }
             // @todo CoreExt_Enum
             switch ($alocacao['periodo']) {
                 case 1:
                     $nm_periodo = 'Matutino';
                     break;
                 case 2:
                     $nm_periodo = 'Vespertino';
                     break;
                 case 3:
                     $nm_periodo = 'Noturno';
                     break;
             }
             // Períodos usados na escola
             self::$escolasPeriodos[$alocacao['ref_cod_escola']][$alocacao['periodo']] = $alocacao['periodo'];
             $this->campoTextoInv('periodo_' . $key, '', $nm_periodo, 10, 10, FALSE, FALSE, TRUE, '', '', '', '', 'periodo');
             $this->campoTextoInv('carga_horaria_alocada_' . $key, '', substr($alocacao['carga_horaria_alocada'], 0, 5), 5, 5, FALSE, FALSE, TRUE, '', '', '', '', 'ds_carga_horaria_');
             $this->campoTextoInv('ref_cod_escola_' . $key, '', $det_escola, 70, 255, FALSE, FALSE, FALSE, '', $link_excluir, '', '', 'ref_cod_escola_');
         }
     }
     $this->campoOculto('incluir_periodo', '');
     $this->campoQuebra();
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     unset($_SESSION['emprestimo']['cod_cliente']);
     unset($_SESSION['emprestimo']['ref_cod_biblioteca']);
     session_write_close();
     $this->titulo = "Exemplar Empr&eacute;stimo - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $lista_busca = array("Cliente", "Tombo", "Exemplar", "Data Retirada");
     // Filtros de Foreign Keys
     $get_escola = true;
     $get_biblioteca = true;
     $get_cabecalho = "lista_busca";
     include "include/pmieducar/educar_campo_lista.php";
     $this->addCabecalhos($lista_busca);
     // Filtros de Foreign Keys
     $this->campoTexto("nm_cliente", "Cliente", $this->nm_cliente, 30, 255, false, false, false, "", "<img border=\"0\" onclick=\"pesquisa_cliente();\" id=\"ref_cod_cliente_lupa\" name=\"ref_cod_cliente_lupa\" src=\"imagens/lupa.png\"\\/>");
     $this->campoOculto("ref_cod_cliente", $this->ref_cod_cliente);
     $this->campoTexto("nm_obra", "Obra", $this->nm_obra, 30, 255, false, false, false, "", "<img border=\"0\" onclick=\"pesquisa_obra();\" id=\"ref_cod_exemplar_lupa\" name=\"ref_cod_exemplar_lupa\" src=\"imagens/lupa.png\"\\/>");
     $this->campoOculto("ref_cod_acervo", $this->ref_cod_acervo);
     $this->campoNumero("ref_cod_exemplar", "Tombo", $this->ref_cod_exemplar, 15, 50);
     if ($this->ref_cod_biblioteca) {
         $this->cod_biblioteca = $this->ref_cod_biblioteca;
         $this->campoOculto("cod_biblioteca", $this->cod_biblioteca);
     } else {
         $this->cod_biblioteca = null;
         $this->campoOculto("cod_biblioteca", $this->cod_biblioteca);
     }
     // outros Filtros
     $this->campoData("data_retirada", "Data Retirada", $this->data_retirada, false);
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_exemplar_emprestimo = new clsPmieducarExemplarEmprestimo();
     $obj_exemplar_emprestimo->setOrderby("data_retirada ASC");
     $obj_exemplar_emprestimo->setLimite($this->limite, $this->offset);
     $lista = $obj_exemplar_emprestimo->lista(null, null, null, $this->ref_cod_cliente, $this->ref_cod_exemplar, $this->data_retirada, $this->data_retirada, null, null, null, false, $this->ref_cod_biblioteca, false, $this->ref_cod_instituicao, $this->ref_cod_escola, $this->nm_obra);
     $total = $obj_exemplar_emprestimo->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // muda os campos data
             $registro["data_retirada_time"] = strtotime(substr($registro["data_retirada"], 0, 16));
             $registro["data_retirada_br"] = date("d/m/Y", $registro["data_retirada_time"]);
             // pega detalhes de foreign_keys
             if (class_exists("clsPmieducarExemplar")) {
                 $obj_exemplar = new clsPmieducarExemplar($registro["ref_cod_exemplar"]);
                 $det_exemplar = $obj_exemplar->detalhe();
                 $acervo = $det_exemplar["ref_cod_acervo"];
                 $obj_acervo = new clsPmieducarAcervo($acervo);
                 $det_acervo = $obj_acervo->detalhe();
                 $registro["titulo"] = $det_acervo["titulo"];
             } else {
                 $registro["ref_cod_exemplar"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarExemplar\n-->";
             }
             if (class_exists("clsPmieducarCliente")) {
                 $obj_cliente = new clsPmieducarCliente($registro["ref_cod_cliente"]);
                 $det_cliente = $obj_cliente->detalhe();
                 $ref_idpes = $det_cliente["ref_idpes"];
                 $obj_pessoa = new clsPessoa_($ref_idpes);
                 $det_pessoa = $obj_pessoa->detalhe();
                 $registro["ref_cod_cliente"] = $det_pessoa["nome"];
             } else {
                 $registro["ref_cod_cliente"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarCliente\n-->";
             }
             if (class_exists("clsPmieducarBiblioteca")) {
                 $obj_ref_cod_biblioteca = new clsPmieducarBiblioteca($registro["ref_cod_biblioteca"]);
                 $det_ref_cod_biblioteca = $obj_ref_cod_biblioteca->detalhe();
                 $registro["ref_cod_biblioteca"] = $det_ref_cod_biblioteca["nm_biblioteca"];
             }
             if ($registro["ref_cod_instituicao"]) {
                 $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                 $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
                 $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
             }
             if ($registro["ref_cod_escola"]) {
                 $obj_ref_cod_escola = new clsPmieducarEscola();
                 $det_ref_cod_escola = array_shift($obj_ref_cod_escola->lista($registro["ref_cod_escola"]));
                 $registro["ref_cod_escola"] = $det_ref_cod_escola["nome"];
             }
             $lista_busca = array("<a href=\"educar_exemplar_emprestimo_det.php?cod_emprestimo={$registro["cod_emprestimo"]}\">{$registro["ref_cod_cliente"]}</a>", "<a href=\"educar_exemplar_emprestimo_det.php?cod_emprestimo={$registro["cod_emprestimo"]}\">{$registro["ref_cod_exemplar"]}</a>", "<a href=\"educar_exemplar_emprestimo_det.php?cod_emprestimo={$registro["cod_emprestimo"]}\">{$registro["titulo"]}</a>", "<a href=\"educar_exemplar_emprestimo_det.php?cod_emprestimo={$registro["cod_emprestimo"]}\">{$registro["data_retirada_br"]}</a>");
             if ($qtd_bibliotecas > 1 && ($nivel_usuario == 4 || $nivel_usuario == 8)) {
                 $lista_busca[] = "<a href=\"educar_exemplar_emprestimo_det.php?cod_emprestimo={$registro["cod_emprestimo"]}\">{$registro["ref_cod_biblioteca"]}</a>";
             } else {
                 if ($nivel_usuario == 1 || $nivel_usuario == 2 || $nivel_usuario == 4) {
                     $lista_busca[] = "<a href=\"educar_exemplar_emprestimo_det.php?cod_emprestimo={$registro["cod_emprestimo"]}\">{$registro["ref_cod_biblioteca"]}</a>";
                 }
             }
             if ($nivel_usuario == 1 || $nivel_usuario == 2) {
                 $lista_busca[] = "<a href=\"educar_exemplar_emprestimo_det.php?cod_emprestimo={$registro["cod_emprestimo"]}\">{$registro["ref_cod_escola"]}</a>";
             }
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "<a href=\"educar_exemplar_emprestimo_det.php?cod_emprestimo={$registro["cod_emprestimo"]}\">{$registro["ref_cod_instituicao"]}</a>";
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_exemplar_emprestimo_lst.php", $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(610, $this->pessoa_logada, 11)) {
         $this->acao = "go(\"educar_exemplar_emprestimo_login_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
 }
                }
            }
            $instituicoes .= "{$escolas}";
        }
        echo $script = "<script> var numero_intituicoes = {$obj_instituicao->_total} \n var instituicao = new Array(); \n {$instituicoes}</script>\n";
    }
    //**
    echo "<!-- {$this->ref_cod_instituicao} -->";
    $this->campoLista("ref_cod_instituicao", "Institui&ccedil;&atilde;o", $opcoes_instituicao, $this->ref_cod_instituicao, "EscolaInstituicao();", null, null, null, null, $obrigatorio);
}
if ($nivel_usuario == 1 || $nivel_usuario == 2) {
    //$nivel_usuario = $nivel_usuario == 1 ? null : $nivel_usuario;
    $selecione = $nivel_usuario == 2 ? "Selecione uma escola" : "Selecione uma escola";
    $opcoes = array("" => $selecione);
    if (class_exists("clsPmieducarEscola")) {
        $objTemp = new clsPmieducarEscola();
        if (!empty($this->ref_cod_instituicao) && $nivel_usuario == 1 || $nivel_usuario == 2) {
            if ($nivel_usuario == 2) {
                $this->ref_cod_instituicao = $instituicao_usuario;
            }
            $lista_escola23 = $objTemp->lista(null, null, null, $this->ref_cod_instituicao, null, null, nul, null, null, null, 1);
            if (is_array($lista_escola23) && count($lista_escola23)) {
                foreach ($lista_escola23 as $registro) {
                    /*		if($escola['ref_idpes'])
                    							{
                    								$obj_juridica = new clsJuridica($escola['ref_idpes']);
                    								$det_juridica = $obj_juridica->detalhe();
                    								$escola['nm_escola'] = $det_juridica['fantasia'];
                    
                    							}else
                    							{
 function Editar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(642, $this->pessoa_logada, 7, "educar_falta_nota_aluno_lst.php");
     //************************************* EDITA - MATRICULADO NUMA SERIE *************************************//
     if ($this->ref_ref_cod_serie) {
         //			if (is_numeric($this->modulo))
         //			{
         //				$this->mat_modulo = $this->modulo;
         //			}
         if (!$this->reprova_falta) {
             $this->editaSNotasFaltas();
         }
         /**
          * verifica se existem disciplinas sem notas
          *
          */
         $obj_nota_aluno = new clsPmieducarNotaAluno();
         $total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_cod_turma, $this->modulo, $this->ref_ref_cod_escola);
         /* verifica se o aluno está em exame
          * e se todas as matérias do exame estão com notas
          */
         $aluno_esta_em_exame = $_POST["aluno_esta_em_exame"];
         $qtd_disciplinas_aluno_exame = $_POST["qtd_disciplinas_aluno_exame"];
         if ($aluno_esta_em_exame == 1) {
             $sql = "SELECT COUNT(0)\n\t\t\t\t\t\t\t\tFROM pmieducar.nota_aluno na\n\t\t\t\t\t\t\t\t, pmieducar.disciplina d\n\t\t\t\t\t\t\t\t, pmieducar.v_matricula_matricula_turma mmt\n\t\t\t\t\t\t\t\tWHERE na.ref_cod_matricula = '{$this->ref_cod_matricula}'\n\t\t\t\t\t\t\t\tAND na.ref_cod_matricula = mmt.cod_matricula\n\t\t\t\t\t\t\t\tAND mmt.ref_cod_turma = '{$this->ref_cod_turma}'\n\t\t\t\t\t\t\t\tAND na.ativo = 1\n\t\t\t\t\t\t\t\tAND mmt.ativo = 1\n\t\t\t\t\t\t\t\tAND na.ref_cod_disciplina = d.cod_disciplina\n\t\t\t\t\t\t\t\tAND na.ref_cod_serie = '{$this->ref_ref_cod_serie}'\n\t\t\t\t\t\t\t\tAND na.modulo = '{$this->modulo}'";
             $db = new clsBanco();
             $notas_exame_ja_recebidas = $db->CampoUnico($sql);
             if ($qtd_disciplinas_aluno_exame == $notas_exame_ja_recebidas) {
                 $total = 0;
             }
         }
         /**
          * existem disciplinas sem notas
          * somente cadastra e o modulo do aluno
          * continua igual sem calcular nada
          */
         if ($total > 0) {
             /**
              * caso NENHUMA materia tenha nota
              * (por motivo de exclusao) verificar se o modulo da matricula
              * é maior que o ultimo modulo com nota
              * entao decrementar o modulo da matricula
              */
             $ultimo_modulo_matricula = $obj_nota_aluno->getMaxNotas($this->ref_cod_matricula);
             if ($ultimo_modulo_matricula < $this->mat_modulo) {
                 if ($this->nota_foi_removida && $this->pessoa_logada == 184580) {
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                     $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, $this->ref_cod_matricula);
                     if (is_array($lst_hst_escolar)) {
                         $det_hst_escolar = array_shift($lst_hst_escolar);
                         $obj_hd = new clsPmieducarHistoricoDisciplinas();
                         $excluiu_hd = $obj_hd->excluirTodos($this->ref_cod_aluno, $det_hst_escolar["sequencial"]);
                         if (!$excluiu_hd) {
                             $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Disciplina n&atilde;o realizado.<br>";
                             return false;
                         }
                         $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, null, null, null, null, null, null, 0);
                         $excluiu_he = $obj_hst_escolar->excluir();
                         if (!$excluiu_he) {
                             $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                             return false;
                         }
                     }
                 }
                 $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, 3, null, null, null, null, null, $ultimo_modulo_matricula);
                 $editou = $obj->edita();
             }
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         } else {
             //$ultimo_modulo_matricula = $obj_nota_aluno->getMaxNotas($this->ref_cod_matricula);
             //die("$ultimo_modulo_matricula < $this->mat_modulo || $this->modulo");
             if ($this->mat_modulo == $this->modulo) {
                 $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, 3, null, null, null, null, null, $ultimo_modulo_matricula);
                 $editou = $obj->avancaModulo();
             }
         }
         $aprovado = 3;
         if ($this->qtd_modulos <= $this->mat_modulo) {
             $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
             $det_curso = $obj_curso->detalhe();
             $frequencia_minima = $det_curso["frequencia_minima"];
             $hora_falta = $det_curso["hora_falta"];
             $carga_horaria_curso = $det_curso["carga_horaria"];
             $obj_esd = new clsPmieducarEscolaSerieDisciplina();
             $lst_esd = $obj_esd->lista($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, 1);
             if (is_array($lst_esd)) {
                 $obj_nota_aluno = new clsPmieducarNotaAluno();
                 $max_nota = $obj_nota_aluno->getMaxNotas($this->ref_cod_matricula);
                 $obj_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
                 $det_serie = $obj_serie->detalhe();
                 $media_especial = $det_serie['media_especial'];
                 foreach ($lst_esd as $campo) {
                     $obj_nota_aluno = new clsPmieducarNotaAluno();
                     $obj_nota_aluno->setOrderby("modulo ASC");
                     $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $campo["ref_cod_disciplina"], $this->ref_cod_matricula, null, null, null, null, null, null, 1);
                     // so busca as notas da disciplina se nao for media especial
                     if (is_array($lst_nota_aluno) && !dbBool($media_especial)) {
                         foreach ($lst_nota_aluno as $key => $nota_aluno) {
                             if ($nota_aluno['nota']) {
                                 $soma_notas[$campo["ref_cod_disciplina"]][$key] = $nota_aluno['nota'] * 2;
                             } else {
                                 $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]);
                                 $det_avaliacao_valores = $obj_avaliacao_valores->detalhe();
                                 $soma_notas[$campo["ref_cod_disciplina"]][$key] = $det_avaliacao_valores["valor"];
                             }
                         }
                     }
                     if (!$this->falta_ch_globalizada) {
                         $obj_falta_aluno = new clsPmieducarFaltaAluno();
                         $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $campo["ref_cod_disciplina"], $this->ref_cod_matricula, null, null, null, null, null, 1);
                         if (is_array($lst_falta_aluno)) {
                             foreach ($lst_falta_aluno as $key => $falta_aluno) {
                                 $soma_faltas[$campo["ref_cod_disciplina"]][$key] = $falta_aluno["faltas"];
                             }
                         }
                     }
                 }
                 if (is_array($soma_faltas)) {
                     foreach ($soma_faltas as $disciplina => $faltas) {
                         foreach ($faltas as $falta) {
                             $faltas_media_aluno[$disciplina] += $falta;
                         }
                     }
                 }
             }
             if (is_array($faltas_media_aluno)) {
                 foreach ($faltas_media_aluno as $disciplina => $faltas) {
                     $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                     $det_disciplina = $obj_disciplina->detalhe();
                     $carga_horaria_disciplina = $det_disciplina["carga_horaria"];
                     // calcula o maximo de horas q o aluno pode faltar na disciplina
                     $max_falta = $carga_horaria_disciplina * $frequencia_minima / 100;
                     $max_falta = $carga_horaria_disciplina - $max_falta;
                     // calcula a quantidade de faltas por hora do aluno na disciplina
                     $faltas *= $hora_falta;
                     if ($faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             } else {
                 $obj_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
                 $det_serie = $obj_serie->detalhe();
                 $carga_horaria_serie = $det_serie["carga_horaria"];
                 // calcula o maximo de horas q o aluno pode faltar na serie
                 $max_falta = $carga_horaria_serie * $frequencia_minima / 100;
                 $max_falta = $carga_horaria_serie - $max_falta;
                 // calcula a quantidade de faltas por hora do aluno na serie
                 $obj_faltas = new clsPmieducarFaltas();
                 $lst_faltas = $obj_faltas->lista($this->ref_cod_matricula);
                 if (is_array($lst_faltas)) {
                     $total_faltas = 0;
                     foreach ($lst_faltas as $key => $faltas) {
                         $total_faltas += $faltas['falta'];
                     }
                     $total_faltas *= $hora_falta;
                     if ($total_faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$total_faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             }
             /**
              * calculo de media especial
              */
             if (dbBool($media_especial)) {
                 $objNotaAluno = new clsPmieducarNotaAluno();
                 $media = $objNotaAluno->getMediaEspecialAluno($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->qtd_modulos, $this->media);
                 if ($media < $this->media) {
                     //  reprovado direto sem exame
                     $aprovado = 2;
                 }
             }
         }
         $db2 = new clsBanco();
         //retorna quantas matérias o aluno cursa não contabilizando as matérias com dispensa
         $sql = "SELECT COUNT(0) FROM pmieducar.escola_serie_disciplina WHERE ref_ref_cod_serie = {$this->ref_ref_cod_serie} \n\t\t\t\t\tAND ref_ref_cod_escola = {$this->ref_ref_cod_escola} AND escola_serie_disciplina.ativo = 1\n\t\t\t\t\tAND ref_cod_disciplina NOT IN (\n\t\t\t\t\t\tSELECT ref_cod_disciplina\n\t\t\t\t\t\tFROM pmieducar.dispensa_disciplina WHERE \n\t\t\t\t\t\tref_cod_matricula = {$this->ref_cod_matricula} AND ref_cod_serie = {$this->ref_ref_cod_serie}\n\t\t\t\t\t\tAND ref_cod_escola = {$this->ref_ref_cod_escola} AND ativo = 1\n\t\t\t\t\t)";
         $qtd_materias = $db2->CampoUnico($sql);
         //retorna quantas notas notas o aluno possui não contabilizandoa das matérias dispensadas
         $sql = "SELECT COUNT(0) FROM pmieducar.nota_aluno \n\t\t\t\t\tWHERE ref_cod_matricula = {$this->ref_cod_matricula} AND ativo = 1\n\t\t\t\t\tAND ref_cod_disciplina NOT IN (\n\t\t\t\t\t\t\tSELECT ref_cod_disciplina FROM pmieducar.dispensa_disciplina WHERE \n\t\t\t\t\t\t\tref_cod_matricula = {$this->ref_cod_matricula} AND ref_cod_serie = {$this->ref_ref_cod_serie} \n\t\t\t\t\t\t\tAND ref_cod_escola = {$this->ref_ref_cod_escola} AND ativo = 1\n\t\t\t\t\t)";
         //variável em uma edição para verificar se o aluno possui todas as notas
         //para mudar o estado de aprovado dele
         $qtd_notas_possui = $db2->CampoUnico($sql);
         $possui_todas_as_notas = $this->qtd_modulos * $qtd_materias >= $qtd_notas_possui || $aluno_esta_em_exame == 1 ? true : false;
         if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos == $max_nota && !dbBool($media_especial)) {
             if (is_array($soma_notas) && !dbBool($media_especial)) {
                 foreach ($soma_notas as $disciplina => $notas) {
                     foreach ($notas as $nota) {
                         if (dbBool($det_serie["ultima_nota_define"])) {
                             $nota_media_aluno[$disciplina] = $nota;
                         } else {
                             $nota_media_aluno[$disciplina] += $nota;
                         }
                     }
                     if (!dbBool($det_serie["ultima_nota_define"])) {
                         $nota_media_aluno[$disciplina] /= $this->mat_modulo - 1;
                     }
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                     }
                     /**
                      * verifica se existem disciplinas sem notas
                      * somente aprova caso seja zero
                      */
                     //$obj_nota_aluno = new clsPmieducarNotaAluno();
                     //	$total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula,$this->ref_ref_cod_serie,$this->ref_cod_turma,$this->modulo,$this->ref_ref_cod_escola);
                     if ($nota < $this->media && $this->media_exame && !$this->conceitual && $possui_todas_as_notas) {
                         $em_exame = true;
                         // aluno em exame
                     } else {
                         if ($valor < $this->media && !$this->media_exame && !$this->conceitual && $possui_todas_as_notas) {
                             $aprovado = 2;
                             // aluno reprovado direto (n existe exame)
                         }
                     }
                 }
             }
         } else {
             if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos < $max_nota && !dbBool($media_especial)) {
                 //				echo "<pre>"; print_r($soma_notas);
                 foreach ($soma_notas as $disciplina => $notas) {
                     $qtd_notas = 0;
                     foreach ($notas as $nota) {
                         $nota_media_aluno[$disciplina] += $nota;
                         $qtd_notas++;
                     }
                     if ($qtd_notas == $this->modulo) {
                         $nota_media_aluno[$disciplina] /= $this->modulo + 1;
                     } else {
                         $nota_media_aluno[$disciplina] /= $this->modulo - 1;
                     }
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                         if ($valor < $this->media_exame) {
                             $aprovado = 2;
                             // aluno reprovado no exame
                         }
                         /*else if ( ($valor < $this->media) && ($this->qtd_modulos >= $this->modulo) )
                         		$aprovado = 7; // aluno em exame*/
                     }
                 }
             }
         }
         /**
          * verifica se existem disciplinas sem notas
          * somente aprova caso seja zero
          */
         //$obj_nota_aluno = new clsPmieducarNotaAluno();
         //$total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula,$this->ref_ref_cod_serie,$this->ref_cod_turma,$this->modulo,$this->ref_ref_cod_escola);
         if ($this->conceitual) {
             $aprovado = $this->aprovado;
             // situacao definida pelo professor
         } else {
             if (!$em_exame && $this->qtd_modulos <= $this->mat_modulo && $aprovado == 3 && !$this->conceitual && $possui_todas_as_notas) {
                 $aprovado = 1;
                 // aluno aprovado
             }
         }
         $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, $aprovado);
         $editou = $obj->edita();
         //die($aprovado);
         if ($editou) {
             /**
              * aluno reprovado mantem historico
              * 01/03/2006
              */
             if ($aprovado == 2 || $aprovado == 3 || $aprovado == 1) {
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_serie["nm_serie"], $this->ano_letivo, $carga_horaria_serie, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, null, $this->ref_cod_matricula);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj_hd = new clsPmieducarHistoricoDisciplinas();
                     $excluiu_hd = $obj_hd->excluirTodos($this->ref_cod_aluno, $det_hst_escolar["sequencial"]);
                     if (!$excluiu_hd) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Disciplina n&atilde;o realizado.<br>";
                         return false;
                     }
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, null, null, null, null, null, null, 0);
                     $excluiu_he = $obj_hst_escolar->excluir();
                     if (!$excluiu_he) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                         return false;
                     }
                 }
             }
             /*else */
             if ($aprovado == 1 || $aprovado == 2) {
                 $obj_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
                 $det_serie = $obj_serie->detalhe();
                 $carga_horaria_serie = $det_serie["carga_horaria"];
                 $obj_escola = new clsPmieducarEscola($this->ref_ref_cod_escola);
                 $det_escola = $obj_escola->detalhe();
                 $ref_idpes = $det_escola["ref_idpes"];
                 // busca informacoes da escola
                 if ($ref_idpes) {
                     $obj_escola = new clsPessoaJuridica($ref_idpes);
                     $det_escola = $obj_escola->detalhe();
                     $nm_escola = $det_escola["fantasia"];
                     if ($det_escola) {
                         $cidade = $det_escola["cidade"];
                         $uf = $det_escola["sigla_uf"];
                     }
                 } else {
                     if (class_exists("clsPmieducarEscolaComplemento")) {
                         $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola);
                         $det_escola = $obj_escola->detalhe();
                         $nm_escola = $det_escola["nm_escola"];
                         $cidade = $det_escola["municipio"];
                     }
                 }
                 if ($this->padrao_ano_escolar) {
                     $extra_curricular = 0;
                 } else {
                     $extra_curricular = 1;
                 }
                 $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$this->ref_cod_matricula}";
                 $db5 = new clsBanco();
                 $total_faltas = $db5->CampoUnico($sql);
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_serie["nm_serie"], $this->ano_letivo, $carga_horaria_serie, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, null, $this->ref_cod_matricula);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, null, null, $extra_curricular);
                     $editou_he = $obj->edita();
                 } else {
                     $obj = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, null, null, $this->pessoa_logada, $det_serie["nm_serie"], $this->ano_letivo, $carga_horaria_serie, null, $nm_escola, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, $this->ref_cod_instituicao, 0, $extra_curricular, $this->ref_cod_matricula);
                     $cadastrou_he = $obj->cadastra();
                 }
                 if (($editou_he || $cadastrou_he) && !$this->conceitual) {
                     if ($cadastrou_he) {
                         $obj_historico = new clsPmieducarHistoricoEscolar();
                         $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno);
                     } else {
                         $sequencial = $det_hst_escolar["sequencial"];
                     }
                     $historico_disciplina = array();
                     foreach ($nota_media_aluno as $key => $nota) {
                         $historico_disciplina[$key] = array($nota, $faltas_media_aluno[$key]);
                     }
                     foreach ($historico_disciplina as $disciplina => $campo) {
                         $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                         $det_disciplina = $obj_disciplina->detalhe();
                         $nm_disciplina = $det_disciplina["nm_disciplina"];
                         $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                         $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $campo[0], $campo[0]);
                         if (is_array($lst_avaliacao_valores)) {
                             $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                             $nm_nota = $det_avaliacao_valores["nome"];
                             $obj_hd = new clsPmieducarHistoricoDisciplinas();
                             $lst_hd = $obj_hd->lista(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina);
                             if (is_array($lst_hd)) {
                                 $det_hd = array_shift($lst_hd);
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas($det_hd["sequencial"], $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->edita();
                             } else {
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->cadastra();
                             }
                             if (!$hst_disciplina) {
                                 $this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Disciplinas n&atilde;o realizado.<br>";
                                 return false;
                             }
                         } else {
                             $this->mensagem = "N&atilde;o foi poss&iacute;vel encontrar os Valores do Tipo de Avalia&ccedil;&atilde;o.<br>";
                             return false;
                         }
                     }
                 }
                 /*
                 else if( (!$editou_he || !$cadastrou_he) && (!$this->conceitual) )
                 {
                 	$this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                 	return false;
                 }
                 */
             }
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         }
         $this->mensagem = "Edi&ccedil;&atilde;o n&atilde;o realizada (Matr&iacute;cula).<br>";
         echo "<!--\nErro ao editar clsPmieducarMatricula\nvalores obrigatorios\nis_numeric( {$this->ref_cod_matricula} ) && is_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->modulo} )\n-->";
         return false;
     } else {
         if (!$this->reprova_falta) {
             $this->editaCNotasFaltas();
         }
         /**
          * verifica se existem disciplinas sem notas
          *
          */
         $obj_nota_aluno = new clsPmieducarNotaAluno();
         $total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_cod_turma, $this->modulo, $this->ref_ref_cod_escola);
         /**
          * existem disciplinas sem notas
          * somente cadastra e o modulo do aluno
          * continua igual sem calcular nada
          */
         if ($total) {
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         }
         $aprovado = 3;
         if ($this->qtd_modulos <= $this->mat_modulo) {
             $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
             $det_curso = $obj_curso->detalhe();
             $frequencia_minima = $det_curso["frequencia_minima"];
             $hora_falta = $det_curso["hora_falta"];
             $carga_horaria_curso = $det_curso["carga_horaria"];
             $obj_disciplina = new clsPmieducarDisciplina();
             $lst_disciplina = $obj_disciplina->lista(null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_curso);
             if (is_array($lst_disciplina)) {
                 foreach ($lst_disciplina as $campo) {
                     $obj_nota_aluno = new clsPmieducarNotaAluno();
                     $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, null, null, null, $this->ref_cod_matricula, null, null, null, null, null, null, 1, null, $campo["cod_disciplina"]);
                     if (is_array($lst_nota_aluno)) {
                         foreach ($lst_nota_aluno as $key => $nota_aluno) {
                             if ($nota_aluno["nota"]) {
                                 $soma_notas[$campo["cod_disciplina"]][$key] = $nota_aluno["nota"] * 2;
                             } else {
                                 $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]);
                                 $det_avaliacao_valores = $obj_avaliacao_valores->detalhe();
                                 $soma_notas[$campo["cod_disciplina"]][$key] = $det_avaliacao_valores["valor"];
                             }
                         }
                     }
                     if (!$this->falta_ch_globalizada) {
                         $obj_falta_aluno = new clsPmieducarFaltaAluno();
                         $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, null, null, null, $this->ref_cod_matricula, null, null, null, null, null, 1, null, $campo["cod_disciplina"]);
                         if (is_array($lst_falta_aluno)) {
                             foreach ($lst_falta_aluno as $key => $falta_aluno) {
                                 $soma_faltas[$campo["cod_disciplina"]][$key] = $falta_aluno["faltas"];
                             }
                         }
                     }
                 }
                 if (is_array($soma_faltas)) {
                     foreach ($soma_faltas as $disciplina => $faltas) {
                         foreach ($faltas as $falta) {
                             $faltas_media_aluno[$disciplina] += $falta;
                         }
                     }
                 }
             }
             if (is_array($faltas_media_aluno)) {
                 foreach ($faltas_media_aluno as $disciplina => $faltas) {
                     $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                     $det_disciplina = $obj_disciplina->detalhe();
                     $carga_horaria_disciplina = $det_disciplina["carga_horaria"];
                     // calcula o maximo de horas q o aluno pode faltar na disciplina
                     $max_falta = $carga_horaria_disciplina * $frequencia_minima / 100;
                     $max_falta = $carga_horaria_disciplina - $max_falta;
                     // calcula a quantidade de faltas por hora do aluno na disciplina
                     $faltas *= $hora_falta;
                     if ($faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             } else {
                 // calcula o maximo de horas q o aluno pode faltar no curso
                 $max_falta = $carga_horaria_curso * $frequencia_minima / 100;
                 $max_falta = $carga_horaria_curso - $max_falta;
                 // calcula a qtd de faltas por hora do aluno no curso
                 $obj_faltas = new clsPmieducarFaltas();
                 $lst_faltas = $obj_faltas->lista($this->ref_cod_matricula);
                 if (is_array($lst_faltas)) {
                     $total_faltas = 0;
                     foreach ($lst_faltas as $key => $faltas) {
                         $total_faltas += $faltas['falta'];
                     }
                     $total_faltas *= $hora_falta;
                     if ($total_faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$total_faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             }
         }
         if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos == $max_nota) {
             if (is_array($soma_notas)) {
                 foreach ($soma_notas as $disciplina => $notas) {
                     foreach ($notas as $nota) {
                         $nota_media_aluno[$disciplina] += $nota;
                     }
                     $nota_media_aluno[$disciplina] /= $this->mat_modulo - 1;
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                         /*
                         if ( ($valor < $this->media) && $this->media_exame && !$this->conceitual )
                         {
                         	$em_exame = true;
                         }
                         else if ( ($valor < $this->media) && !$this->media_exame && !$this->conceitual )
                         {
                         	$aprovado = 2; // aluno reprovado direto (n existe exame)
                         }
                         */
                     }
                     /**
                      * verifica se existem disciplinas sem notas
                      * somente aprova caso seja zero
                      */
                     $obj_nota_aluno = new clsPmieducarNotaAluno();
                     $total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_cod_turma, $this->modulo, $this->ref_ref_cod_escola);
                     if ($nota < $this->media && $this->media_exame && !$this->conceitual) {
                         $em_exame = true;
                         // aluno em exame
                     } else {
                         if ($valor < $this->media && !$this->media_exame && !$this->conceitual) {
                             $aprovado = 2;
                             // aluno reprovado direto (n existe exame)
                         }
                     }
                 }
             }
         } else {
             if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos < $max_nota) {
                 foreach ($soma_notas as $disciplina => $notas) {
                     $qtd_notas = 0;
                     foreach ($notas as $nota) {
                         $nota_media_aluno[$disciplina] += $nota;
                         $qtd_notas++;
                     }
                     if ($qtd_notas == $this->mat_modulo) {
                         $nota_media_aluno[$disciplina] /= $this->mat_modulo;
                     } else {
                         $nota_media_aluno[$disciplina] /= $this->mat_modulo - 1;
                     }
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                         if ($valor < $this->media_exame) {
                             $aprovado = 2;
                             // aluno reprovado no exame
                         }
                     }
                 }
             }
         }
         /**
          * verifica se existem disciplinas sem notas
          * somente aprova caso seja zero
          */
         //$obj_nota_aluno = new clsPmieducarNotaAluno();
         //$total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula,$this->ref_ref_cod_serie,$this->ref_cod_turma,$this->modulo,$this->ref_ref_cod_escola);
         if ($this->conceitual) {
             $aprovado = $this->aprovado;
             // situacao definida pelo professor
         } else {
             if (!$em_exame && $this->qtd_modulos <= $this->mat_modulo && $aprovado == 3 && !$this->conceitual) {
                 $aprovado = 1;
                 // aluno aprovado
             }
         }
         $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, $aprovado);
         $editou = $obj->edita();
         if ($editou) {
             /**
              * aluno reprovado edita nao remove do historico
              */
             if ($aprovado == 2 || $aprovado == 3) {
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj_hd = new clsPmieducarHistoricoDisciplinas();
                     $excluiu_hd = $obj_hd->excluirTodos($this->ref_cod_aluno, $det_hst_escolar["sequencial"]);
                     if (!$excluiu_hd) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Disciplina n&atilde;o realizado.<br>";
                         return false;
                     }
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, null, null, null, null, null, null, 0);
                     $excluiu_he = $obj_hst_escolar->excluir();
                     if (!$excluiu_he) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                         return false;
                     }
                 }
             }
             /*else*/
             if ($aprovado == 1 || $aprovado == 2) {
                 // busca informacoes da instituicao
                 $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
                 $det_instituicao = $obj_instituicao->detalhe();
                 $nm_instituicao = $det_instituicao["nm_instituicao"];
                 $cidade = $det_instituicao["cidade"];
                 $uf = $det_instituicao["ref_sigla_uf"];
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                 $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$this->ref_cod_matricula}";
                 $db5 = new clsBanco();
                 $total_faltas = $db5->CampoUnico($sql);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, $nm_instituicao, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                     $editou_he = $obj_hst_escolar->edita();
                 } else {
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, null, null, $this->pessoa_logada, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, $nm_instituicao, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                     $cadastrou_he = $obj_hst_escolar->cadastra();
                 }
                 if (($editou_he || $cadastrou_he) && !$this->conceitual) {
                     if ($cadastrou_he) {
                         $obj_historico = new clsPmieducarHistoricoEscolar();
                         $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno);
                     } else {
                         $sequencial = $det_hst_escolar["sequencial"];
                     }
                     $historico_disciplina = array();
                     foreach ($nota_media_aluno as $key => $nota) {
                         $historico_disciplina[$key] = array($nota, $faltas_media_aluno[$key]);
                     }
                     foreach ($historico_disciplina as $disciplina => $campo) {
                         $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                         $det_disciplina = $obj_disciplina->detalhe();
                         $nm_disciplina = $det_disciplina["nm_disciplina"];
                         $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                         $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $campo[0], $campo[0]);
                         if (is_array($lst_avaliacao_valores)) {
                             $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                             $nm_nota = $det_avaliacao_valores["nome"];
                             $obj_hd = new clsPmieducarHistoricoDisciplinas();
                             $lst_hd = $obj_hd->lista(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina);
                             if (is_array($lst_hd)) {
                                 $det_hd = array_shift($lst_hd);
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas($det_hd["sequencial"], $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->edita();
                             } else {
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->cadastra();
                             }
                             if (!$hst_disciplina) {
                                 $this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Disciplinas n&atilde;o realizado.<br>";
                                 return false;
                             }
                         } else {
                             $this->mensagem = "N&atilde;o foi poss&iacute;vel encontrar os Valores do Tipo de Avalia&ccedil;&atilde;o.<br>";
                             return false;
                         }
                     }
                 }
                 /*
                 else if( !$editou_he || !$cadastrou_he )
                 {
                 	$this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                 	return false;
                 }
                 */
             }
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         }
         $this->mensagem = "Edi&ccedil;&atilde;o n&atilde;o realizada (Matr&iacute;cula).<br>";
         echo "<!--\nErro ao editar clsPmieducarMatricula\nvalores obrigatorios\nis_numeric( {$this->ref_cod_matricula} ) && is_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->modulo} )\n-->";
         return false;
     }
 }
 /**
  * Implementação do método clsCadastro::Gerar()
  * @see ieducar/intranet/include/clsCadastro#Gerar()
  */
 public function Gerar()
 {
     $this->campoOculto('ref_cod_servidor', $this->ref_cod_servidor);
     $this->campoOculto('sequencial', $this->sequencial);
     $this->campoOculto('ref_cod_instituicao', $this->ref_cod_instituicao);
     $opcoes = array('' => 'Selecione');
     $objTemp = new clsPmieducarMotivoAfastamento();
     $lista = $objTemp->lista();
     if (is_array($lista) && count($lista) > 0) {
         foreach ($lista as $registro) {
             $opcoes[$registro['cod_motivo_afastamento']] = $registro['nm_motivo'];
         }
     } else {
         $opcoes = array('' => 'Nenhum motivo de afastamento cadastrado');
     }
     if ($this->status == 'N') {
         $this->campoLista('ref_cod_motivo_afastamento', 'Motivo Afastamento', $opcoes, $this->ref_cod_motivo_afastamento);
     } elseif ($this->status == 'E') {
         $this->campoLista('ref_cod_motivo_afastamento', 'Motivo Afastamento', $opcoes, $this->ref_cod_motivo_afastamento, '', FALSE, '', '', TRUE);
     }
     // Datas para registro
     // Se novo registro
     if ($this->status == 'N') {
         $this->campoData('data_saida', 'Data de Afastamento', $this->data_saida, TRUE);
     } elseif ($this->status == 'E') {
         $this->campoRotulo('data_saida', 'Data de Afastamento', $this->data_saida);
     }
     // Se edição, mostra campo para entrar com data de retorno
     if ($this->status == 'E') {
         $this->campoData('data_retorno', 'Data de Retorno', $this->data_retorno, FALSE);
     }
     $obj_servidor = new clsPmieducarServidor($this->ref_cod_servidor, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
     $det_servidor = $obj_servidor->detalhe();
     if ($det_servidor) {
         $obj_funcao = new clsPmieducarFuncao($det_servidor['ref_cod_funcao'], NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
         // Se for professor
         if (TRUE == $obj_servidor->isProfessor()) {
             $obj = new clsPmieducarQuadroHorarioHorarios();
             // Pega a lista de aulas alocadas para este servidor
             $lista = $obj->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao, NULL, $this->ref_cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL);
             if ($lista) {
                 // Passa todos os valores obtidos no registro para atributos do objeto
                 foreach ($lista as $campo => $val) {
                     $temp = array();
                     $temp['hora_inicial'] = $val['hora_inicial'];
                     $temp['hora_final'] = $val['hora_final'];
                     $temp['dia_semana'] = $val['dia_semana'];
                     $temp['ref_cod_escola'] = $val['ref_cod_escola'];
                     $temp['ref_cod_disciplina'] = $val['ref_cod_disciplina'];
                     $temp['ref_cod_substituto'] = $val['ref_servidor_substituto'];
                     $this->alocacao_array[] = $temp;
                 }
                 if ($this->alocacao_array) {
                     $tamanho = sizeof($alocacao);
                     $script = "<script>\nvar num_alocacao = {$tamanho};\n";
                     $script .= "var array_servidores = Array();\n";
                     foreach ($this->alocacao_array as $key => $alocacao) {
                         $script .= "array_servidores[{$key}] = new Array();\n";
                         $hora_ini = explode(":", $alocacao['hora_inicial']);
                         $hora_fim = explode(":", $alocacao['hora_final']);
                         $horas_utilizadas = $hora_fim[0] - $hora_ini[0];
                         $minutos_utilizados = $hora_fim[1] - $hora_ini[1];
                         $horas = sprintf('%02d', (int) $horas_utilizadas);
                         $minutos = sprintf('%02d', (int) $minutos_utilizados);
                         $str_horas_utilizadas = "{$horas}:{$minutos}";
                         $script .= "array_servidores[{$key}][0] = '{$str_horas_utilizadas}';\n";
                         $script .= "array_servidores[{$key}][1] = '';\n\n";
                         $obj_escola = new clsPmieducarEscola($alocacao['ref_cod_escola']);
                         $det_escola = $obj_escola->detalhe();
                         $det_escola = $det_escola['nome'];
                         $nm_dia_semana = $this->dias_da_semana[$alocacao['dia_semana']];
                         $obj_subst = new clsPessoa_($alocacao['ref_cod_substituto']);
                         $det_subst = $obj_subst->detalhe();
                         if ($this->status == 'N') {
                             $this->campoTextoInv("dia_semana_{$key}_", '', $nm_dia_semana, 8, 8, FALSE, FALSE, TRUE, '', '', '', '', 'dia_semana');
                             $this->campoTextoInv("hora_inicial_{$key}_", '', $alocacao['hora_inicial'], 5, 5, FALSE, FALSE, TRUE, '', '', '', '', 'ds_hora_inicial_');
                             $this->campoTextoInv("hora_final_{$key}_", '', $alocacao['hora_final'], 5, 5, FALSE, FALSE, TRUE, '', '', '', '', 'ds_hora_final_');
                             $this->campoTextoInv("ref_cod_escola_{$key}", '', $det_escola, 30, 255, FALSE, FALSE, TRUE, '', '', '', '', 'ref_cod_escola_');
                             $this->campoTextoInv("ref_cod_servidor_substituto_{$key}_", '', $det_subst['nome'], 30, 255, FALSE, FALSE, FALSE, '', "<span name=\"ref_cod_servidor_substituto\" id=\"ref_cod_servidor_substituicao_{$key}\"><img border='0'  onclick=\"pesquisa_valores_popless('educar_pesquisa_servidor_lst.php?campo1=ref_cod_servidor_substituto[{$key}]&campo2=ref_cod_servidor_substituto_{$key}_&ref_cod_instituicao={$this->ref_cod_instituicao}&dia_semana={$alocacao["dia_semana"]}&hora_inicial={$alocacao["hora_inicial"]}&hora_final={$alocacao["hora_final"]}&ref_cod_servidor={$this->ref_cod_servidor}&professor=1&ref_cod_escola={$alocacao['ref_cod_escola']}&horario=S&ref_cod_disciplina={$alocacao['ref_cod_disciplina']}', 'nome')\" src=\"imagens/lupa.png\" ></span>", '', '', 'ref_cod_servidor_substituto');
                         }
                         $this->campoOculto("dia_semana_{$key}", $alocacao['dia_semana']);
                         $this->campoOculto("hora_inicial_{$key}", $alocacao['hora_inicial']);
                         $this->campoOculto("hora_final_{$key}", $alocacao['hora_final']);
                         $this->campoOculto("ref_cod_escola_{$key}", $alocacao['ref_cod_escola']);
                         $this->campoOculto("ref_cod_servidor_substituto[{$key}]", $alocacao['ref_cod_substituto']);
                     }
                     $script .= "\n</script>";
                     // Print do Javascript
                     print $script;
                 }
             }
         }
     }
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "C&ocirc;modo Pr&eacute;dio - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $lista_busca = array("C&ocirc;modo", "Func&atilde;o  C&ocirc;modo", "Pr&eacute;dio");
     $obj_permissao = new clsPermissoes();
     $nivel_usuario = $obj_permissao->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = "Escola";
         $lista_busca[] = "Institui&ccedil;&atilde;o";
     } else {
         if ($nivel_usuario == 2) {
             $lista_busca[] = "Escola";
         }
     }
     $this->addCabecalhos($lista_busca);
     $get_escola = true;
     include "include/pmieducar/educar_campo_lista.php";
     // Filtros de Foreign Keys
     $opcoes = array("" => "Selecione");
     if (class_exists("clsPmieducarInfraComodoFuncao")) {
         /*$todas_funcoes  = "funcao = new Array();\n";
         		$objTemp = new clsPmieducarInfraComodoFuncao();
         		$lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,1 );
         		if ( is_array( $lista ) && count( $lista ) )
         		{
         			foreach ( $lista as $registro )
         			{
         				$todas_funcoes .= "funcao[funcao.length] = new Array( {$registro["cod_infra_comodo_funcao"]}, '{$registro['nm_funcao']}', {$registro["ref_cod_escola"]} );\n";
         			}
         		}
         		echo "<script>{$todas_funcoes}</script>";*/
         // EDITAR
         if ($this->ref_cod_escola) {
             $objTemp = new clsPmieducarInfraComodoFuncao();
             $lista = $objTemp->lista(null, null, null, null, null, null, null, null, null, 1, $this->ref_cod_escola);
             if (is_array($lista) && count($lista)) {
                 foreach ($lista as $registro) {
                     $opcoes["{$registro['cod_infra_comodo_funcao']}"] = "{$registro['nm_funcao']}";
                 }
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarInfraComodoFuncao nao encontrada\n-->";
         $opcoes = array("" => "Erro na geracao");
     }
     $this->campoLista("ref_cod_infra_comodo_funcao", "Func&atilde;o C&ocirc;modo", $opcoes, $this->ref_cod_infra_comodo_funcao, "", false, "", "", "", false);
     // outros Filtros
     $this->campoTexto("nm_comodo", "C&ocirc;modo", $this->nm_comodo, 30, 255, false);
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_infra_predio_comodo = new clsPmieducarInfraPredioComodo();
     $obj_infra_predio_comodo->setOrderby("nm_comodo ASC");
     $obj_infra_predio_comodo->setLimite($this->limite, $this->offset);
     $lista = $obj_infra_predio_comodo->lista(null, null, null, $this->ref_cod_infra_comodo_funcao, $this->ref_cod_infra_predio, $this->nm_comodo, null, null, null, null, null, null, 1, $this->ref_cod_escola, $this->ref_cod_instituicao);
     $total = $obj_infra_predio_comodo->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             if (class_exists("clsPmieducarInfraComodoFuncao")) {
                 $obj_ref_cod_infra_comodo_funcao = new clsPmieducarInfraComodoFuncao($registro["ref_cod_infra_comodo_funcao"]);
                 $det_ref_cod_infra_comodo_funcao = $obj_ref_cod_infra_comodo_funcao->detalhe();
                 $registro["ref_cod_infra_comodo_funcao"] = $det_ref_cod_infra_comodo_funcao["nm_funcao"];
             } else {
                 $registro["ref_cod_infra_comodo_funcao"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarInfraComodoFuncao\n-->";
             }
             if (class_exists("clsPmieducarInfraPredio")) {
                 $obj_ref_cod_infra_predio = new clsPmieducarInfraPredio($registro["ref_cod_infra_predio"]);
                 $det_ref_cod_infra_predio = $obj_ref_cod_infra_predio->detalhe();
                 $registro["ref_cod_infra_predio"] = $det_ref_cod_infra_predio["nm_predio"];
             } else {
                 $registro["ref_cod_infra_predio"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarInfraPredio\n-->";
             }
             if (class_exists("clsPmieducarEscola")) {
                 $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
                 $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
                 $nm_escola = $det_ref_cod_escola["nome"];
             } else {
                 $registro["ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
             }
             if (class_exists("clsPmieducarInstituicao")) {
                 $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                 $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
                 $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
             } else {
                 $registro["ref_cod_instituicao"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarInfraPredio\n-->";
             }
             $lista_busca = array("<a href=\"educar_infra_predio_comodo_det.php?cod_infra_predio_comodo={$registro["cod_infra_predio_comodo"]}\">{$registro["nm_comodo"]}</a>", "<a href=\"educar_infra_predio_comodo_det.php?cod_infra_predio_comodo={$registro["cod_infra_predio_comodo"]}\">{$registro["ref_cod_infra_comodo_funcao"]}</a>", "<a href=\"educar_infra_predio_comodo_det.php?cod_infra_predio_comodo={$registro["cod_infra_predio_comodo"]}\">{$registro["ref_cod_infra_predio"]}</a>");
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "<a href=\"educar_infra_predio_comodo_det.php?cod_infra_predio_comodo={$registro["cod_infra_predio_comodo"]}\">{$nm_escola}</a>";
                 $lista_busca[] = "<a href=\"educar_infra_predio_comodo_det.php?cod_infra_predio_comodo={$registro["cod_infra_predio_comodo"]}\">{$registro["ref_cod_instituicao"]}</a>";
             } else {
                 if ($nivel_usuario == 2) {
                     $lista_busca[] = "<a href=\"educar_infra_predio_comodo_det.php?cod_infra_predio_comodo={$registro["cod_infra_predio_comodo"]}\">{$nm_escola}</a>";
                 }
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_infra_predio_comodo_lst.php", $total, $_GET, $this->nome, $this->limite);
     $this->acao = "go(\"educar_infra_predio_comodo_cad.php\")";
     $this->nome_acao = "Novo";
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de c&ocirc;modos de pr&eacute;dios"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 function renderHTML()
 {
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     $obj_escola_instituicao = new clsPmieducarEscola();
     $lst_escola_instituicao = $obj_escola_instituicao->lista($this->ref_cod_escola, null, null, $this->ref_cod_instituicao, null, null, null, null, null, null, 1);
     $this->pdf = new clsPDF("Registro de Matrículas - {$this->ano}", "Registro de Matrículas", "A4", "", false, false);
     foreach ($lst_escola_instituicao as $escola) {
         $this->ref_cod_escola = $escola['cod_escola'];
         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($this->ref_cod_instituicao);
             $det_instituicao = $obj_instituicao->detalhe();
             $this->nm_instituicao = $det_instituicao['nm_instituicao'];
             if ($det_escola['ref_idpes']) {
                 $obj_endereco_escola = new clsEndereco($det_escola['ref_idpes']);
                 $det_enderedo_escola = $obj_endereco_escola->detalhe();
                 $this->nm_localidade = $this->nm_municipio = $det_enderedo_escola['cidade'];
                 if (!$det_enderedo_escola) {
                     $obj_endereco_externo_escola = new clsEnderecoExterno($det_escola['ref_idpes']);
                     $det_enderedo_externo_escola = $obj_endereco_externo_escola->detalhe();
                     $this->nm_localidade = $this->nm_municipio = $det_enderedo_externo_escola['cidade'];
                 }
             } else {
                 $obj_escola_complemento = new clsPmieducarEscolaComplemento($this->ref_cod_escola);
                 $det_escola_complemento = $obj_escola_complemento->detalhe();
                 $this->nm_localidade = $this->nm_municipio = $det_escola_complemento['municipio'];
             }
         }
         $obj_cursos = new clsPmieducarCurso();
         $lst_cursos = $obj_cursos->lista($this->ref_cod_curso, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
         if ($lst_cursos) {
             $x_quadrado = 30;
             $altura_caixa = 30;
             foreach ($lst_cursos as $curso) {
                 $this->buscaDiasLetivos();
                 $this->nm_curso = $curso['nm_curso'];
                 $obj_serie_curso = new clsPmieducarSerie();
                 $obj_serie_curso->setOrderby('etapa_curso asc');
                 $lst_serie_curso = $obj_serie_curso->lista(null, null, null, $curso['cod_curso'], null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao, null, null, null, $this->ref_cod_escola);
                 if ($lst_serie_curso) {
                     $this->page_y = 170;
                     $x_quadrado = 30;
                     if (!$page_open) {
                         $this->pdf->OpenPage();
                         $this->addCabecalho();
                         $page_open = true;
                     }
                     foreach ($lst_serie_curso as $serie) {
                         $obj_disc_serie = new clsPmieducarDisciplinaSerie();
                         $lst_disc_serie = $obj_disc_serie->lista(null, $serie['cod_serie'], 1);
                         if ($lst_disc_serie) {
                             $obj_turmas_serie = new clsPmieducarTurma();
                             $obj_turmas_serie->setOrderby("nm_turma");
                             $lst_turmas_serie = $obj_turmas_serie->lista(null, null, null, $serie['cod_serie'], $escola['cod_escola'], null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, $curso['cod_curso'], $this->ref_cod_instituicao, null, null);
                             if (!$lst_turmas_serie) {
                                 // verifica se a serie esta marcada em multiseriada
                                 $lst_turmas_serie = $obj_turmas_serie->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, $curso['cod_curso'], $this->ref_cod_instituicao, null, null, $escola['cod_escola'], $serie['cod_serie']);
                             }
                             if ($lst_turmas_serie) {
                                 foreach ($lst_turmas_serie as $turma) {
                                     $total_geral_horas = $total_geral_aulas_semana = 0;
                                     $x_quadrado = 30;
                                     $this->pdf->escreve_relativo("{$serie['nm_serie']} - Turma: {$turma['nm_turma']}", 40, $this->page_y + 4, 258, $altura_caixa, $fonte, 12, $corTexto, 'left');
                                     $this->page_y += $altura_caixa;
                                     $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 535, $altura_caixa);
                                     $this->pdf->escreve_relativo("Conteúdos Curriculares", 40, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                     $this->pdf->escreve_relativo("A.S", 470, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                     $this->pdf->escreve_relativo("H.R.", 525, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                     $this->page_y += $altura_caixa;
                                     if ($this->page_y + $altura_caixa >= 800) {
                                         $this->pdf->quadrado_relativo(30, $inicio_quadro, 70, $fim_quadro - $inicio_quadro);
                                         $this->pdf->escreve_relativo("Núcleo Comum \ne Artigo 7º\n(Lei 5692/71)", 30 + 4, $inicio_quadro + ($fim_quadro - $inicio_quadro) / 3 - (count($lst_disc_serie) == 1 ? 8 : 0), 80, $altura_caixa, $fonte, 8, $corTexto, 'left');
                                         $this->pdf->linha_relativa(450, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro, '0.1');
                                         $this->pdf->linha_relativa(505, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro, '0.1');
                                         $this->page_y = 170;
                                         $inicio_quadro = $this->page_y + $altura_caixa;
                                         $this->pdf->ClosePage();
                                         $this->pdf->OpenPage();
                                         $page_open = true;
                                         $this->addCabecalho();
                                         $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 535, $altura_caixa);
                                         $this->pdf->escreve_relativo("Conteúdos Curriculares", 40, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                         $this->pdf->escreve_relativo("A.S", 470, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                         $this->pdf->escreve_relativo("H.R.", 525, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                         $this->page_y += $altura_caixa;
                                     }
                                     $x_quadrado = 100;
                                     $obj_quadro_horario = new clsPmieducarQuadroHorario();
                                     $lst_quadro_horario = $obj_quadro_horario->lista(null, null, null, $turma['cod_turma'], null, null, null, null, 1);
                                     if (is_array($lst_quadro_horario)) {
                                         $lst_quadro_horario = array_shift($lst_quadro_horario);
                                     }
                                     $obj_disc_semana = new clsPmieducarQuadroHorarioHorarios();
                                     $obj_disc_semana->setOrderby("dia_semana asc");
                                     /*********************************************************************/
                                     //disciplinas que estâo sendo cursadas, eliminando as não cursadas
                                     $sql = "SELECT distinct(ref_cod_disciplina) FROM pmieducar.quadro_horario_horarios\n\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_quadro_horario = {$lst_quadro_horario["cod_quadro_horario"]}";
                                     $disciplinas_cursadas = array();
                                     $db = new clsBanco();
                                     $db->Consulta($sql);
                                     while ($db->ProximoRegistro()) {
                                         list($ref_disciplina_cursada) = $db->Tupla();
                                         $disciplinas_cursadas[$ref_disciplina_cursada] = $ref_disciplina_cursada;
                                     }
                                     /*********************************************************************/
                                     $inicio_quadro = $this->page_y;
                                     foreach ($lst_disc_serie as $key => $disciplina) {
                                         if (array_search($disciplina["ref_cod_disciplina"], $disciplinas_cursadas)) {
                                             $obj_disc = new clsPmieducarDisciplina($disciplina['ref_cod_disciplina']);
                                             $det_disc = $obj_disc->detalhe();
                                             $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 465, $altura_caixa);
                                             $this->pdf->escreve_relativo("{$det_disc['nm_disciplina']}", $x_quadrado + 4, $this->page_y + 4, 350, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                             //-------
                                             unset($lst_disc_semana);
                                             if ($lst_quadro_horario) {
                                                 $lst_disc_semana = $obj_disc_semana->lista($lst_quadro_horario['cod_quadro_horario'], $serie['cod_serie'], $this->ref_cod_escola, $disciplina['ref_cod_disciplina'], null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1);
                                             }
                                             $total_dias_semana = 0;
                                             /**
                                              * Calcula o total de horas da semana
                                              */
                                             if ($lst_disc_semana) {
                                                 $total_semanas = $this->total_semanas;
                                                 $total_dias_semana = count($lst_disc_semana);
                                             }
                                             $total_geral_horas += $det_disc['carga_horaria'];
                                             $total_geral_aulas_semana += $total_dias_semana;
                                             $total_horas = sprintf("%02d:%02d", $det_disc['carga_horaria'], 0);
                                             $this->pdf->escreve_relativo(sprintf("%02d", "{$total_dias_semana}"), 451, $this->page_y + 10, 52, $altura_caixa, $fonte, 10, $corTexto, 'center');
                                             $this->pdf->escreve_relativo("{$total_horas}", 506, $this->page_y + 10, 65, $altura_caixa, $fonte, 10, $corTexto, 'center');
                                             $fim_quadro = $this->page_y += $altura_caixa;
                                             if ($this->page_y + $altura_caixa >= 800 && $key < count($lst_disc_serie) - 1) {
                                                 $x_quadrado = 30;
                                                 $this->pdf->quadrado_relativo(30, $inicio_quadro, 70, $fim_quadro - $inicio_quadro);
                                                 $this->pdf->escreve_relativo("Núcleo Comum \ne Artigo 7º\n(Lei 5692/71)", 30 + 4, $inicio_quadro + ($fim_quadro - $inicio_quadro) / 3 - ($key == 0 ? 8 : 0), 80, $altura_caixa, $fonte, 8, $corTexto, 'left');
                                                 $this->pdf->linha_relativa(450, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro + $altura_caixa, '0.1');
                                                 $this->pdf->linha_relativa(505, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro + $altura_caixa, '0.1');
                                                 $this->page_y = 170;
                                                 $inicio_quadro = $this->page_y + $altura_caixa;
                                                 $this->pdf->ClosePage();
                                                 $this->pdf->OpenPage();
                                                 $page_open = true;
                                                 $this->addCabecalho();
                                                 $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 535, $altura_caixa);
                                                 $this->pdf->escreve_relativo("Conteúdos Curriculares", 40, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                                 $this->pdf->escreve_relativo("A.S", 470, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                                 $this->pdf->escreve_relativo("H.R.", 525, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                                 $this->page_y += $altura_caixa;
                                                 $x_quadrado = 100;
                                             }
                                         }
                                     }
                                     $this->pdf->quadrado_relativo(30, $inicio_quadro, 70, $fim_quadro - $inicio_quadro);
                                     $this->pdf->linha_relativa(450, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro + $altura_caixa, '0.1');
                                     $this->pdf->linha_relativa(505, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro + $altura_caixa, '0.1');
                                     $this->pdf->escreve_relativo("Núcleo Comum \ne Artigo 7º\n(Lei 5692/71)", 30 + 4, $inicio_quadro + ($fim_quadro - $inicio_quadro) / 3 - 8, 80, $altura_caixa, $fonte, 8, $corTexto, 'left');
                                     $x_quadrado = 450;
                                     $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 115, $altura_caixa);
                                     $total_geral_horas = sprintf("%02d:%02d", $total_geral_horas, 0);
                                     $this->pdf->escreve_relativo(sprintf("%02d", "{$total_geral_aulas_semana}"), 451, $this->page_y + 10, 52, $altura_caixa, $fonte, 10, $corTexto, 'center');
                                     $this->pdf->escreve_relativo("{$total_geral_horas}", 506, $this->page_y + 10, 65, $altura_caixa, $fonte, 10, $corTexto, 'center');
                                     $this->pdf->linha_relativa(505, $this->page_y, 0, $altura_caixa, '0.1');
                                     $this->page_y += $altura_caixa;
                                 }
                             }
                             //-------
                         }
                     }
                 }
                 if ($page_open) {
                     $this->pdf->ClosePage();
                     $page_open = false;
                 }
             }
         }
         if ($page_open) {
             $this->pdf->ClosePage();
             $page_open = false;
         }
     }
     $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 Gerar()
 {
     if ($_POST) {
         foreach ($_POST as $campo => $val) {
             $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
         }
     }
     $this->campoOculto('ref_cod_turma', $this->ref_cod_turma);
     $this->campoOculto('ref_ref_cod_escola', $this->ref_ref_cod_escola);
     $this->campoOculto('ref_ref_cod_serie', $this->ref_ref_cod_serie);
     $this->campoOculto('ref_cod_curso', $this->ref_cod_curso);
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $obj_cod_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
         $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
         $nm_instituicao = $obj_cod_instituicao_det['nm_instituicao'];
         $this->campoRotulo('nm_instituicao', 'Institui&ccedil;&atilde;o', $nm_instituicao);
     }
     if ($nivel_usuario == 1 || $nivel_usuario == 2) {
         if ($this->ref_ref_cod_escola) {
             $obj_ref_cod_escola = new clsPmieducarEscola($this->ref_ref_cod_escola);
             $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
             $nm_escola = $det_ref_cod_escola['nome'];
             $this->campoRotulo('nm_escola', 'Escola', $nm_escola);
         }
     }
     if ($this->ref_cod_curso) {
         $obj_ref_cod_curso = new clsPmieducarCurso($this->ref_cod_curso);
         $det_ref_cod_curso = $obj_ref_cod_curso->detalhe();
         $nm_curso = $det_ref_cod_curso['nm_curso'];
         $this->campoRotulo('nm_curso', 'Curso', $nm_curso);
     }
     if ($this->ref_ref_cod_serie) {
         $obj_ref_cod_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
         $det_ref_cod_serie = $obj_ref_cod_serie->detalhe();
         $nm_serie = $det_ref_cod_serie["nm_serie"];
         $this->campoRotulo('nm_serie', 'S&eacute;rie', $nm_serie);
         // busca o ano em q a escola esta em andamento
         $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo();
         $lst_ano_letivo = $obj_ano_letivo->lista($this->ref_ref_cod_escola, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 1);
         if (is_array($lst_ano_letivo)) {
             $det_ano_letivo = array_shift($lst_ano_letivo);
             $ano_letivo = $det_ano_letivo['ano'];
         } else {
             $this->mensagem = 'Não foi possível encontrar o ano letivo em andamento da escola.';
             return FALSE;
         }
     }
     if ($this->ref_cod_turma) {
         $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
         $det_turma = $obj_turma->detalhe();
         $nm_turma = $det_turma['nm_turma'];
         $this->campoRotulo('nm_turma', 'Turma', $nm_turma);
     }
     // Inlui o aluno
     $this->campoQuebra();
     if ($_POST['matriculas_turma']) {
         $this->matriculas_turma = unserialize(urldecode($_POST['matriculas_turma']));
     }
     if (is_numeric($this->ref_cod_turma) && !$_POST) {
         $obj_matriculas_turma = new clsPmieducarMatriculaTurma();
         $obj_matriculas_turma->setOrderby('nome_aluno');
         $lst_matriculas_turma = $obj_matriculas_turma->lista(NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, array(1, 2, 3), NULL, NULL, $ano_letivo, NULL, TRUE, NULL, 1, TRUE);
         if (is_array($lst_matriculas_turma)) {
             foreach ($lst_matriculas_turma as $key => $campo) {
                 $this->matriculas_turma[$campo['ref_cod_matricula']]['sequencial_'] = $campo['sequencial'];
             }
         }
     }
     if ($_POST['ref_cod_matricula']) {
         $obj_matriculas_turma = new clsPmieducarMatriculaTurma($_POST['ref_cod_matricula'], $this->ref_cod_turma);
         $sequencial = $obj_matriculas_turma->buscaSequencialMax();
         $this->matriculas_turma[$_POST['ref_cod_matricula']]['sequencial_'] = $sequencial;
         unset($this->ref_cod_matricula);
     }
     if ($this->matriculas_turma) {
         foreach ($this->matriculas_turma as $matricula => $campo) {
             $obj_matricula = new clsPmieducarMatricula($matricula);
             $det_matricula = $obj_matricula->detalhe();
             $obj_aluno = new clsPmieducarAluno();
             $lst_aluno = $obj_aluno->lista($det_matricula['ref_cod_aluno']);
             $det_aluno = array_shift($lst_aluno);
             $nm_aluno = $det_aluno['nome_aluno'];
             $this->campoTextoInv('ref_cod_matricula_' . $matricula, '', $nm_aluno, 30, 255, FALSE, FALSE, FALSE, '', '', '', '', 'ref_cod_matricula');
         }
     }
     $this->campoOculto('matriculas_turma', serialize($this->matriculas_turma));
     // Aluno
     $opcoes = array();
     $obj_matriculas_turma = new clsPmieducarMatriculaTurma();
     $alunos = $obj_matriculas_turma->alunosNaoEnturmados($this->ref_ref_cod_escola, $this->ref_ref_cod_serie, $this->ref_cod_curso, $ano_letivo);
     if (is_array($alunos)) {
         for ($i = 0; $i < count($alunos); $i++) {
             $obj_matricula = new clsPmieducarMatricula($alunos[$i]);
             $det_matricula = $obj_matricula->detalhe();
             $obj_aluno = new clsPmieducarAluno();
             $lst_aluno = $obj_aluno->lista($det_matricula['ref_cod_aluno']);
             $det_aluno = array_shift($lst_aluno);
             $opcoes[$alunos[$i]] = $det_aluno['nome_aluno'];
         }
     }
     if (count($opcoes)) {
         asort($opcoes);
         foreach ($opcoes as $key => $aluno) {
             $this->campoCheck('ref_cod_matricula[' . $key . ']', 'Aluno', $key, $aluno, NULL, NULL, NULL);
         }
     } else {
         $this->campoRotulo('rotulo_1', '-', 'Todos os alunos matriculados na série já se encontram enturmados.');
     }
     $this->campoQuebra();
 }
Example #25
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Escola - Detalhe";
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $this->cod_escola = $_GET["cod_escola"];
     $tmp_obj = new clsPmieducarEscola($this->cod_escola);
     $registro = $tmp_obj->detalhe();
     if (!$registro) {
         header("location: educar_escola_lst.php");
         die;
     }
     if (class_exists("clsPmieducarInstituicao")) {
         $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
         $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
         $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
     } else {
         $registro["ref_cod_instituicao"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarInstituicao\n-->";
     }
     if ($registro["ref_idpes"]) {
         $obj_escola = new clsPessoa_($registro["ref_idpes"]);
         $obj_escola_det = $obj_escola->detalhe();
         $url = $obj_escola_det["url"];
         $email = $obj_escola_det["email"];
         $obj_escola1 = new clsPessoaJuridica($registro["ref_idpes"]);
         $obj_escola_det1 = $obj_escola1->detalhe();
         $nm_escola = $obj_escola_det1["fantasia"];
         $obj_endereco = new clsPessoaEndereco($registro["ref_idpes"]);
         if (class_exists("clsPessoaEndereco")) {
             $tipo = 1;
             $endereco_lst = $obj_endereco->lista($registro["ref_idpes"]);
             if ($endereco_lst) {
                 foreach ($endereco_lst as $endereco) {
                     $cep = $endereco["cep"]->cep;
                     $idlog = $endereco["idlog"]->idlog;
                     $obj = new clsLogradouro($idlog);
                     $obj_det = $obj->detalhe();
                     $logradouro = $obj_det["nome"];
                     $idtlog = $obj_det["idtlog"]->detalhe();
                     $tipo_logradouro = $idtlog["descricao"];
                     $idbai = $endereco["idbai"]->detalhe();
                     $idbai = $idbai['nome'];
                     $numero = $endereco["numero"];
                     $complemento = $endereco["complemento"];
                     $andar = $endereco["andar"];
                 }
             } else {
                 if (class_exists("clsEnderecoExterno")) {
                     $tipo = 2;
                     $obj_endereco = new clsEnderecoExterno();
                     $endereco_lst = $obj_endereco->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $registro["ref_idpes"]);
                     if ($endereco_lst) {
                         foreach ($endereco_lst as $endereco) {
                             $cep = $endereco["cep"];
                             $sigla_uf = $endereco["sigla_uf"]->detalhe();
                             $sigla_uf = $sigla_uf["nome"];
                             $cidade = $endereco["cidade"];
                             $idtlog = $endereco["idtlog"]->detalhe();
                             $tipo_logradouro = $idtlog["descricao"];
                             $logradouro = $endereco["logradouro"];
                             $bairro = $endereco["bairro"];
                             $numero = $endereco["numero"];
                             $complemento = $endereco["complemento"];
                             $andar = $endereco["andar"];
                         }
                     }
                 }
             }
         }
         if (class_exists("clsPessoaTelefone")) {
             $obj_telefone = new clsPessoaTelefone();
             $telefone_lst = $obj_telefone->lista($registro["ref_idpes"], "tipo");
             if ($telefone_lst) {
                 foreach ($telefone_lst as $telefone) {
                     if ($telefone["tipo"] == 1) {
                         $ddd_telefone_1 = $telefone["ddd"];
                         $telefone_1 = $telefone["fone"];
                     } else {
                         if ($telefone["tipo"] == 2) {
                             $ddd_telefone_2 = $telefone["ddd"];
                             $telefone_2 = $telefone["fone"];
                         } else {
                             if ($telefone["tipo"] == 4) {
                                 $ddd_telefone_fax = $telefone["ddd"];
                                 $telefone_fax = $telefone["fone"];
                             }
                         }
                     }
                 }
             }
         }
     } else {
         if (class_exists("clsPmieducarEscolaComplemento")) {
             $tipo = 3;
             $obj_escola = new clsPmieducarEscolaComplemento($this->cod_escola);
             $obj_escola_det = $obj_escola->detalhe();
             $nm_escola = $obj_escola_det["nm_escola"];
             $cep = $obj_escola_det["cep"];
             $numero = $obj_escola_det["numero"];
             $complemento = $obj_escola_det["complemento"];
             $email = $obj_escola_det["email"];
             $cidade = $obj_escola_det["municipio"];
             $bairro = $obj_escola_det["bairro"];
             $logradouro = $obj_escola_det["logradouro"];
             $ddd_telefone = $obj_escola_det["ddd_telefone"];
             $telefone = $obj_escola_det["telefone"];
             $ddd_telefone_fax = $obj_escola_det["ddd_fax"];
             $telefone_fax = $obj_escola_det["fax"];
         }
     }
     if (class_exists("clsPmieducarEscolaLocalizacao")) {
         $obj_ref_cod_escola_localizacao = new clsPmieducarEscolaLocalizacao($registro["ref_cod_escola_localizacao"]);
         $det_ref_cod_escola_localizacao = $obj_ref_cod_escola_localizacao->detalhe();
         $registro["ref_cod_escola_localizacao"] = $det_ref_cod_escola_localizacao["nm_localizacao"];
     } else {
         $registro["ref_cod_escola_localizacao"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarEscolaLocalizacao\n-->";
     }
     if (class_exists("clsPmieducarEscolaRedeEnsino")) {
         $obj_ref_cod_escola_rede_ensino = new clsPmieducarEscolaRedeEnsino($registro["ref_cod_escola_rede_ensino"]);
         $det_ref_cod_escola_rede_ensino = $obj_ref_cod_escola_rede_ensino->detalhe();
         $registro["ref_cod_escola_rede_ensino"] = $det_ref_cod_escola_rede_ensino["nm_rede"];
     } else {
         $registro["ref_cod_escola_rede_ensino"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarEscolaRedeEnsino\n-->";
     }
     if (class_exists("clsPessoaJuridica")) {
         $obj_ref_idpes = new clsPessoaJuridica($registro["ref_idpes"]);
         $det_ref_idpes = $obj_ref_idpes->detalhe();
         $registro["ref_idpes"] = $det_ref_idpes["nome"];
     } else {
         $registro["ref_idpes"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsCadastroJuridica\n-->";
     }
     if ($registro["ref_cod_instituicao"]) {
         $this->addDetalhe(array("Institui&ccedil;&atilde;o", "{$registro["ref_cod_instituicao"]}"));
     }
     if ($nm_escola) {
         $this->addDetalhe(array("Escola", "{$nm_escola}"));
     }
     if ($registro["sigla"]) {
         $this->addDetalhe(array("Sigla", "{$registro["sigla"]}"));
     }
     if ($registro["ref_cod_escola_localizacao"]) {
         $this->addDetalhe(array("Localiza&ccedil;&atilde;o", "{$registro["ref_cod_escola_localizacao"]}"));
     }
     if ($registro["ref_cod_escola_rede_ensino"]) {
         $this->addDetalhe(array("Rede Ensino", "{$registro["ref_cod_escola_rede_ensino"]}"));
     }
     if ($registro["ref_idpes"]) {
         $this->addDetalhe(array("Raz&atilde;o Social", "{$registro["ref_idpes"]}"));
     }
     if ($tipo == 1) {
         if ($cep) {
             $cep = int2CEP($cep);
             $this->addDetalhe(array("CEP", "{$cep}"));
         }
         if ($idbai) {
             $this->addDetalhe(array("Bairro", "{$idbai}"));
         }
         if ($tipo_logradouro) {
             $this->addDetalhe(array("Tipo Logradouro", "{$tipo_logradouro}"));
         }
         if ($logradouro) {
             $this->addDetalhe(array("Logradouro", "{$logradouro}"));
         }
         if ($complemento) {
             $this->addDetalhe(array("Complemento", "{$complemento}"));
         }
         if ($numero) {
             $this->addDetalhe(array("N&uacute;mero", "{$numero}"));
         }
         if ($andar) {
             $this->addDetalhe(array("Andar", "{$andar}"));
         }
         if ($url) {
             $this->addDetalhe(array("Site", "{$url}"));
         }
         if ($email) {
             $this->addDetalhe(array("E-mail", "{$email}"));
         }
         if ($ddd_telefone_1) {
             $this->addDetalhe(array("DDD Telefone 1", "{$ddd_telefone_1}"));
         }
         if ($telefone_1) {
             $this->addDetalhe(array("Telefone 1", "{$telefone_1}"));
         }
         if ($ddd_telefone_2) {
             $this->addDetalhe(array("DDD Telefone 2", "{$ddd_telefone_2}"));
         }
         if ($telefone_2) {
             $this->addDetalhe(array("Telefone 2", "{$telefone_2}"));
         }
         if ($ddd_telefone_fax) {
             $this->addDetalhe(array("DDD Fax", "{$ddd_telefone_fax}"));
         }
         if ($telefone_fax) {
             $this->addDetalhe(array("Fax", "{$telefone_fax}"));
         }
     } else {
         if ($tipo == 2) {
             if ($cep) {
                 $cep = int2CEP($cep);
                 $this->addDetalhe(array("CEP", "{$cep}"));
             }
             if ($sigla_uf) {
                 $this->addDetalhe(array("Estado", "{$sigla_uf}"));
             }
             if ($cidade) {
                 $this->addDetalhe(array("Cidade", "{$cidade}"));
             }
             if ($bairro) {
                 $this->addDetalhe(array("Bairro", "{$bairro}"));
             }
             if ($tipo_logradouro) {
                 $this->addDetalhe(array("Tipo Logradouro", "{$tipo_logradouro}"));
             }
             if ($logradouro) {
                 $this->addDetalhe(array("Logradouro", "{$logradouro}"));
             }
             if ($complemento) {
                 $this->addDetalhe(array("Complemento", "{$complemento}"));
             }
             if ($numero) {
                 $this->addDetalhe(array("N&uacute;mero", "{$numero}"));
             }
             if ($andar) {
                 $this->addDetalhe(array("Andar", "{$andar}"));
             }
             if ($url) {
                 $this->addDetalhe(array("Site", "{$url}"));
             }
             if ($email) {
                 $this->addDetalhe(array("E-mail", "{$email}"));
             }
             if ($ddd_telefone_1) {
                 $this->addDetalhe(array("DDD Telefone 1", "{$ddd_telefone_1}"));
             }
             if ($telefone_1) {
                 $this->addDetalhe(array("Telefone 1", "{$telefone_1}"));
             }
             if ($ddd_telefone_2) {
                 $this->addDetalhe(array("DDD Telefone 2", "{$ddd_telefone_2}"));
             }
             if ($telefone_2) {
                 $this->addDetalhe(array("Telefone 2", "{$telefone_2}"));
             }
             if ($ddd_telefone_fax) {
                 $this->addDetalhe(array("DDD Fax", "{$ddd_telefone_fax}"));
             }
             if ($telefone_fax) {
                 $this->addDetalhe(array("Fax", "{$telefone_fax}"));
             }
         } else {
             if ($tipo == 3) {
                 if ($cep) {
                     $cep = int2CEP($cep);
                     $this->addDetalhe(array("CEP", "{$cep}"));
                 }
                 if ($cidade) {
                     $this->addDetalhe(array("Cidade", "{$cidade}"));
                 }
                 if ($bairro) {
                     $this->addDetalhe(array("Bairro", "{$bairro}"));
                 }
                 if ($logradouro) {
                     $this->addDetalhe(array("Logradouro", "{$logradouro}"));
                 }
                 if ($complemento) {
                     $this->addDetalhe(array("Complemento", "{$complemento}"));
                 }
                 if ($numero) {
                     $this->addDetalhe(array("N&uacute;mero", "{$numero}"));
                 }
                 if ($email) {
                     $this->addDetalhe(array("E-mail", "{$email}"));
                 }
                 if ($ddd_telefone) {
                     $this->addDetalhe(array("DDD Telefone", "{$ddd_telefone}"));
                 }
                 if ($telefone) {
                     $this->addDetalhe(array("Telefone", "{$telefone}"));
                 }
                 if ($ddd_telefone_fax) {
                     $this->addDetalhe(array("DDD Fax", "{$ddd_telefone_fax}"));
                 }
                 if ($telefone_fax) {
                     $this->addDetalhe(array("Fax", "{$telefone_fax}"));
                 }
             }
         }
     }
     $obj = new clspmieducarescolacurso();
     $lst = $obj->lista($this->cod_escola);
     if ($lst) {
         $tabela = "<table>\n\t\t\t\t\t       <tr align='center'>\n\t\t\t\t\t           <td bgcolor='#a1b3bd'><b>nome</b></td>\n\t\t\t\t\t       </tr>";
         $cont = 0;
         foreach ($lst as $valor) {
             if ($cont % 2 == 0) {
                 $color = " bgcolor='#e4e9ed' ";
             } else {
                 $color = " bgcolor='#ffffff' ";
             }
             $obj_curso = new clspmieducarcurso($valor["ref_cod_curso"]);
             $obj_curso->setorderby("nm_curso asc");
             $obj_curso_det = $obj_curso->detalhe();
             $nm_curso = $obj_curso_det["nm_curso"];
             $tabela .= "<tr>\n\t\t\t\t\t\t\t    <td {$color} align=left>{$nm_curso}</td>\n\t\t\t\t\t\t\t</tr>";
             $cont++;
         }
         $tabela .= "</table>";
     }
     if ($nm_curso) {
         $this->addDetalhe(array("Curso", "{$tabela}"));
     }
     if ($tabela = $this->listaAnos()) {
         $this->addDetalhe(array("-", "{$tabela}"));
     }
     $obj_permissoes = new clsPermissoes();
     $canCreate = $obj_permissoes->permissao_cadastra(561, $this->pessoa_logada, 3);
     $canEdit = $obj_permissoes->permissao_cadastra(561, $this->pessoa_logada, 7);
     if ($canCreate) {
         $this->url_novo = "educar_escola_cad.php";
     }
     if ($canEdit) {
         $this->url_editar = "educar_escola_cad.php?cod_escola={$registro["cod_escola"]}";
         $this->array_botao = array("Definir Ano Letivo");
         $this->array_botao_url = array("educar_escola_ano_letivo_cad.php?cod_escola={$registro["cod_escola"]}");
     }
     $this->url_cancelar = "educar_escola_lst.php";
     $this->largura = "100%";
 }
            $det_escola = $obj_escola->detalhe();
            $nm_escola = $det_escola['nome'];
            $this->campoRotulo("nm_escola", "Escola", $nm_escola);
        }
        if ($get_biblioteca) {
            $obj_per = new clsPermissoes();
            $ref_cod_biblioteca_ = $obj_per->getBiblioteca($pessoa_logada);
        }
    }
}
//                    administrador          institucional - CPD
if ($get_escola && ($nivel_usuario == 1 || $nivel_usuario == 2 || $cad_usuario)) {
    $opcoes_escola = array("" => "Selecione uma escola");
    // EDITAR
    if ($this->ref_cod_instituicao) {
        $obj_escola = new clsPmieducarEscola();
        $obj_escola->setOrderby("nome ASC");
        $lista = $obj_escola->lista(null, null, null, $this->ref_cod_instituicao, null, null, null, null, null, null, 1);
        if (is_array($lista) && count($lista)) {
            foreach ($lista as $registro) {
                $opcoes_escola["{$registro["cod_escola"]}"] = "{$registro['nome']}";
            }
        }
    }
    if ($get_biblioteca) {
        $this->campoLista("ref_cod_escola", "Escola", $opcoes_escola, $this->ref_cod_escola, "getBiblioteca(2);", null, null, null, $escola_desabilitado, $escola_obrigatorio);
    } else {
        $this->campoLista("ref_cod_escola", "Escola", $opcoes_escola, $this->ref_cod_escola, null, null, null, null, $escola_desabilitado, $escola_obrigatorio);
    }
}
if ($get_curso) {
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Infra Predio Comodo - Detalhe";
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $this->cod_infra_predio_comodo = $_GET["cod_infra_predio_comodo"];
     $tmp_obj = new clsPmieducarInfraPredioComodo($this->cod_infra_predio_comodo);
     $lst = $tmp_obj->lista($this->cod_infra_predio_comodo);
     if (is_array($lst)) {
         $registro = array_shift($lst);
     }
     if (!$registro) {
         header("location: educar_infra_predio_comodo_lst.php");
         die;
     }
     if (class_exists("clsPmieducarInfraComodoFuncao")) {
         $obj_ref_cod_infra_comodo_funcao = new clsPmieducarInfraComodoFuncao($registro["ref_cod_infra_comodo_funcao"]);
         $det_ref_cod_infra_comodo_funcao = $obj_ref_cod_infra_comodo_funcao->detalhe();
         $registro["ref_cod_infra_comodo_funcao"] = $det_ref_cod_infra_comodo_funcao["nm_funcao"];
     } else {
         $registro["ref_cod_infra_comodo_funcao"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarInfraComodoFuncao\n-->";
     }
     if (class_exists("clsPmieducarInfraPredio")) {
         $obj_ref_cod_infra_predio = new clsPmieducarInfraPredio($registro["ref_cod_infra_predio"]);
         $det_ref_cod_infra_predio = $obj_ref_cod_infra_predio->detalhe();
         $registro["ref_cod_infra_predio"] = $det_ref_cod_infra_predio["nm_predio"];
     } else {
         $registro["ref_cod_infra_predio"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarInfraPredio\n-->";
     }
     if (class_exists("clsPmieducarInstituicao")) {
         $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
         $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
         $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
     } else {
         $registro["ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
         echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
     }
     if (class_exists("clsPmieducarEscola")) {
         $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
         $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
         $nm_escola = $det_ref_cod_escola["nome"];
     } else {
         $registro["ref_cod_escola"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarEscola\n-->";
     }
     $obj_permissao = new clsPermissoes();
     $nivel_usuario = $obj_permissao->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         if ($registro["ref_cod_instituicao"]) {
             $this->addDetalhe(array("Institui&ccedil;&atilde;o", "{$registro["ref_cod_instituicao"]}"));
         }
     }
     if ($nivel_usuario == 1 || $nivel_usuario == 2) {
         if ($nm_escola) {
             $this->addDetalhe(array("Escola", "{$nm_escola}"));
         }
     }
     if ($registro["ref_cod_infra_predio"]) {
         $this->addDetalhe(array("Pr&eacute;dio", "{$registro["ref_cod_infra_predio"]}"));
     }
     if ($registro["nm_comodo"]) {
         $this->addDetalhe(array("C&ocirc;modo", "{$registro["nm_comodo"]}"));
     }
     if ($registro["ref_cod_infra_comodo_funcao"]) {
         $this->addDetalhe(array("Func&atilde;o C&ocirc;modo", "{$registro["ref_cod_infra_comodo_funcao"]}"));
     }
     if ($registro["area"]) {
         $this->addDetalhe(array("&Aacute;rea", "{$registro["area"]}"));
     }
     if ($registro["desc_comodo"]) {
         $this->addDetalhe(array("Descri&ccedil;&atilde;o C&ocirc;modo", "{$registro["desc_comodo"]}"));
     }
     $this->url_novo = "educar_infra_predio_comodo_cad.php";
     $this->url_editar = "educar_infra_predio_comodo_cad.php?cod_infra_predio_comodo={$registro["cod_infra_predio_comodo"]}";
     $this->url_cancelar = "educar_infra_predio_comodo_lst.php";
     $this->largura = "100%";
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Reserva Vaga - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === '' ? NULL : $val;
     }
     $lista_busca = array("S&eacute;rie", "Curso");
     $obj_permissao = new clsPermissoes();
     $nivel_usuario = $obj_permissao->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = 'Escola';
         $lista_busca[] = 'Institui&ccedil;&atilde;o';
     } elseif ($nivel_usuario == 2) {
         $lista_busca[] = "Escola";
     }
     $this->addCabecalhos($lista_busca);
     $get_escola = TRUE;
     $get_curso = TRUE;
     $get_escola_curso_serie = TRUE;
     include 'include/pmieducar/educar_campo_lista.php';
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET['pagina_' . $this->nome] ? $_GET['pagina_' . $this->nome] * $this->limite - $this->limite : 0;
     $obj_escola_serie = new clsPmieducarEscolaSerie();
     $obj_escola_serie->setLimite($this->limite, $this->offset);
     $lista = $obj_escola_serie->lista($this->ref_cod_escola, $this->ref_ref_cod_serie, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao, $this->ref_cod_curso);
     $total = $obj_escola_serie->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             if (class_exists('clsPmieducarSerie')) {
                 $obj_ref_cod_serie = new clsPmieducarSerie($registro['ref_cod_serie']);
                 $det_ref_cod_serie = $obj_ref_cod_serie->detalhe();
                 $nm_serie = $det_ref_cod_serie['nm_serie'];
             } else {
                 $registro['ref_cod_serie'] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarSerie\n-->";
             }
             if (class_exists('clsPmieducarCurso')) {
                 $obj_curso = new clsPmieducarCurso($registro["ref_cod_curso"]);
                 $det_curso = $obj_curso->detalhe();
                 $registro["ref_cod_curso"] = $det_curso["nm_curso"];
             } else {
                 $registro["ref_cod_serie"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarSerie\n-->";
             }
             if (class_exists('clsPmieducarEscola')) {
                 $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
                 $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
                 $nm_escola = $det_ref_cod_escola["nome"];
             } else {
                 $registro["ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
             }
             if (class_exists('clsPmieducarInstituicao')) {
                 $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                 $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
                 $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
             } else {
                 $registro["ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
             }
             $lista_busca = array("<a href=\"educar_reserva_vaga_det.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}\">{$nm_serie}</a>", "<a href=\"educar_reserva_vaga_det.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}\">{$registro["ref_cod_curso"]}</a>");
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "<a href=\"educar_reserva_vaga_det.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}\">{$nm_escola}</a>";
                 $lista_busca[] = "<a href=\"educar_reserva_vaga_det.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}\">{$registro["ref_cod_instituicao"]}</a>";
             } else {
                 if ($nivel_usuario == 2) {
                     $lista_busca[] = "<a href=\"educar_reserva_vaga_det.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}\">{$nm_escola}</a>";
                 }
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2('educar_reserva_vaga_lst.php', $total, $_GET, $this->nome, $this->limite);
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de reservas de vaga"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Acervo Assunto - Detalhe";
     $this->cod_acervo_assunto = $_GET["cod_acervo_assunto"];
     $tmp_obj = new clsPmieducarAcervoAssunto($this->cod_acervo_assunto);
     $registro = $tmp_obj->detalhe();
     if (class_exists("clsPmieducarBiblioteca")) {
         $obj_ref_cod_biblioteca = new clsPmieducarBiblioteca($registro["ref_cod_biblioteca"]);
         $det_ref_cod_biblioteca = $obj_ref_cod_biblioteca->detalhe();
         $registro["ref_cod_biblioteca"] = $det_ref_cod_biblioteca["nm_biblioteca"];
         if (class_exists("clsPmieducarInstituicao")) {
             $registro["ref_cod_instituicao"] = $det_ref_cod_biblioteca["ref_cod_instituicao"];
             $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
             $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
             $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
         } else {
             $registro["ref_cod_instituicao"] = "Erro na geracao";
             echo "<!--\nErro\nClasse nao existente: clsPmieducarInstituicao\n-->";
         }
     }
     if (class_exists("clsPmieducarEscola")) {
         $registro["ref_cod_escola"] = $det_ref_cod_biblioteca["ref_cod_escola"];
         $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
         $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
         $idpes = $det_ref_cod_escola["ref_idpes"];
         if ($idpes) {
             $obj_escola = new clsPessoaJuridica($idpes);
             $obj_escola_det = $obj_escola->detalhe();
             $registro["ref_cod_escola"] = $obj_escola_det["fantasia"];
         } else {
             $obj_escola = new clsPmieducarEscolaComplemento($registro["ref_cod_escola"]);
             $obj_escola_det = $obj_escola->detalhe();
             $registro["ref_cod_escola"] = $obj_escola_det["nm_escola"];
         }
     }
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if (!$registro) {
         header("location: educar_acervo_assunto_lst.php");
         die;
     }
     if ($nivel_usuario == 1) {
         if ($registro["ref_cod_instituicao"]) {
             $this->addDetalhe(array("Institui&ccedil;&atilde;o", "{$registro["ref_cod_instituicao"]}"));
         }
     }
     if ($nivel_usuario == 1 || $nivel_usuario == 2) {
         if ($registro["ref_cod_escola"]) {
             $this->addDetalhe(array("Escola", "{$registro["ref_cod_escola"]}"));
         }
     }
     if ($registro["ref_cod_biblioteca"]) {
         $this->addDetalhe(array("Biblioteca", "{$registro["ref_cod_biblioteca"]}"));
     }
     if ($registro["nm_assunto"]) {
         $this->addDetalhe(array("Assunto", "{$registro["nm_assunto"]}"));
     }
     if ($registro["descricao"]) {
         $this->addDetalhe(array("Descri&ccedil;&atilde;o", "{$registro["descricao"]}"));
     }
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(592, $this->pessoa_logada, 11)) {
         $this->url_novo = "educar_acervo_assunto_cad.php";
         $this->url_editar = "educar_acervo_assunto_cad.php?cod_acervo_assunto={$registro["cod_acervo_assunto"]}";
     }
     $this->url_cancelar = "educar_acervo_assunto_lst.php";
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_biblioteca_index.php" => "i-Educar - Biblioteca", "" => "Listagem de assuntos"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 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;
 }