Commit 05d5408d0b9868ff74ff3c25bfd30d8cdf7505aa

Authored by Guilherme Andrade Del Cantoni
1 parent cd7a9890

Ajuste em paginação de dados do SQL Server

@@ -31,7 +31,14 @@ Procedimentos de instalação do módulo nos servidores de aplicação e atualiz @@ -31,7 +31,14 @@ Procedimentos de instalação do módulo nos servidores de aplicação e atualiz
31 - **SEI versão 3.0.5 ou superior instalada, exceto a versão 3.0.10.** 31 - **SEI versão 3.0.5 ou superior instalada, exceto a versão 3.0.10.**
32 - Usuário de acesso ao banco de dados do SEI e SIP com permissões para criar novas estruturas no banco de dados. 32 - Usuário de acesso ao banco de dados do SEI e SIP com permissões para criar novas estruturas no banco de dados.
33 33
34 -Para iniciar os procedimentos de configuração do módulo, será necessário registrar no **ConectaGov** as unidades administrativas que poderão realizar o envio e recebimento de processos/documentos externo no SEI. Este procedimento precisa ser realizado pelo **Gestor de Protocolo** previamente habilitado no portal do **ConectaGov**. Os testes devem ser feitos primeiro em um ambiente de homologação. Para solicitação de acesso ao ambiente de homologação, acesse [http://homolog.pen.portal.trafficmanager.net/solicitarCadastroComite](http://homolog.pen.portal.trafficmanager.net/solicitarCadastroComite "Portal de Administração ConectaGov PEN - Cadastro de Comitê"). Para maiores informações, entre em contato pelo e-mail processo.eletronico@planejamento.gov.br 34 +Para iniciar os procedimentos de configuração do módulo, será necessário registrar no **ConectaGov** as unidades administrativas que poderão realizar o envio e recebimento de processos/documentos externo no SEI. Este procedimento precisa ser realizado pelo **Gestor de Protocolo** previamente habilitado no portal do **ConectaGov**. Os testes devem ser feitos primeiro em um ambiente de desenvolvimento/homologação.
  35 +Para solicitação de acesso aos ambientes, acesse os seguintes endereços:
  36 +
  37 + - Desenvolvimento [http://pen-portal.trafficmanager.net/solicitarCadastroComite](http://pen-portal.trafficmanager.net/solicitarCadastroComite "DESENVOLVIMENTO: Portal de Administração ConectaGov PEN - Cadastro de Comitê")
  38 + - Homologação [http://homolog.pen.portal.trafficmanager.net/solicitarCadastroComite](http://homolog.pen.portal.trafficmanager.net/solicitarCadastroComite "HOMOLOGAÇÃO: Portal de Administração ConectaGov PEN - Cadastro de Comitê")
  39 + - Produção [http://conectagov.processoeletronico.gov.br/solicitarCadastroComite](http://conectagov.processoeletronico.gov.br/solicitarCadastroComite "PRODUÇÃO: Portal de Administração ConectaGov PEN - Cadastro de Comitê")
  40 +
  41 + Para maiores informações, entre em contato pelo e-mail processo.eletronico@planejamento.gov.br
35 42
36 ### Procedimentos 43 ### Procedimentos
37 44
@@ -126,7 +133,7 @@ Estes dois componentes são utilizados para gerenciar a fila de recebimento de n @@ -126,7 +133,7 @@ Estes dois componentes são utilizados para gerenciar a fila de recebimento de n
126 133
127 Para o ambiente de produção, deverá ser utilizado um certificado digital válido gerado por uma Autoridade de Registro - AR confiável (Exemplo: ICP-Brasil, Certisign, Verisign, etc.). 134 Para o ambiente de produção, deverá ser utilizado um certificado digital válido gerado por uma Autoridade de Registro - AR confiável (Exemplo: ICP-Brasil, Certisign, Verisign, etc.).
128 135
129 - Maiores informações e solicitações podem ser feitas através do e-mail processo.eletrônico@planejamento.gov.br. 136 + Maiores informações e solicitações podem ser feitas através do e-mail processo.eletronico@planejamento.gov.br.
130 137
131 8. Mover o arquivo de instalação do módulo no SEI **sei\_atualizar\_versao\_modulo_pen.php** para a pasta **sei/scripts**. Lembre-se de mover, e não copiar, por questões de segurança e padronização. 138 8. Mover o arquivo de instalação do módulo no SEI **sei\_atualizar\_versao\_modulo_pen.php** para a pasta **sei/scripts**. Lembre-se de mover, e não copiar, por questões de segurança e padronização.
132 139
@@ -215,7 +222,7 @@ Estes dois componentes são utilizados para gerenciar a fila de recebimento de n @@ -215,7 +222,7 @@ Estes dois componentes são utilizados para gerenciar a fila de recebimento de n
215 222
216 Caso a opção for pela criação de um novo tipo de processo específico, segue abaixo sugestão para configuração: 223 Caso a opção for pela criação de um novo tipo de processo específico, segue abaixo sugestão para configuração:
217 224
218 - Nome: Demanda Externa: Outros Órgãos Públicos 225 + Nome: Processo Recebido Externamente (a classificar)
219 Descrição: Processos recebidos de outras instituições 226 Descrição: Processos recebidos de outras instituições
220 // O assunto deve ser definido juntamente com a área de documentação 227 // O assunto deve ser definido juntamente com a área de documentação
221 Sugestão de Assuntos: 019.01 - INFORMAÇÕES SOBRE O ÓRGÃO 228 Sugestão de Assuntos: 019.01 - INFORMAÇÕES SOBRE O ÓRGÃO
int/ProcessoEletronicoINT.php
@@ -14,50 +14,50 @@ class ProcessoEletronicoINT extends InfraINT { @@ -14,50 +14,50 @@ class ProcessoEletronicoINT extends InfraINT {
14 const TEE_EXPEDICAO_ETAPA_VALIDACAO = 'Validando informações do processo...'; 14 const TEE_EXPEDICAO_ETAPA_VALIDACAO = 'Validando informações do processo...';
15 const TEE_EXPEDICAO_ETAPA_PROCEDIMENTO = 'Enviando dados do processo %s'; 15 const TEE_EXPEDICAO_ETAPA_PROCEDIMENTO = 'Enviando dados do processo %s';
16 const TEE_EXPEDICAO_ETAPA_DOCUMENTO = 'Enviando documento %s'; 16 const TEE_EXPEDICAO_ETAPA_DOCUMENTO = 'Enviando documento %s';
17 - const TEE_EXPEDICAO_ETAPA_CONCLUSAO = 'Trâmite externo do processo finalizada com sucesso!'; 17 + const TEE_EXPEDICAO_ETAPA_CONCLUSAO = 'Trâmite externo do processo finalizado com sucesso!';
18 18
19 /** 19 /**
20 * Concate as siglas das hierarquias no nome da unidade 20 * Concate as siglas das hierarquias no nome da unidade
21 - * 21 + *
22 * @param array(EstruturaDTO) $estruturas 22 * @param array(EstruturaDTO) $estruturas
23 * @return array 23 * @return array
24 */ 24 */
25 private static function gerarHierarquiaEstruturas($estruturas = array()){ 25 private static function gerarHierarquiaEstruturas($estruturas = array()){
26 -  
27 - if(empty($estruturas)) { 26 +
  27 + if(empty($estruturas)) {
28 return $estruturas; 28 return $estruturas;
29 } 29 }
30 -  
31 - foreach($estruturas as &$estrutura) {  
32 - 30 +
  31 + foreach($estruturas as &$estrutura) {
  32 +
33 if($estrutura->isSetArrHierarquia()) { 33 if($estrutura->isSetArrHierarquia()) {
34 - $siglas = $estrutura->getArrHierarquia(); 34 + $siglas = $estrutura->getArrHierarquia();
35 $nome = $estrutura->getStrNome(); 35 $nome = $estrutura->getStrNome();
36 $nome .= ' - '; 36 $nome .= ' - ';
37 -  
38 - $array = array($estrutura->getStrSigla()); 37 +
  38 + $array = array($estrutura->getStrSigla());
39 foreach($estrutura->getArrHierarquia() as $sigla) { 39 foreach($estrutura->getArrHierarquia() as $sigla) {
40 if(trim($sigla) !== '' && !in_array($sigla, array('PR', 'PE', 'UNIAO'))) { 40 if(trim($sigla) !== '' && !in_array($sigla, array('PR', 'PE', 'UNIAO'))) {
41 $array[] = $sigla; 41 $array[] = $sigla;
42 } 42 }
43 } 43 }
44 44
45 - $nome .= implode(' / ', $array); 45 + $nome .= implode(' / ', $array);
46 $estrutura->setStrNome($nome); 46 $estrutura->setStrNome($nome);
47 } 47 }
48 } 48 }
49 - 49 +
50 return $estruturas; 50 return $estruturas;
51 } 51 }
52 - 52 +
53 public static function autoCompletarEstruturas($idRepositorioEstrutura, $strPalavrasPesquisa) { 53 public static function autoCompletarEstruturas($idRepositorioEstrutura, $strPalavrasPesquisa) {
54 $objConecaoWebServerRN = new ProcessoEletronicoRN(); 54 $objConecaoWebServerRN = new ProcessoEletronicoRN();
55 - return static::gerarHierarquiaEstruturas($objConecaoWebServerRN->listarEstruturas($idRepositorioEstrutura, $strPalavrasPesquisa)); 55 + return static::gerarHierarquiaEstruturas($objConecaoWebServerRN->listarEstruturas($idRepositorioEstrutura, $strPalavrasPesquisa));
56 } 56 }
57 57
58 - public static function autoCompletarProcessosApensados($dblIdProcedimentoAtual, $numIdUnidadeAtual, $strPalavrasPesquisa) { 58 + public static function autoCompletarProcessosApensados($dblIdProcedimentoAtual, $numIdUnidadeAtual, $strPalavrasPesquisa) {
59 $objExpedirProcedimentoRN = new ExpedirProcedimentoRN(); 59 $objExpedirProcedimentoRN = new ExpedirProcedimentoRN();
60 return $objExpedirProcedimentoRN->listarProcessosApensados($dblIdProcedimentoAtual, $numIdUnidadeAtual, $strPalavrasPesquisa); 60 return $objExpedirProcedimentoRN->listarProcessosApensados($dblIdProcedimentoAtual, $numIdUnidadeAtual, $strPalavrasPesquisa);
61 } 61 }
62 62
63 -}  
64 \ No newline at end of file 63 \ No newline at end of file
  64 +}
rn/ProcessoEletronicoRN.php
@@ -312,7 +312,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -312,7 +312,7 @@ class ProcessoEletronicoRN extends InfraRN {
312 $parametros = new stdClass(); 312 $parametros = new stdClass();
313 $parametros->filtroDeEstruturas = new stdClass(); 313 $parametros->filtroDeEstruturas = new stdClass();
314 $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; 314 $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura;
315 - $parametros->filtroDeEstruturas->apenasAtivas = false; 315 + $parametros->filtroDeEstruturas->apenasAtivas = true;
316 316
317 $nome = trim($nome); 317 $nome = trim($nome);
318 if(is_numeric($nome)) { 318 if(is_numeric($nome)) {
rn/ProcessoExpedidoRN.php
@@ -17,10 +17,9 @@ class ProcessoExpedidoRN extends InfraRN { @@ -17,10 +17,9 @@ class ProcessoExpedidoRN extends InfraRN {
17 $bolSqlServer = $this->getObjInfraIBanco() instanceof InfraSqlServer; 17 $bolSqlServer = $this->getObjInfraIBanco() instanceof InfraSqlServer;
18 $numLimit = $objProtocoloDTO->getNumMaxRegistrosRetorno(); 18 $numLimit = $objProtocoloDTO->getNumMaxRegistrosRetorno();
19 $numOffset = $objProtocoloDTO->getNumPaginaAtual() * $objProtocoloDTO->getNumMaxRegistrosRetorno(); 19 $numOffset = $objProtocoloDTO->getNumPaginaAtual() * $objProtocoloDTO->getNumMaxRegistrosRetorno();
  20 + $strInstrucaoPaginacao = (!$bolSqlServer) ? "LIMIT ".$numOffset.",".$numLimit : "OFFSET $numOffset ROWS FETCH NEXT $numLimit ROWS ONLY";
20 21
21 - $sql = "SELECT " .  
22 - (($bolSqlServer) ? "TOP $numLimit " : "") .  
23 - " 22 + $sql = "SELECT
24 p.id_protocolo, 23 p.id_protocolo,
25 p.protocolo_formatado, 24 p.protocolo_formatado,
26 a.id_unidade id_unidade, 25 a.id_unidade id_unidade,
@@ -47,9 +46,7 @@ class ProcessoExpedidoRN extends InfraRN { @@ -47,9 +46,7 @@ class ProcessoExpedidoRN extends InfraRN {
47 AND at2.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO) ." 46 AND at2.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO) ."
48 AND at2.dth_abertura > a.dth_abertura ) 47 AND at2.dth_abertura > a.dth_abertura )
49 GROUP BY 48 GROUP BY
50 - p.id_protocolo, p.protocolo_formatado, a.id_unidade , atd.valor , us.id_usuario, us.nome, a.dth_abertura ORDER BY a.dth_abertura DESC ".  
51 - (($bolSqlServer) ? "OFFSET $numOffset ROWS" : "LIMIT ".$numOffset.",".$numLimit." ");  
52 - 49 + p.id_protocolo, p.protocolo_formatado, a.id_unidade , atd.valor , us.id_usuario, us.nome, a.dth_abertura ORDER BY a.dth_abertura DESC ".$strInstrucaoPaginacao;
53 50
54 $sqlCount = "SELECT 51 $sqlCount = "SELECT
55 count(*) total 52 count(*) total
rn/ReceberProcedimentoRN.php
@@ -1387,7 +1387,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1387,7 +1387,7 @@ class ReceberProcedimentoRN extends InfraRN
1387 $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO); 1387 $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO);
1388 1388
1389 if(!isset($objUnidadeDTO)){ 1389 if(!isset($objUnidadeDTO)){
1390 - $objInfraException->adicionarValidacao("Unidade de destino [Estrutura: {$numeroDeIdentificacaoDaEstrutura}] não configurada para receber trâmites externos."); 1390 + $objInfraException->adicionarValidacao("Unidade [Estrutura: {$numeroDeIdentificacaoDaEstrutura}] não configurada para receber processos externos no sistema de destino.");
1391 } 1391 }
1392 } 1392 }
1393 1393