From ba128eaee57f51c79e63ce5e2ccb0dcb56c57baf Mon Sep 17 00:00:00 2001 From: neijobson Date: Sun, 2 Oct 2016 23:30:14 -0300 Subject: [PATCH] Atualização da pré versão do módulo e criação do arquivo README.md. --- README.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sei/institucional/peticionamento/Leia-me.txt | 60 ++++++++++++++++++++++++++++++++---------------------------- sei/institucional/peticionamento/PeticionamentoControladorExterno.php | 23 +++++++++++++++++------ sei/institucional/peticionamento/PeticionamentoIntegracao.php | 2 +- sei/institucional/peticionamento/controlador_ajax_externo.php | 6 ++++++ sei/institucional/peticionamento/indisponibilidade_peticionamento_cadastro.php | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------- sei/institucional/peticionamento/indisponibilidade_peticionamento_usuario_externo_cadastro.php | 69 +++++++++++++++++++++++++++++++++++++++++++++------------------------ sei/institucional/peticionamento/int/ContatoPeticionamentoINT.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++-------------- sei/institucional/peticionamento/int/GerirTipoContextoPeticionamentoINT.php | 11 +---------- sei/institucional/peticionamento/peticionamento_contato_selecionar.php | 12 ++++++------ sei/institucional/peticionamento/peticionamento_interessado_cadastro.php | 735 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sei/institucional/peticionamento/peticionamento_interessado_cadastro_js.php | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------- sei/institucional/peticionamento/peticionamento_usuario_externo_cadastro.php | 95 ++++++++++++++++++++++++++++++++++++++--------------------------------------------------------- sei/institucional/peticionamento/peticionamento_usuario_externo_cadastro_bloco_documentos.php | 277 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------- sei/institucional/peticionamento/peticionamento_usuario_externo_cadastro_inicializacao.php | 3 +++ sei/institucional/peticionamento/peticionamento_usuario_externo_cadastro_js.php | 560 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ sei/institucional/peticionamento/peticionamento_usuario_externo_concluir.php | 49 +++++++++++++++++++++++++++++++++++++++++++++---- sei/institucional/peticionamento/rn/AcessoExternoPeticionamentoRN.php | 7 +++---- sei/institucional/peticionamento/rn/AtualizadorModuloPeticionamentoRN.php | 10 +++++----- sei/institucional/peticionamento/rn/EmailNotificacaoPeticionamentoRN.php | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------- sei/institucional/peticionamento/rn/ProcessoPeticionamentoRN.php | 88 ++++++++++++++++++++++++++++++++++------------------------------------------------------ 21 files changed, 1550 insertions(+), 1011 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e4cbf93 --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +# Módulo Peticionamento e Intimação Eletrônicos do SEI + + Data de Criação: 30/09/2016 + Desenvolvimento: Marcelo Bezerra (CAST) + Versão: 1.0.0 + +## Requisitos: +- SEI 2.6.0.A13 instalada (verificar valor da constante de versão do SEI no arquivo sei/SEI.php). +- ANTES de executar os scripts de instalação (itens 5 e 6 abaixo), o usuário de acesso aos bancos de dados do SEI e SIP, constante nos arquivos ConfiguracaoSEI.php e ConfiguracaoSip.php, deverá ter permissão de acesso total ao banco de dados, permitindo, por exemplo, criação e exclusão de tabelas. + +## Procedimentos para Instalação: + +1. Fazer backup dos banco de dados do SEI e SIP. +2. Carregar os arquivos do módulo localizados na pasta "/sei/institucional/peticionamento" e os scripts de instalação/atualização "/sei/sei_atualizar_versao_modulo_peticionamento.php" e "/sip/sip_atualizar_versao_modulo_peticionamento.php". +3. Editar o arquivo "sei/ConfiguracaoSEI.php", tomando o cuidado de usar editor que não altere o charset do arquivo, para adicionar a referência ao módulo Peticionamento na chave 'Modulos' abaixo da chave 'SEI': + + 'SEI' => array( + 'URL' => 'http://[Servidor_PHP]sei', + 'Producao' => false, + 'RepositorioArquivos' => '/var/sei/arquivos', + 'Modulos' => array(), + ), + + --Adicionar a referência ao módulo Peticionamento na array da chave 'Modulos' indicada acima: + + 'Modulos' => array('Peticionamento' => dirname(__FILE__).'/institucional/peticionamento'), + + 4) Logar no SEI e no SIP com Usuário com perfil "Administrador". + + 5) Rodar via navegador ou por linha de comando no servidor o script: http://[Servidor_PHP]/sei/sei_atualizar_versao_modulo_peticionamento.php + + 6) Rodar via navegador ou por linha de comando no servidor o script: http://[Servidor_PHP]/sip/sip_atualizar_versao_modulo_peticionamento.php + + --IMPORTANTE 1: Na execução dos dois scripts acima, ao final deve constar o termo "FIM". Do contrário, o script não foi executado até o final e algum dado não foi inserido/atualizado no banco de dados correspondente, devendo recuperar o backup e repetir o procedimento. + + --IMPORTANTE 2: Depois da execução com sucesso, fazer logoff no SEI e fazer login novamente utilizando Usuário com Perfil "Administrador" e tentar acessar os menus de Administração do módulo: Administração > Peticionamento Eletrônico. + + --IMPORTANTE 3: Depois da execução com sucesso, ainda, verificar no SEI e no SIP no menu Infra > Parâmetros se consta o parâmetro "VERSAO_MODULO_PETICIONAMENTO" com o valor da última versão do módulo. + + 7) Recomenda-se que, após a instalação/atualização do módulo, os scripts "/sei/sei_atualizar_versao_modulo_peticionamento.php" e "/sip/sip_atualizar_versao_modulo_peticionamento.php" sejam removidos do servidor. + + 8) Imediatamente após a instalação é necessário realizar as parametrizações do módulo em Administração > Peticionamento Eletrônico, para que o módulo seja utilizado adequadamente pelos Usuários Externos na tela de Acesso Externo do SEI: http://[Servidor_PHP]/sei/controlador_externo.php?acao=usuario_externo_logar&id_orgao_acesso_externo=0 + + 9) É imprescindível ativar no SIP para o Perfil "Administrador" do SEI os seguintes menus: + - Para cadastrar "Cargos" que serão utilizados pelos Usuários Externos na seleção do "Cargo/Função" na assinatura de cada Peticionamento e na seleção de "Cargo" no cadastro de novos Interessados, ativar os menus: + - "Contextos/Contatos / Cargos / Listar" (recurso "cargo_listar") + - "Contextos/Contatos / Cargos / Reativar" (recurso "cargo_reativar") + - Para cadastrar "Tratamentos" que serão utilizados pelos Usuários Externos na seleção de "Tratamento" no cadastro de novos Interessados, ativar os menus: + - "Contextos/Contatos / Tratamentos / Listar" (recurso "tratamento_listar") + - "Contextos/Contatos / Tratamentos / Reativar" (recurso "tratamento_reativar") + - Para cadastrar "Vocativos" que serão utilizados pelos Usuários Externos na seleção de "Vocativo" no cadastro de novos Interessados, ativar os menus: + - "Contextos/Contatos / Vocativos / Listar" (recurso "vocativo_listar") + - "Contextos/Contatos / Vocativos / Reativar" (recurso "vocativo_reativar") + - Para cadastrar "Tipos de Contexto" que serão utilizados na Administração > Peticionamento Eletrônico > Tipos de Contatos Permitidos e, consequentemente, pelos Usuários Externos no cadastro e seleção de Interessados, ativar os menus: + - "Contextos/Contatos / Tipos de Contexto / Listar" (recurso "tipo_contexto_contato_listar") + - "Contextos/Contatos / Tipos de Contexto / Reativar" (recurso "tipo_contexto_contato_reativar") + + 10) Não é aconselhável dar publicidade a registros de indisponibilidades do SEI até que o módulo possua funcionalidades afetas a Intimação Eletrônica, prevista para a versão 2.0. De qualquer forma, segue URL da página pública que lista os cadastrados realizados no menu Administração > Peticionamento Eletrônico > Indisponibilidades do SEI: http://[Servidor_PHP]/sei/institucional/peticionamento/indisponibilidade_peticionamento_usuario_externo_lista.php?acao_externa=indisponibilidade_peticionamento_usuario_externo_listar&id_orgao_acesso_externo=0 + + +Em caso de erro durante a execução do script verificar (lendo as mensagens de erro e no SEI em Infra > Log e no SIP em Infra > Log) se a causa é algum problema na infra-estrutura local. Neste caso, após a correção, restaurar o backup do banco de dados e executar novamente os scripts indicados nos itens 4 e 5 acima. + +Caso não seja possível identificar, a causa entrar em contato com o desenvolvedor responsável por esta versão do módulo: Marcelo Bezerra - marcelo.bezerra@cast.com.br \ No newline at end of file diff --git a/sei/institucional/peticionamento/Leia-me.txt b/sei/institucional/peticionamento/Leia-me.txt index 3982e9f..cb335c5 100644 --- a/sei/institucional/peticionamento/Leia-me.txt +++ b/sei/institucional/peticionamento/Leia-me.txt @@ -1,17 +1,13 @@ ============================================= -Módulo Peticionamento -Data de criação: 01/09/2016 +Módulo Peticionamento e Intimação Eletrônicos do SEI +Data de Criação: 30/09/2016 Desenvolvimento: Marcelo Bezerra (CAST) Versão: 1.0.0 ============================================= -================================== -PROCEDIMENTOS PARA INSTALAÇÃO: -================================== - -REQUISITOS PARA INSTALAÇÂO: - - SEI 2.6.0.A12 instalada (verificar valor da constante de versão do SEI no arquivo sei/SEI.php). - - ANTES de executar os scripts de instalação (itens 5 e 6 abaixo), o usuário de acesso ao banco de dados do SEI e SIP, constante nos arquivos ConfiguracaoSEI.php e ConfiguracaoSip.php, deverá ter permissão de acesso total ao banco de dados, permitindo, por exemplo, criação e exclusão de tabelas. +REQUISITOS: + - SEI 2.6.0.A13 instalada (verificar valor da constante de versão do SEI no arquivo sei/SEI.php). + - ANTES de executar os scripts de instalação (itens 5 e 6 abaixo), o usuário de acesso aos bancos de dados do SEI e SIP, constante nos arquivos ConfiguracaoSEI.php e ConfiguracaoSip.php, deverá ter permissão de acesso total ao banco de dados, permitindo, por exemplo, criação e exclusão de tabelas. PROCEDIMENTOS PARA INSTALAÇÂO: @@ -28,35 +24,43 @@ PROCEDIMENTOS PARA INSTALAÇÂO: 'Modulos' => array(), ), - Adicionar a referência ao módulo Peticionamento na array da chave 'Modulos' indicada acima: + --Adicionar a referência ao módulo Peticionamento na array da chave 'Modulos' indicada acima: 'Modulos' => array('Peticionamento' => dirname(__FILE__).'/institucional/peticionamento'), 4) Logar no SEI e no SIP com Usuário com perfil "Administrador". - 5) Rodar via browser (não via linha de comando) o script: - - http://[Servidor_PHP]/sei/sei_atualizar_versao_modulo_peticionamento.php - - 6) Rodar via browser (não via linha de comando) o script: - - http://[Servidor_PHP]/sip/sip_atualizar_versao_modulo_peticionamento.php - - --IMPORTANTE 1: Na execução dos dois scripts acima, ao final deve constar o termo "FIM". Do contrário, o script não foi executado até o final e algum dado não foi inserido/atualizado no banco de dados correspondente, devendo recuperar o backup correspondente e repetir o procedimento. + 5) Rodar via navegador ou por linha de comando no servidor o script: http://[Servidor_PHP]/sei/sei_atualizar_versao_modulo_peticionamento.php - --IMPORTANTE 2: Depois da execução com sucesso, fazer logoff do SEI e fazer login novamente utilizando Usuário com Perfil "Administrador" e tentar acessar os menus de Administração do módulo: Administração > Peticionamento Eletrônico. + 6) Rodar via navegador ou por linha de comando no servidor o script: http://[Servidor_PHP]/sip/sip_atualizar_versao_modulo_peticionamento.php - 7) Após a instalação, verificar no SEI e SIP no menu Infra > Parâmetros se consta o parâmetro "VERSAO_MODULO_PETICIONAMENTO" com o valor da última versão do módulo. - - 8) Recomenda-se que, após a instalação/atualização do módulo, os scripts "/sei/sei_atualizar_versao_modulo_peticionamento.php" e "/sip/sip_atualizar_versao_modulo_peticionamento.php" sejam removidos do servidor. + --IMPORTANTE 1: Na execução dos dois scripts acima, ao final deve constar o termo "FIM". Do contrário, o script não foi executado até o final e algum dado não foi inserido/atualizado no banco de dados correspondente, devendo recuperar o backup e repetir o procedimento. - 9) Imediatamente após a instalação é necessário realizar as parametrizações do módulo em Administração > Peticionamento Eletrônico, para que o módulo seja utilizado adequadamente pelos Usuários Externos na tela de Acesso Externo do SEI: http://[Servidor_PHP]/sei/controlador_externo.php?acao=usuario_externo_logar&id_orgao_acesso_externo=0 + --IMPORTANTE 2: Depois da execução com sucesso, fazer logoff no SEI e fazer login novamente utilizando Usuário com Perfil "Administrador" e tentar acessar os menus de Administração do módulo: Administração > Peticionamento Eletrônico. - --IMPORTANTE: É impreterível ativar no SIP, para o Perfil "Administrador" do SEI, os menus "Contextos/Contatos / Cargos / Novo", "Contextos/Contatos / Cargos / Listar" e "Contextos/Contatos / Cargos / Reativar", pois será necessário cadastrar "Cargos" para que os Usuários Externos possam selecionar o Cargo pertinente no momento da assinatura de cada Peticionamento. + --IMPORTANTE 3: Depois da execução com sucesso, ainda, verificar no SEI e no SIP no menu Infra > Parâmetros se consta o parâmetro "VERSAO_MODULO_PETICIONAMENTO" com o valor da última versão do módulo. + + 7) Recomenda-se que, após a instalação/atualização do módulo, os scripts "/sei/sei_atualizar_versao_modulo_peticionamento.php" e "/sip/sip_atualizar_versao_modulo_peticionamento.php" sejam removidos do servidor. - 10) Não é aconselhável dar publicidade a registros de indisponibilidades do SEI até que o módulo possua funcionalidades afetas a Intimação Eletrônica, prevista para a versão 2.0. De qualquer forma, segue URL da página pública que lista os cadastrados realizados no menu Administração > Peticionamento Eletrônico > Indisponibilidades do SEI: - http://[Servidor_PHP]/sei/institucional/peticionamento/indisponibilidade_peticionamento_usuario_externo_lista.php?acao_externa=indisponibilidade_peticionamento_usuario_externo_listar&id_orgao_acesso_externo=0 + 8) Imediatamente após a instalação é necessário realizar as parametrizações do módulo em Administração > Peticionamento Eletrônico, para que o módulo seja utilizado adequadamente pelos Usuários Externos na tela de Acesso Externo do SEI: http://[Servidor_PHP]/sei/controlador_externo.php?acao=usuario_externo_logar&id_orgao_acesso_externo=0 + + 9) É imprescindível ativar no SIP para o Perfil "Administrador" do SEI os seguintes menus: + - Para cadastrar "Cargos" que serão utilizados pelos Usuários Externos na seleção do "Cargo/Função" na assinatura de cada Peticionamento e na seleção de "Cargo" no cadastro de novos Interessados, ativar os menus: + - "Contextos/Contatos / Cargos / Listar" (recurso "cargo_listar") + - "Contextos/Contatos / Cargos / Reativar" (recurso "cargo_reativar") + - Para cadastrar "Tratamentos" que serão utilizados pelos Usuários Externos na seleção de "Tratamento" no cadastro de novos Interessados, ativar os menus: + - "Contextos/Contatos / Tratamentos / Listar" (recurso "tratamento_listar") + - "Contextos/Contatos / Tratamentos / Reativar" (recurso "tratamento_reativar") + - Para cadastrar "Vocativos" que serão utilizados pelos Usuários Externos na seleção de "Vocativo" no cadastro de novos Interessados, ativar os menus: + - "Contextos/Contatos / Vocativos / Listar" (recurso "vocativo_listar") + - "Contextos/Contatos / Vocativos / Reativar" (recurso "vocativo_reativar") + - Para cadastrar "Tipos de Contexto" que serão utilizados na Administração > Peticionamento Eletrônico > Tipos de Contatos Permitidos e, consequentemente, pelos Usuários Externos no cadastro e seleção de Interessados, ativar os menus: + - "Contextos/Contatos / Tipos de Contexto / Listar" (recurso "tipo_contexto_contato_listar") + - "Contextos/Contatos / Tipos de Contexto / Reativar" (recurso "tipo_contexto_contato_reativar") + + 10) Não é aconselhável dar publicidade a registros de indisponibilidades do SEI até que o módulo possua funcionalidades afetas a Intimação Eletrônica, prevista para a versão 2.0. De qualquer forma, segue URL da página pública que lista os cadastrados realizados no menu Administração > Peticionamento Eletrônico > Indisponibilidades do SEI: http://[Servidor_PHP]/sei/institucional/peticionamento/indisponibilidade_peticionamento_usuario_externo_lista.php?acao_externa=indisponibilidade_peticionamento_usuario_externo_listar&id_orgao_acesso_externo=0 + -Em caso de erro durante a execução do script verificar (lendo as mensagens de erro e os logs no SEI em Infra > Log e no SIP em Infra > Log) se a causa é algum problema na infra-estrutura local. Neste caso, após a correção, restaurar o backup do banco de dados e executar novamente os scripts indicados nos itens 4 e 5 acima. +Em caso de erro durante a execução do script verificar (lendo as mensagens de erro e no SEI em Infra > Log e no SIP em Infra > Log) se a causa é algum problema na infra-estrutura local. Neste caso, após a correção, restaurar o backup do banco de dados e executar novamente os scripts indicados nos itens 4 e 5 acima. Caso não seja possível identificar, a causa entrar em contato com o desenvolvedor responsável por esta versão do módulo: Marcelo Bezerra - marcelo.bezerra@cast.com.br \ No newline at end of file diff --git a/sei/institucional/peticionamento/PeticionamentoControladorExterno.php b/sei/institucional/peticionamento/PeticionamentoControladorExterno.php index c1f3f4f..d44c9c3 100644 --- a/sei/institucional/peticionamento/PeticionamentoControladorExterno.php +++ b/sei/institucional/peticionamento/PeticionamentoControladorExterno.php @@ -113,14 +113,25 @@ case 'contato_cpf_cnpj': - $objContatoDTO = ContatoPeticionamentoINT::getContatoByCPFCNPJ( $_POST['cpfcnpj'] ); + $cpfcnpj = $_POST['cpfcnpj']; + $cpfcnpj = str_replace(".","", $cpfcnpj ); + $cpfcnpj = str_replace("-","", $cpfcnpj ); + $cpfcnpj = str_replace("/","", $cpfcnpj ); + + $total = ContatoPeticionamentoINT::getTotalContatoByCPFCNPJ( $cpfcnpj ); $json = null; - if( $objContatoDTO != null){ - $objContato = new stdClass(); - $objContato->nome = $objContatoDTO->getStrNome(); - $objContato->id = $objContatoDTO->getNumIdContato(); - $json = json_encode( $objContato , true ); + if( $total == 1 ) { + + $objContatoDTO = ContatoPeticionamentoINT::getContatoByCPFCNPJ( $cpfcnpj ); + + if( $objContatoDTO != null){ + $objContato = new stdClass(); + $objContato->nome = $objContatoDTO->getStrNome(); + $objContato->id = $objContatoDTO->getNumIdContato(); + $json = json_encode( $objContato , true ); + } + } echo $json; diff --git a/sei/institucional/peticionamento/PeticionamentoIntegracao.php b/sei/institucional/peticionamento/PeticionamentoIntegracao.php index 4fe453d..088fc8f 100644 --- a/sei/institucional/peticionamento/PeticionamentoIntegracao.php +++ b/sei/institucional/peticionamento/PeticionamentoIntegracao.php @@ -181,7 +181,7 @@ class PeticionamentoIntegracao extends SeiIntegracao { $urlLink = $arrMenusNomes[ $key ]; $nomeMenu = $key; if($nomeMenu=='Peticionamento'){ - $arrLink[] = '-^^^' . $nomeMenu .'^'; + $arrLink[] = '-^#^^' . $nomeMenu .'^'; $arrLink[] = '--^' . $urlLink .'^^' . 'Processo Novo' .'^'; }else{ $arrLink[] = '-^' . $urlLink .'^^' . $nomeMenu .'^'; diff --git a/sei/institucional/peticionamento/controlador_ajax_externo.php b/sei/institucional/peticionamento/controlador_ajax_externo.php index 3bf3467..dfaa82a 100644 --- a/sei/institucional/peticionamento/controlador_ajax_externo.php +++ b/sei/institucional/peticionamento/controlador_ajax_externo.php @@ -14,6 +14,12 @@ try{ switch($_GET['acao_ajax_externo']){ + case 'contato_pj_vinculada': + + $objContatoDTO = ContatoINT::obterSugestoesRI0571($_POST['idContextoContato']); + $xml = InfraAjax::gerarXMLComplementosArrInfraDTO($objContatoDTO,array('Telefone','Fax','Email','SitioInternet','Endereco','Bairro','SiglaEstado','NomeCidade','NomePais','Cep')); + break; + case 'contato_auto_completar_contexto_pesquisa': //alterado para atender anatel exibir apenas nome contato $objContatoDTO = new ContatoDTO(); diff --git a/sei/institucional/peticionamento/indisponibilidade_peticionamento_cadastro.php b/sei/institucional/peticionamento/indisponibilidade_peticionamento_cadastro.php index 28e2a24..6f6f058 100644 --- a/sei/institucional/peticionamento/indisponibilidade_peticionamento_cadastro.php +++ b/sei/institucional/peticionamento/indisponibilidade_peticionamento_cadastro.php @@ -20,6 +20,30 @@ try { SessaoSEI::getInstance()->validarLink(); + //========================================= + //INICIO - Funções de apoio ao download + //========================================= + + function obterDiretorio(IndisponibilidadeAnexoPeticionamentoDTO $objAnexoDTO){ + try{ + return ConfiguracaoSEI::getInstance()->getValor('SEI','RepositorioArquivos').'/'.substr($objAnexoDTO->getDthInclusao(),6,4).'/'.substr($objAnexoDTO->getDthInclusao(),3,2) .'/' .substr($objAnexoDTO->getDthInclusao(),0,2); + }catch(Exception $e){ + throw new InfraException('Erro obtendo diretório do anexo.',$e); + } + } + + function obterLocalizacao(IndisponibilidadeAnexoPeticionamentoDTO $objAnexoDTO){ + try{ + return obterDiretorio($objAnexoDTO).'/'.$objAnexoDTO->getNumIdAnexoPeticionamento(); + }catch(Exception $e){ + throw new InfraException('Erro obtendo localização do anexo.',$e); + } + } + + //========================================= + //FIM - Funções de apoio ao download + //========================================= + if( $_GET['acao'] != "indisponibilidade_peticionamento_download"){ PaginaSEI::getInstance()->verificarSelecao('indisponibilidade_peticionamento_alterar'); } @@ -81,7 +105,6 @@ try { $objIndisponibilidadePeticionamentoDTO->setDthDataFim($dateFim); $objIndisponibilidadePeticionamentoDTO->setStrResumoIndisponibilidade($_POST['txtResumoIndisponibilidade']); $objIndisponibilidadePeticionamentoDTO->setStrSinProrrogacao($_POST['hdnSinProrrogacao']); - //echo $_POST['hdnAnexos']; die; $objIndisponibilidadePeticionamentoDTO->setArrObjAnexoDTO(IndisponibilidadeAnexoPeticionamentoINT::processarAnexo($_POST['hdnAnexos'])); //processarAnexo @@ -159,8 +182,7 @@ try { $objIndisponibilidadePeticionamentoRN->alterar($objIndisponibilidadePeticionamentoDTO); PaginaSEI::getInstance()->adicionarMensagem('Os dados foram alterados com sucesso.'); header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.PaginaSEI::getInstance()->getAcaoRetorno().'&acao_origem='.$_GET['acao'].'&id_indisponibilidade_peticionamento='.$objIndisponibilidadePeticionamentoDTO->getNumIdIndisponibilidade().PaginaSEI::getInstance()->montarAncora($objIndisponibilidadePeticionamentoDTO->getNumIdIndisponibilidade()))); - //header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?id_tipo_processo_litigioso='. $_POST['hdnIdTipoProcessoLitigioso'] . '&acao='.PaginaSEI::getInstance()->getAcaoRetorno().'&acao_origem='.$_GET['acao'].PaginaSEI::getInstance()->montarAncora($objFaseLitigiosoDTO->getNumIdFaseLitigioso()))); - die; + die; } catch(Exception $e){ PaginaSEI::getInstance()->setBolAutoRedimensionar(false); @@ -193,18 +215,45 @@ try { } if (file_exists($file)) { - header('Pragma: public'); - header("Cache-Control: no-cache, no-store, post-check=0, pre-check=0, must-revalidate"); - header('Pragma: no-cache'); - header('Expires: 0'); - header('Content-Description: File Transfer'); - header('Content-Disposition: attachment; filename="' . $_POST['hdnNomeArquivoDownloadReal'] . '"'); - header('Content-Length: ' . filesize($file)); - readfile($file, true); - exit; + + PaginaSEI::getInstance()->getObjInfraLog()->gravar($file); + + try { + + //implementaçao baseada na pagina "anexo_download.php" + header("Pragma: public"); + header("Cache-Control: private, no-cache, no-store, post-check=0, pre-check=0"); + header("Expires: 0"); + + $strContentDisposition = 'inline'; + + if ((isset($_GET['download']) && $_GET['download']=='1')) { + $strContentDisposition = 'attachment'; + } + + PaginaSEI::montarHeaderDownload($_POST['hdnNomeArquivoDownloadReal'],$strContentDisposition); + + ob_implicit_flush(); + ob_flush(); + + $fp = fopen(obterLocalizacao($objIndisponibilidadeAnexoPeticionamentoDTO), "rb"); + while (!feof($fp)) { + echo fread($fp, TAM_BLOCO_LEITURA_ARQUIVO); + } + fclose($fp); + + ob_flush(); + break; + + }catch(Exception $e){ + PaginaSEI::getInstance()->getObjInfraLog()->gravar($e->getTraceAsString()); + echo 'InfraLog'; + } + //exit; } - die; + break; + //die; case 'indisponibilidade_peticionamento_consultar': $strTitulo = 'Consultar Indisponibilidade do SEI'; @@ -449,7 +498,7 @@ function inicializar(){ var strHash = document.getElementById('hdnAnexos').value; var arrHash = strHash.split('±'); - var urlBase = "formatarXHTML(SessaoSEI::getInstance()->assinarLink('controlador.php?acao=indisponibilidade_peticionamento_download'))?>"; + var urlBase = "formatarXHTML(SessaoSEI::getInstance()->assinarLink('controlador.php?download=1&acao=indisponibilidade_peticionamento_download'))?>"; document.getElementById('hdnNomeArquivoDownload').value = arrHash[0]; document.getElementById('hdnNomeArquivoDownloadReal').value = arrHash[1]; @@ -502,15 +551,14 @@ function inicializar(){ foreach(array_keys($arrAcoesRemover) as $id) { - $urlBase = PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink('controlador.php?acao=indisponibilidade_peticionamento_download')); + $urlBase = PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink('controlador.php?download=1&acao=indisponibilidade_peticionamento_download')); ?> var strHash = document.getElementById('hdnAnexos').value; var arrHash = strHash.split('±'); //hash anexo / nome real do arquivo - //alert('teste 1 '); - document.getElementById('hdnNomeArquivoDownload').value = ''; + document.getElementById('hdnNomeArquivoDownload').value = ''; document.getElementById('hdnNomeArquivoDownloadReal').value = arrHash[1]; @@ -520,8 +568,6 @@ function inicializar(){ "')\">Baixar anexo", false, false); - - //alert('teste 2'); @@ -530,8 +576,6 @@ function inicializar(){ "')\">Baixar anexo", false, true); - - //alert('teste 3'); @@ -645,7 +689,6 @@ function validarCadastro(){ if(!prorrogacao) { alert('Informe se a Indisponibilidade justifica prorrogação automática dos prazos'); - //alert('Informe a Indisponibilidade justifica prorrogação automática dos prazos.'); document.getElementById('rdProrrogacaoSim').focus(); return false; } diff --git a/sei/institucional/peticionamento/indisponibilidade_peticionamento_usuario_externo_cadastro.php b/sei/institucional/peticionamento/indisponibilidade_peticionamento_usuario_externo_cadastro.php index 2b70d57..7e42130 100644 --- a/sei/institucional/peticionamento/indisponibilidade_peticionamento_usuario_externo_cadastro.php +++ b/sei/institucional/peticionamento/indisponibilidade_peticionamento_usuario_externo_cadastro.php @@ -11,21 +11,29 @@ try { require_once dirname(__FILE__).'/../../SEI.php'; session_start(); + + //========================================= + //INICIO - Funções de apoio ao download + //========================================= + function obterDiretorio(IndisponibilidadeAnexoPeticionamentoDTO $objAnexoDTO){ + try{ + return ConfiguracaoSEI::getInstance()->getValor('SEI','RepositorioArquivos').'/'.substr($objAnexoDTO->getDthInclusao(),6,4).'/'.substr($objAnexoDTO->getDthInclusao(),3,2) .'/' .substr($objAnexoDTO->getDthInclusao(),0,2); + }catch(Exception $e){ + throw new InfraException('Erro obtendo diretório do anexo.',$e); + } + } - ////////////////////////////////////////////////////////////////////////////// - //InfraDebug::getInstance()->setBolLigado(false); - //InfraDebug::getInstance()->setBolDebugInfra(false); - //InfraDebug::getInstance()->limpar(); - ////////////////////////////////////////////////////////////////////////////// - //PaginaPeticionamentoExterna::getInstance()->setBolXHTML(false); - //SessaoSEIExterna::getInstance()->validarLink(); - - //if( isset( $_GET['acao_externa'] ) && $_GET['acao_externa'] != "indisponibilidade_peticionamento_usuario_externo_download" ){ - //PaginaPeticionamentoExterna::getInstance()->verificarSelecao('indisponibilidade_peticionamento_usuario_externo_alterar'); - //} + function obterLocalizacao(IndisponibilidadeAnexoPeticionamentoDTO $objAnexoDTO){ + try{ + return obterDiretorio($objAnexoDTO).'/'.$objAnexoDTO->getNumIdAnexoPeticionamento(); + }catch(Exception $e){ + throw new InfraException('Erro obtendo localização do anexo.',$e); + } + } + //========================================= + //FIM - Funções de apoio ao download + //========================================= - //SessaoSEIExterna::getInstance()->validarPermissao($_GET['acao_externa']); - PaginaPeticionamentoExterna::getInstance()->setTipoPagina(PaginaPeticionamentoExterna::$TIPO_PAGINA_SEM_MENU); PaginaPeticionamentoExterna::getInstance()->getBolAutoRedimensionar(); @@ -41,7 +49,6 @@ try { $objArquivoExtensaoDTO->retStrExtensao(); $objArquivoExtensaoDTO->retStrSinAtivo(); $objArquivoExtensaoDTO->setStrSinAtivo('S'); - //$arrObjArquivoExtensaoDTO[] = $objArquivoExtensaoDTO; $objArquivoExtensaoRN = new IndisponibilidadeAnexoPeticionamentoRN(); $arrObjArquivoExtensaoDTO = $objArquivoExtensaoRN->listarAnexoPublico($objArquivoExtensaoDTO); $arrExtPermitidas = array(); @@ -80,18 +87,32 @@ try { if (file_exists($file)) { - header('Pragma: public'); + //implementaçao baseada na pagina "anexo_download.php" + header("Pragma: public"); header("Cache-Control: private, no-cache, no-store, post-check=0, pre-check=0"); - header('Expires: 0'); - header('Content-Description: File Transfer'); - header('Content-Type: application/octet-stream'); - header('Content-Disposition: attachment; filename="'. $_POST['hdnNomeArquivoDownloadReal'] .'"'); - header('Content-Length: ' . filesize($file)); - readfile($file, true); - exit; + header("Expires: 0"); + $strContentDisposition = 'inline'; + + if ((isset($_GET['download']) && $_GET['download']=='1')) { + $strContentDisposition = 'attachment'; + } + + PaginaSEI::montarHeaderDownload($_POST['hdnNomeArquivoDownloadReal'],$strContentDisposition); + + ob_implicit_flush(); + ob_flush(); + + $fp = fopen(obterLocalizacao($objIndisponibilidadeAnexoPeticionamentoDTO), "rb"); + while (!feof($fp)) { + echo fread($fp, TAM_BLOCO_LEITURA_ARQUIVO); + } + fclose($fp); + + ob_flush(); + break; } - die; + //die; case 'indisponibilidade_peticionamento_usuario_externo_consultar': @@ -194,7 +215,7 @@ if (count($arrAcoesRemover)>0 || $_POST['hdnAnexos'] != "" ){ foreach(array_keys($arrAcoesRemover) as $id) { //$urlBaseLink = ""; $urlBase = ConfiguracaoSEI::getInstance()->getValor('SEI','URL') . "/institucional/peticionamento/"; - $urlBaseLink = $urlBase . "indisponibilidade_peticionamento_usuario_externo_cadastro.php?acao_externa=indisponibilidade_peticionamento_usuario_externo_download"; + $urlBaseLink = $urlBase . "indisponibilidade_peticionamento_usuario_externo_cadastro.php?download=1&acao_externa=indisponibilidade_peticionamento_usuario_externo_download"; //$urlBaseLink = PaginaPeticionamentoExterna::getInstance()->formatarXHTML(SessaoSEIExterna::getInstance()->assinarLink('controlador_externo.php?acao=indisponibilidade_peticionamento_usuario_externo_download')); } } diff --git a/sei/institucional/peticionamento/int/ContatoPeticionamentoINT.php b/sei/institucional/peticionamento/int/ContatoPeticionamentoINT.php index e547d9b..42e5fbc 100644 --- a/sei/institucional/peticionamento/int/ContatoPeticionamentoINT.php +++ b/sei/institucional/peticionamento/int/ContatoPeticionamentoINT.php @@ -12,26 +12,24 @@ class ContatoPeticionamentoINT extends ContatoINT { public static function getContatoByCPFCNPJ( $cpfcnpj ){ $objContextoContatoDTO = new ContatoDTO(); - /* - $objContextoContatoDTO->retStrTelefone(); - $objContextoContatoDTO->retStrFax(); - $objContextoContatoDTO->retStrEmail(); - $objContextoContatoDTO->retStrSitioInternet(); - $objContextoContatoDTO->retStrEndereco(); - $objContextoContatoDTO->retStrBairro(); - $objContextoContatoDTO->retStrSiglaEstado(); - $objContextoContatoDTO->retStrNomeCidade(); - $objContextoContatoDTO->retStrNomePais(); - $objContextoContatoDTO->retStrCep(); - */ $objContextoContatoDTO->retStrNome(); $objContextoContatoDTO->retNumIdContato(); $objContextoContatoDTO->retStrSigla(); $objContextoContatoDTO->retStrSinAtivo(); - $objContextoContatoDTO->setStrSigla( $cpfcnpj ); - $objContextoContatoDTO->setStrSinAtivo('S'); + $objContextoContatoDTO->adicionarCriterio(array('Cpf', 'Cnpj', 'SinAtivo'), + + array(InfraDTO::$OPER_IGUAL, InfraDTO::$OPER_IGUAL, InfraDTO::$OPER_IGUAL), + + array( $cpfcnpj, $cpfcnpj,'S'), + + array(InfraDTO::$OPER_LOGICO_OR, + InfraDTO::$OPER_LOGICO_AND) + ); + + //$objContextoContatoDTO->setStrSigla( $cpfcnpj ); + //$objContextoContatoDTO->setStrSinAtivo('S'); $objContatoRN = new ContatoRN(); $objContextoContatoDTO = $objContatoRN->consultarRN0324($objContextoContatoDTO); @@ -39,5 +37,39 @@ class ContatoPeticionamentoINT extends ContatoINT { return $objContextoContatoDTO; } + public static function getTotalContatoByCPFCNPJ( $cpfcnpj ){ + + $objContextoContatoDTO = new ContatoDTO(); + + $objContextoContatoDTO->retStrNome(); + $objContextoContatoDTO->retNumIdContato(); + $objContextoContatoDTO->retStrSigla(); + $objContextoContatoDTO->retStrSinAtivo(); + + $objContextoContatoDTO->adicionarCriterio(array('Cpf', 'Cnpj', 'SinAtivo'), + + array(InfraDTO::$OPER_IGUAL, InfraDTO::$OPER_IGUAL, InfraDTO::$OPER_IGUAL), + + array( $cpfcnpj, $cpfcnpj,'S'), + + array(InfraDTO::$OPER_LOGICO_OR, + InfraDTO::$OPER_LOGICO_AND) + ); + + //$objContextoContatoDTO->setStrSigla( $cpfcnpj ); + //$objContextoContatoDTO->setStrSinAtivo('S'); + + $objContatoRN = new ContatoRN(); + $arrObjContextoContatoDTO = $objContatoRN->listarRN0325($objContextoContatoDTO); + + $total = 0; + + if( $arrObjContextoContatoDTO != null && count( $arrObjContextoContatoDTO ) > 0 ){ + $total = count( $arrObjContextoContatoDTO ); + } + + return $total; + } + } ?> \ No newline at end of file diff --git a/sei/institucional/peticionamento/int/GerirTipoContextoPeticionamentoINT.php b/sei/institucional/peticionamento/int/GerirTipoContextoPeticionamentoINT.php index 6599e1e..bff7f25 100644 --- a/sei/institucional/peticionamento/int/GerirTipoContextoPeticionamentoINT.php +++ b/sei/institucional/peticionamento/int/GerirTipoContextoPeticionamentoINT.php @@ -28,7 +28,7 @@ class GerirTipoContextoPeticionamentoINT extends InfraINT { $objTipoContextoContatoRN = new TipoContextoContatoRN(); $arrObjTipoContextoContatoDTO = $objTipoContextoContatoRN->listarRN0337($objTipoContextoContatoDTO); return $arrObjTipoContextoContatoDTO; - //return parent::montarSelectArrInfraDTO($strPrimeiroItemValor, $strPrimeiroItemDescricao, $strValorItemSelecionado, $arrObjTipoContextoContatoDTO, 'IdTipoContextoContato', 'Nome'); + } public static function montarSelectTipoInteressado($strPrimeiroItemValor, $strPrimeiroItemDescricao, $strValorItemSelecionado, $strTipo){ @@ -44,15 +44,6 @@ class GerirTipoContextoPeticionamentoINT extends InfraINT { $objTipoContextoContatoDTO->setStrSinSelecaoInteressado('S'); } - if ($strValorItemSelecionado!=null){ - - $objTipoContextoContatoDTO->setBolExclusaoLogica(false); - $objTipoContextoContatoDTO->adicionarCriterio(array('NomeTipoContexto'), - array(InfraDTO::$OPER_IGUAL), - array($strValorItemSelecionado), - InfraDTO::$OPER_LOGICO_OR); - } - $objRelTipoContextoContatoRN = new GerirTipoContextoPeticionamentoRN(); $arrObjTipoContextoContatoDTO = $objRelTipoContextoContatoRN->listar($objTipoContextoContatoDTO); return parent::montarSelectArrInfraDTO($strPrimeiroItemValor, $strPrimeiroItemDescricao, $strValorItemSelecionado, $arrObjTipoContextoContatoDTO , 'IdTipoContextoContato', 'NomeTipoContexto'); diff --git a/sei/institucional/peticionamento/peticionamento_contato_selecionar.php b/sei/institucional/peticionamento/peticionamento_contato_selecionar.php index edf09b0..7365634 100644 --- a/sei/institucional/peticionamento/peticionamento_contato_selecionar.php +++ b/sei/institucional/peticionamento/peticionamento_contato_selecionar.php @@ -110,10 +110,10 @@ try { $arrComandos = array(); - $arrComandos[] = ''; + $arrComandos[] = ''; if (PaginaSEIExterna::getInstance()->isBolPaginaSelecao()){ - $arrComandos[] = ''; + $arrComandos[] = ''; } if($_GET['acao']=='contexto_selecionar' || @@ -204,7 +204,7 @@ try { $strCaptionTabela = ''; if ($_GET['acao'] == 'peticionamento_contato_listar'){ $strSumarioTabela = 'Tabela de Interessados.'; - $strCaptionTabela .= 'Interessadis'; + $strCaptionTabela .= 'Interessados'; }else{ $strSumarioTabela = 'Tabela de Interessados.'; $strCaptionTabela .= 'Interessados'; @@ -377,7 +377,7 @@ try { ''."\n"; } - $arrComandos[] = ''; + $arrComandos[] = ''; $strItensSelGrupoContato = GrupoContatoINT::ConjuntoPorUnidadeRI0515('null',' ',$numIdGrupoContato); $strItensSelTipoContextoContato = TipoContextoContatoINT::montarSelectNomeRI0518('null',' ',$numTipoContextoContato); @@ -467,10 +467,10 @@ PaginaSEIExterna::getInstance()->abrirBody($strTitulo,'onload="inicializar();"') PaginaSEIExterna::getInstance()->abrirAreaDados('6.5em'); ?> - + - + - -
+ + + + +
+ montarBarraComandosSuperior($arrComandos); + PaginaSEIExterna::getInstance()->abrirAreaDados('auto'); + ?> - -