Commit d0d2c44760777ec8cd2a2b4bc79a9cf901b7e751

Authored by Alex Braga
1 parent 24f39a27
Exists in pesquisa_SEI_3.1.0

Versão 3.1.0

- Incluído integração com o módulo de Peticionamento Eletrônico (Anatel).
- Implementado a possibilidade de pesquisa em documentos restritos "parametrizável" (CADE)
- Implementado a exibição de Publicaões mesmo em documentos restritos
- Implementado parametrizações para a pesquisa em protocolos restritos: Interessado/Remetente, Unidade Geradora, Tipo do Processo, Tipo do Documento
sei/scripts/sei_instalar_modulo_pesquisa.php
@@ -1,23 +0,0 @@ @@ -1,23 +0,0 @@
1 -<?  
2 -  
3 - try {  
4 -  
5 - require_once dirname(__FILE__).'/../web/SEI.php';  
6 -  
7 - session_start();  
8 -  
9 - SessaoSEI::getInstance(false);  
10 -  
11 - $objInstaladorModuloPesquisaPublica = new MdPesqInstaladorModuloPesquisaPublicaRN();  
12 - $objInstaladorModuloPesquisaPublica->AtualizarVersao();  
13 -  
14 - exit;  
15 -  
16 - } catch (Exception $e) {  
17 -  
18 - echo(InfraException::inspecionar($e));  
19 - try{LogSEI::getInstance()->gravar(InfraException::inspecionar($e)); }catch (Exception $e){}  
20 - }  
21 -  
22 -  
23 -?>  
sei/web/modulos/pesquisa/MdPesqBuscaProtocoloExterno.php
@@ -35,9 +35,15 @@ require_once (&quot;MdPesqCriptografia.php&quot;); @@ -35,9 +35,15 @@ require_once (&quot;MdPesqCriptografia.php&quot;);
35 35
36 class MdPesqBuscaProtocoloExterno { 36 class MdPesqBuscaProtocoloExterno {
37 37
38 - public static function executar($q, $strDescricaoPesquisa, $strObservacaoPesquisa, $inicio, $numMaxResultados, $strParticipanteSolr, $md5Captcha = null) { 38 + public static function executar($q, $strDescricaoPesquisa, $strObservacaoPesquisa, $inicio, $numMaxResultados, $strParticipanteSolr, $sha1Captcha = null) {
  39 +
  40 + $objInfraParametro = new InfraParametro(BancoSEI::getInstance());
  41 + $idSerieEmail = $objInfraParametro->getValor('ID_SERIE_EMAIL');
  42 +
  43 +
39 44
40 //carrega configurações pesquisa 45 //carrega configurações pesquisa
  46 +
41 $objParametroPesquisaDTO = new MdPesqParametroPesquisaDTO(); 47 $objParametroPesquisaDTO = new MdPesqParametroPesquisaDTO();
42 $objParametroPesquisaDTO->retStrNome(); 48 $objParametroPesquisaDTO->retStrNome();
43 $objParametroPesquisaDTO->retStrValor(); 49 $objParametroPesquisaDTO->retStrValor();
@@ -52,13 +58,11 @@ class MdPesqBuscaProtocoloExterno { @@ -52,13 +58,11 @@ class MdPesqBuscaProtocoloExterno {
52 $bolLinkMetadadosProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_METADADOS_PROCESSO_RESTRITO] == 'S' ? true : false; 58 $bolLinkMetadadosProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_METADADOS_PROCESSO_RESTRITO] == 'S' ? true : false;
53 $txtDescricaoProcedimentoAcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_DESCRICAO_PROCEDIMENTO_ACESSO_RESTRITO]; 59 $txtDescricaoProcedimentoAcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_DESCRICAO_PROCEDIMENTO_ACESSO_RESTRITO];
54 $bolAutocompletarInterressado = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_AUTO_COMPLETAR_INTERESSADO] == 'S' ? true : false; 60 $bolAutocompletarInterressado = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_AUTO_COMPLETAR_INTERESSADO] == 'S' ? true : false;
55 - 61 + $bolPesquisaDocumentoProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_DOCUMENTO_RESTRITO] == 'S' ? true : false;
56 $parametros = new stdClass(); 62 $parametros = new stdClass();
57 $filtro = new stdClass(); 63 $filtro = new stdClass();
58 - $partialfields = '';  
59 64
60 - // Parametros peticionamento elerônico  
61 - $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento(); 65 + $partialfields = '';
62 66
63 //die($_REQUEST["partialfields"]); 67 //die($_REQUEST["partialfields"]);
64 68
@@ -86,9 +90,12 @@ class MdPesqBuscaProtocoloExterno { @@ -86,9 +90,12 @@ class MdPesqBuscaProtocoloExterno {
86 $grupo = array(); 90 $grupo = array();
87 91
88 // PESQUISAR EM: PROCESSOS 92 // PESQUISAR EM: PROCESSOS
  93 +
  94 + $bolPesquisaAtributosRestritos = MdPesqPesquisaUtil::verificaPesquisaAtributosRestritos($partialfields,$arrParametroPesquisaDTO,$q);
  95 +
89 if (in_array("P", $checkbox)) { 96 if (in_array("P", $checkbox)) {
90 97
91 - if($bolPesquisaProcessoRestrito){ 98 + if($bolPesquisaProcessoRestrito && $bolPesquisaAtributosRestritos){
92 array_push($grupo, "(sta_prot:P)"); 99 array_push($grupo, "(sta_prot:P)");
93 }else{ 100 }else{
94 array_push($grupo, "(sta_prot:P AND tipo_aces:P)"); 101 array_push($grupo, "(sta_prot:P AND tipo_aces:P)");
@@ -100,20 +107,33 @@ class MdPesqBuscaProtocoloExterno { @@ -100,20 +107,33 @@ class MdPesqBuscaProtocoloExterno {
100 107
101 if($bolPesquisaDocumentoProcessoPublico){ 108 if($bolPesquisaDocumentoProcessoPublico){
102 109
103 - if (in_array("R", $checkbox)) {  
104 -  
105 - array_push($grupo, "(sta_prot:R AND tipo_aces:P)");  
106 110
  111 + if (in_array("R", $checkbox)) {
  112 +
  113 + if($bolPesquisaProcessoRestrito && $bolPesquisaAtributosRestritos && $bolPesquisaDocumentoProcessoRestrito){
  114 + array_push($grupo, "(sta_prot:R)");
  115 + }else{
  116 + array_push($grupo, "(sta_prot:R AND tipo_aces:P)");
  117 + }
107 118
108 } 119 }
109 120
110 // PESQUISAR EM: DOCUMENTOS GERADOS 121 // PESQUISAR EM: DOCUMENTOS GERADOS
111 $filtroDocumentoInternoAssinado = ''; 122 $filtroDocumentoInternoAssinado = '';
112 if (in_array("G", $checkbox)) { 123 if (in_array("G", $checkbox)) {
113 -  
114 - array_push($grupo, "(sta_prot:G AND tipo_aces:P)");  
115 -  
116 - 124 +
  125 + if($bolPesquisaProcessoRestrito && $bolPesquisaAtributosRestritos && $bolPesquisaDocumentoProcessoRestrito){
  126 + //Necessario porque documentos da serie e-mail não possui assinatura
  127 + if($idSerieEmail > 0){
  128 + array_push($grupo, "(sta_prot:G AND -id_assin:NULL) OR (sta_prot:G AND id_serie:".$idSerieEmail.")");
  129 + }else{
  130 + array_push($grupo, "(sta_prot:G AND -id_assin:NULL)");
  131 + }
  132 +
  133 + }else{
  134 + array_push($grupo, "(sta_prot:G AND tipo_aces:P)");
  135 + }
  136 +
117 } 137 }
118 } 138 }
119 139
@@ -122,11 +142,8 @@ class MdPesqBuscaProtocoloExterno { @@ -122,11 +142,8 @@ class MdPesqBuscaProtocoloExterno {
122 if (count($grupo)>0){ 142 if (count($grupo)>0){
123 //Alteração para consulta externa sem login 143 //Alteração para consulta externa sem login
124 $staProtocolo = '('.implode(" OR ", $grupo).')'; 144 $staProtocolo = '('.implode(" OR ", $grupo).')';
125 - //$staProtocolo = '('.implode(" OR ", $grupo).') AND tipo_acesso:P';  
126 -  
127 -  
128 -  
129 - 145 +
  146 +
130 if (preg_match("/sta_prot:([A-Z;]+)/i", $partialfields)){ 147 if (preg_match("/sta_prot:([A-Z;]+)/i", $partialfields)){
131 $partialfields = preg_replace("/sta_prot:[A-Z;]+/i", $staProtocolo, $partialfields); 148 $partialfields = preg_replace("/sta_prot:[A-Z;]+/i", $staProtocolo, $partialfields);
132 }else{ 149 }else{
@@ -311,7 +328,10 @@ class MdPesqBuscaProtocoloExterno { @@ -311,7 +328,10 @@ class MdPesqBuscaProtocoloExterno {
311 $objProtocoloDTO->setDblIdProtocolo($idProtocolo); 328 $objProtocoloDTO->setDblIdProtocolo($idProtocolo);
312 $objProtocoloDTO->retDblIdProtocolo(); 329 $objProtocoloDTO->retDblIdProtocolo();
313 $objProtocoloDTO->retStrStaProtocolo(); 330 $objProtocoloDTO->retStrStaProtocolo();
  331 + $objProtocoloDTO->retDblIdProtocoloAgrupador();
314 $objProtocoloDTO->retStrStaNivelAcessoGlobal(); 332 $objProtocoloDTO->retStrStaNivelAcessoGlobal();
  333 + $objProtocoloDTO->retStrStaNivelAcessoLocal();
  334 + $objProtocoloDTO->retStrStaEstado();
315 $objProtocoloDTO->retStrProtocoloFormatado(); 335 $objProtocoloDTO->retStrProtocoloFormatado();
316 $objProtocoloDTO->retNumIdHipoteseLegal(); 336 $objProtocoloDTO->retNumIdHipoteseLegal();
317 $objProtocoloDTO = $objProtocoloRN->consultarRN0186($objProtocoloDTO); 337 $objProtocoloDTO = $objProtocoloRN->consultarRN0186($objProtocoloDTO);
@@ -325,6 +345,7 @@ class MdPesqBuscaProtocoloExterno { @@ -325,6 +345,7 @@ class MdPesqBuscaProtocoloExterno {
325 $objDocumentoDTO->retNumIdSerie(); 345 $objDocumentoDTO->retNumIdSerie();
326 $objDocumentoDTO->retStrNomeSerie(); 346 $objDocumentoDTO->retStrNomeSerie();
327 $objDocumentoDTO->retStrNumero(); 347 $objDocumentoDTO->retStrNumero();
  348 + $objDocumentoDTO->retObjPublicacaoDTO();
328 $objDocumentoDTO = $objDocumentoRN->consultarRN0005($objDocumentoDTO); 349 $objDocumentoDTO = $objDocumentoRN->consultarRN0005($objDocumentoDTO);
329 $idProcedimento = $objDocumentoDTO->getDblIdProcedimento(); 350 $idProcedimento = $objDocumentoDTO->getDblIdProcedimento();
330 351
@@ -418,34 +439,22 @@ class MdPesqBuscaProtocoloExterno { @@ -418,34 +439,22 @@ class MdPesqBuscaProtocoloExterno {
418 439
419 if (empty($dados["protocolo_documento_formatado"]) == false) { 440 if (empty($dados["protocolo_documento_formatado"]) == false) {
420 if($objDocumentoDTO == null){ 441 if($objDocumentoDTO == null){
421 - print_r($idProtocolo);  
422 - echo ' ';  
423 print_r($dados["protocolo_documento_formatado"]); 442 print_r($dados["protocolo_documento_formatado"]);
424 die; 443 die;
425 } 444 }
426 445
427 - // Protege Intimação eletônica  
428 - $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();  
429 - if($objInfraParametroDTO != null && $objInfraParametroDTO->getStrValor() >= '2.0.0' && $objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida(array($objProtocoloDTO->getDblIdProtocolo())) == false){  
430 - $titulo .= " ";  
431 - $titulo .= $dados["identificacao_protocolo"];  
432 - $snippet = 'Documento com acesso restrito provisoriamente em razão de Intimação Eletrônica ainda não cumprida';  
433 -  
434 -  
435 - }else{  
436 - $titulo .= " ";  
437 - $parametrosCriptografadosDocumentos = MdPesqCriptografia::criptografa('acao_externa=md_pesq_documento_exibir&id_orgao_acesso_externo=0&id_documento='.$objDocumentoDTO->getDblIdDocumento());  
438 - $endereco = 'md_pesq_documento_consulta_externa.php?'.$parametrosCriptografadosDocumentos;  
439 - $titulo .= "(<a target=\"_blank\" href=\"" . PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink($endereco)) . "\"";  
440 - $titulo .= " class=\"protocoloNormal\"";  
441 - $titulo .= ">" . $dados["identificacao_protocolo"] . "</a>)";  
442 - }  
443 - 446 + $titulo .= " ";
  447 + $parametrosCriptografadosDocumentos = MdPesqCriptografia::criptografa('acao_externa=md_pesq_documento_exibir&id_orgao_acesso_externo=0&id_documento='.$objDocumentoDTO->getDblIdDocumento());
  448 + $endereco = 'md_pesq_documento_consulta_externa.php?'.$parametrosCriptografadosDocumentos;
  449 + $titulo .= "(<a target=\"_blank\" href=\"" . PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink($endereco)) . "\"";
  450 + $titulo .= " class=\"protocoloNormal\"";
  451 + $titulo .= ">" . $dados["identificacao_protocolo"] . "</a>)";
  452 +
  453 + //$tituloProtocolo = "<a target=\"_blank\" href=\"" . PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink($endereco)) . "\" class=\"protocoloNormal\" >".$dados["protocolo_documento_formatado"]. "</a>";
444 454
445 } 455 }
446 456
447 -  
448 - 457 +
449 458
450 $tituloCompleto = "<a href=\"" . PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink(MdPesqSolrUtilExterno::prepararUrl($arvore))) . "\" target=\"_blank\" class=\"arvore\">"; 459 $tituloCompleto = "<a href=\"" . PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink(MdPesqSolrUtilExterno::prepararUrl($arvore))) . "\" target=\"_blank\" class=\"arvore\">";
451 $tituloCompleto .= "<img border=\"0\" src=\"solr/img/arvore.png\" alt=\"\" title=\"Visualizar árvore\" width=\"14\" height=\"16\" class=\"arvore\" />"; 460 $tituloCompleto .= "<img border=\"0\" src=\"solr/img/arvore.png\" alt=\"\" title=\"Visualizar árvore\" width=\"14\" height=\"16\" class=\"arvore\" />";
@@ -456,53 +465,100 @@ class MdPesqBuscaProtocoloExterno { @@ -456,53 +465,100 @@ class MdPesqBuscaProtocoloExterno {
456 // REMOVE TAGS DO TÍTULO 465 // REMOVE TAGS DO TÍTULO
457 $tituloCompleto = preg_replace("/&lt;.*?&gt;/", "", $tituloCompleto); 466 $tituloCompleto = preg_replace("/&lt;.*?&gt;/", "", $tituloCompleto);
458 467
459 -  
460 -  
461 -  
462 - if($objProtocoloDTO->getStrStaNivelAcessoGlobal() != ProtocoloRN::$NA_PUBLICO && $bolPesquisaProcessoRestrito){  
463 -  
464 - if(!$bolLinkMetadadosProcessoRestrito || $objProtocoloDTO->getStrStaProtocolo() != ProtocoloRN::$TP_PROCEDIMENTO){  
465 - $tituloCompleto = $objProtocoloDTO->getStrProtocoloFormatado();  
466 - $titulo = $objProtocoloDTO->getStrProtocoloFormatado();  
467 - $tituloProtocolo = $objProtocoloDTO->getStrProtocoloFormatado();  
468 - //$tituloProtocolo = 'N° SEI (Documento/Processo)';  
469 -  
470 - $objHipoteseLegalDTO = new HipoteseLegalDTO();  
471 - $objHipoteseLegalDTO->retTodos(false);  
472 - $objHipoteseLegalDTO->setNumIdHipoteseLegal($objProtocoloDTO->getNumIdHipoteseLegal());  
473 -  
474 - $objHipoteseLegalRN = new HipoteseLegalRN();  
475 - $objHipoteseLegalDTO = $objHipoteseLegalRN->consultar($objHipoteseLegalDTO);  
476 -  
477 - if($objHipoteseLegalDTO != null){  
478 - $snippet = '<b>Hipótese Legal de Restrição de Acesso: '.$objHipoteseLegalDTO->getStrNome().' ('.$objHipoteseLegalDTO->getStrBaseLegal().')</b>';  
479 - $txtDescricaoProcedimentoAcessoRestrito = trim($txtDescricaoProcedimentoAcessoRestrito);  
480 - if( !empty($txtDescricaoProcedimentoAcessoRestrito)){  
481 - $snippet .= '<br/>';  
482 - $snippet .= $txtDescricaoProcedimentoAcessoRestrito;  
483 - }  
484 - }else{  
485 - if( !empty($txtDescricaoProcedimentoAcessoRestrito)){  
486 - $snippet = $txtDescricaoProcedimentoAcessoRestrito;  
487 - }else{  
488 - $snippet = 'Processo de Acesso Restrito';  
489 - }  
490 -  
491 - }  
492 -  
493 - unset($arrMetatags['Usuário'] );  
494 - unset($arrMetatags['Unidade Geradora']);  
495 - unset($arrMetatags['Data']);  
496 - }  
497 -  
498 -  
499 -  
500 -  
501 - }  
502 -  
503 -  
504 468
505 469
  470 + // Regras de exibicao dos protocolos de acordo com parametrizacao
  471 + if ($objProtocoloDTO->getStrStaNivelAcessoGlobal () != ProtocoloRN::$NA_PUBLICO && $bolPesquisaProcessoRestrito) {
  472 +
  473 + $objProtocoloProcedimentoDTO = new ProtocoloDTO ();
  474 + $objProtocoloProcedimentoDTO->setDblIdProtocolo ( $idProcedimento );
  475 + if ($objProtocoloDTO->getStrStaProtocolo () != ProtocoloRN::$TP_PROCEDIMENTO) {
  476 + $objProtocoloProcedimentoDTO->retStrStaNivelAcessoLocal ();
  477 + $objProtocoloProcedimentoDTO->retStrStaNivelAcessoGlobal ();
  478 + $objProtocoloProcedimentoDTO = $objProtocoloRN->consultarRN0186 ( $objProtocoloProcedimentoDTO );
  479 + } else {
  480 + $objProtocoloProcedimentoDTO->setStrStaNivelAcessoLocal ( $objProtocoloDTO->getStrStaNivelAcessoLocal () );
  481 + $objProtocoloProcedimentoDTO->setStrStaNivelAcessoGlobal ( $objProtocoloDTO->getStrStaNivelAcessoGlobal () );
  482 + }
  483 +
  484 + // Protege Intimação eletônica
  485 + if($objProtocoloDTO->getStrStaProtocolo() != ProtocoloRN::$TP_PROCEDIMENTO){
  486 + $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento('2.0.0');
  487 + if( !is_null($objInfraParametroDTO) ){
  488 + $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();
  489 + if( !$objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida( array($objDocumentoDTO->getDblIdDocumento(),false,false,true)) ){
  490 + $titulo = $strNomeTipoProcedimento . " N&deg; " . $tituloLinkNumeroProcesso;
  491 + $tituloCompleto = "<a href=\"" . PaginaSEI::getInstance ()->formatarXHTML ( SessaoSEI::getInstance ()->assinarLink ( MdPesqSolrUtilExterno::prepararUrl ( $arvore ) ) ) . "\" target=\"_blank\" class=\"arvore\">";
  492 + $tituloCompleto .= "<img border=\"0\" src=\"solr/img/arvore.png\" alt=\"\" title=\"Visualizar árvore\" width=\"14\" height=\"16\" class=\"arvore\" />";
  493 + $tituloCompleto .= "</a>";
  494 + $tituloCompleto .= $titulo . ' ( ' . $dados ["identificacao_protocolo"] . ' )';
  495 + $snippet = 'Documento com acesso restrito provisoriamente em razão de Intimação Eletrônica ainda não cumprida';
  496 +
  497 + }
  498 + }
  499 + }
  500 +
  501 + if ((! $bolLinkMetadadosProcessoRestrito && $objProtocoloDTO->getStrStaProtocolo () == ProtocoloRN::$TP_PROCEDIMENTO) || (! $bolLinkMetadadosProcessoRestrito && $objProtocoloDTO->getStrStaProtocolo () != ProtocoloRN::$TP_PROCEDIMENTO) || ($objProtocoloDTO->getStrStaProtocolo () != ProtocoloRN::$TP_PROCEDIMENTO && $bolPesquisaDocumentoProcessoRestrito && $objProtocoloDTO->getStrStaNivelAcessoLocal () != ProtocoloRN::$NA_PUBLICO) || ($objProtocoloDTO->getStrStaProtocolo () != ProtocoloRN::$TP_PROCEDIMENTO && $bolPesquisaDocumentoProcessoRestrito && $objProtocoloDTO->getStrStaNivelAcessoLocal () == ProtocoloRN::$NA_PUBLICO && $objProtocoloProcedimentoDTO->getStrStaNivelAcessoLocal () != ProtocoloRN::$NA_PUBLICO)) {
  502 +
  503 + if ($bolLinkMetadadosProcessoRestrito) {
  504 + $titulo = $strNomeTipoProcedimento . " N&deg; " . $tituloLinkNumeroProcesso;
  505 + $tituloCompleto = "<a href=\"" . PaginaSEI::getInstance ()->formatarXHTML ( SessaoSEI::getInstance ()->assinarLink ( MdPesqSolrUtilExterno::prepararUrl ( $arvore ) ) ) . "\" target=\"_blank\" class=\"arvore\">";
  506 + $tituloCompleto .= "<img border=\"0\" src=\"solr/img/arvore.png\" alt=\"\" title=\"Visualizar árvore\" width=\"14\" height=\"16\" class=\"arvore\" />";
  507 + $tituloCompleto .= "</a>";
  508 + $tituloCompleto .= $titulo . ' ( ' . $dados ["identificacao_protocolo"] . ' )';
  509 + $snippet = "";
  510 +
  511 +
  512 + } else {
  513 +
  514 + $tituloCompleto = $objProtocoloDTO->getStrProtocoloFormatado ();
  515 + $titulo = $objProtocoloDTO->getStrProtocoloFormatado ();
  516 + $tituloProtocolo = $objProtocoloDTO->getStrProtocoloFormatado ();
  517 +
  518 + $objHipoteseLegalDTO = new HipoteseLegalDTO ();
  519 + $objHipoteseLegalDTO->retTodos ( false );
  520 + $objHipoteseLegalDTO->setNumIdHipoteseLegal ( $objProtocoloDTO->getNumIdHipoteseLegal () );
  521 +
  522 + $objHipoteseLegalRN = new HipoteseLegalRN ();
  523 + $objHipoteseLegalDTO = $objHipoteseLegalRN->consultar ( $objHipoteseLegalDTO );
  524 +
  525 + if ($objHipoteseLegalDTO != null) {
  526 + $snippet = '<b>Hipótese Legal de Restrição de Acesso: ' . $objHipoteseLegalDTO->getStrNome () . ' (' . $objHipoteseLegalDTO->getStrBaseLegal () . ')</b>';
  527 + $txtDescricaoProcedimentoAcessoRestrito = trim ( $txtDescricaoProcedimentoAcessoRestrito );
  528 + if (! empty ( $txtDescricaoProcedimentoAcessoRestrito )) {
  529 + $snippet .= '<br/>';
  530 + $snippet .= $txtDescricaoProcedimentoAcessoRestrito;
  531 + }
  532 + } else {
  533 + if (! empty ( $txtDescricaoProcedimentoAcessoRestrito )) {
  534 + $snippet = $txtDescricaoProcedimentoAcessoRestrito;
  535 + } else {
  536 + $snippet = 'Processo de Acesso Restrito';
  537 + }
  538 + }
  539 + unset ( $arrMetatags ['Usuário'] );
  540 + unset ( $arrMetatags ['Unidade Geradora'] );
  541 + unset ( $arrMetatags ['Data'] );
  542 + }
  543 + }
  544 + }else{
  545 + // Protege Intimação eletônica
  546 + if($objProtocoloDTO->getStrStaProtocolo() != ProtocoloRN::$TP_PROCEDIMENTO){
  547 + $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento('2.0.0');
  548 + if( !is_null($objInfraParametroDTO) ){
  549 + $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();
  550 + if( !$objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida( array($objDocumentoDTO->getDblIdDocumento(),false,false,true)) ){
  551 + $titulo = $strNomeTipoProcedimento . " N&deg; " . $tituloLinkNumeroProcesso;
  552 + $tituloCompleto = "<a href=\"" . PaginaSEI::getInstance ()->formatarXHTML ( SessaoSEI::getInstance ()->assinarLink ( MdPesqSolrUtilExterno::prepararUrl ( $arvore ) ) ) . "\" target=\"_blank\" class=\"arvore\">";
  553 + $tituloCompleto .= "<img border=\"0\" src=\"solr/img/arvore.png\" alt=\"\" title=\"Visualizar árvore\" width=\"14\" height=\"16\" class=\"arvore\" />";
  554 + $tituloCompleto .= "</a>";
  555 + $tituloCompleto .= $titulo . ' ( ' . $dados ["identificacao_protocolo"] . ' )';
  556 + $snippet = 'Documento com acesso restrito provisoriamente em razão de Intimação Eletrônica ainda não cumprida';
  557 +
  558 + }
  559 + }
  560 + }
  561 + }
506 562
507 // Protege contra a não idexação no solr quando o processo passa de público para restrito. 563 // Protege contra a não idexação no solr quando o processo passa de público para restrito.
508 if(($objProtocoloDTO->getStrStaProtocolo() == ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() != ProtocoloRN::$NA_PUBLICO && !$bolPesquisaProcessoRestrito) || ($objProtocoloDTO->getStrStaProtocolo() == ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() == ProtocoloRN::$NA_SIGILOSO)){ 564 if(($objProtocoloDTO->getStrStaProtocolo() == ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() != ProtocoloRN::$NA_PUBLICO && !$bolPesquisaProcessoRestrito) || ($objProtocoloDTO->getStrStaProtocolo() == ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() == ProtocoloRN::$NA_SIGILOSO)){
@@ -520,18 +576,67 @@ class MdPesqBuscaProtocoloExterno { @@ -520,18 +576,67 @@ class MdPesqBuscaProtocoloExterno {
520 576
521 // Protege contra a não idexação no solr quando o documento passa de público para restrito. 577 // Protege contra a não idexação no solr quando o documento passa de público para restrito.
522 //if($objProtocoloDTO->getStrStaProtocolo() != ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() != ProtocoloRN::$NA_PUBLICO && !$bolPesquisaDocumentoProcessoRestrito){ 578 //if($objProtocoloDTO->getStrStaProtocolo() != ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() != ProtocoloRN::$NA_PUBLICO && !$bolPesquisaDocumentoProcessoRestrito){
  579 + //if($objProtocoloDTO->getStrStaProtocolo() != ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() != ProtocoloRN::$NA_PUBLICO){
  580 +
523 if($objProtocoloDTO->getStrStaProtocolo() != ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() != ProtocoloRN::$NA_PUBLICO){ 581 if($objProtocoloDTO->getStrStaProtocolo() != ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() != ProtocoloRN::$NA_PUBLICO){
  582 +
  583 + // Verifica se o documento foi publicado se sim exibe link da publicação
  584 + if ($objDocumentoDTO->isSetObjPublicacaoDTO () && $objDocumentoDTO->getObjPublicacaoDTO () != null) {
  585 + if ($objDocumentoDTO->getObjPublicacaoDTO()->getStrStaEstado () == PublicacaoRN::$TE_PUBLICADO) {
  586 +
  587 + $titulo = $strNomeTipoProcedimento . " N&deg; " . $dados["protocolo_processo_formatado"];
  588 + $titulo .= " ";
  589 + $titulo .= "(<a href=\"".ConfiguracaoSEI::getInstance()->getValor('SEI','URL')."/publicacoes/controlador_publicacoes.php?acao=publicacao_visualizar&id_documento=".$objDocumentoDTO->getDblIdDocumento()."&id_orgao_publicacao=0\" target=\"_blank\" class=\"protocoloNormal\">";
  590 + $titulo .= $dados["identificacao_protocolo"] . "</a>)";
  591 +
  592 + $tituloCompleto = "<a href=\"".ConfiguracaoSEI::getInstance()->getValor('SEI','URL')."/publicacoes/controlador_publicacoes.php?acao=publicacao_visualizar&id_documento=".$objDocumentoDTO->getDblIdDocumento()."&id_orgao_publicacao=0\" target=\"_blank\" class=\"arvore\">";
  593 + $tituloCompleto .= "<img border=\"0\" src=\"../../imagens/sei_publicacao_pequeno.gif\" alt=\"\" title=\"Visualizar árvore\" width=\"14\" height=\"16\" class=\"arvore\" />";
  594 + $tituloCompleto .= "</a>";
  595 + $tituloCompleto .= $titulo;
  596 + $snippet = "Documento Publicado no Boletim de Publicações Eletrônico";
  597 + $arrMetatags['Unidade Geradora'] = '<a alt="'.$strDescricaoUnidadeGeradora.'" title="'.$strDescricaoUnidadeGeradora.'" class="ancoraSigla">'.$strSiglaUnidadeGeradora.'</a>';
  598 + $arrMetatags['Data'] = $dtaGeracao;
  599 + }
  600 + } else if(!$bolPesquisaDocumentoProcessoRestrito) {
  601 + $tituloCompleto = 'ACESSO RESTRITO';
  602 + $titulo = 'ACESSO RESTRITO';
  603 + $tituloProtocolo = 'ACESSO RESTRITO';
  604 + unset ( $arrMetatags ['Usuário'] );
  605 + unset ( $arrMetatags ['Unidade Geradora'] );
  606 + unset ( $arrMetatags ['Data'] );
  607 + $snippet = 'ACESSO RESTRITO';
  608 + }
524 609
525 - $tituloCompleto = 'ACESSO RESTRITO';  
526 - $titulo = 'ACESSO RESTRITO';  
527 - $tituloProtocolo = 'ACESSO RESTRITO';  
528 - unset($arrMetatags['Usuário'] );  
529 - unset($arrMetatags['Unidade Geradora']);  
530 - unset($arrMetatags['Data']);  
531 - $snippet = 'ACESSO RESTRITO';  
532 610
  611 + }
  612 +
  613 + //Protege quanto a não indexação do solr documentos que teve a ssinatura retirada. Email não possue assinatura
  614 + if($objProtocoloDTO->getStrStaProtocolo() == ProtocoloRN::$TP_DOCUMENTO_GERADO && $objDocumentoDTO->getNumIdSerie() != $idSerieEmail){
  615 +
  616 + if(is_array($arrObjAssinaturaDTO) && count($arrObjAssinaturaDTO) == 0) {
  617 + $tituloCompleto = 'ACESSO RESTRITO';
  618 + $titulo = 'ACESSO RESTRITO';
  619 + $tituloProtocolo = 'ACESSO RESTRITO';
  620 + unset ( $arrMetatags ['Usuário'] );
  621 + unset ( $arrMetatags ['Unidade Geradora'] );
  622 + unset ( $arrMetatags ['Data'] );
  623 + $snippet = 'ACESSO RESTRITO';
  624 + }
  625 + }
  626 +
  627 + //Protege quanto a não indexação do solr documentos cancelado
  628 + if($objProtocoloDTO->getStrStaProtocolo() != ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaEstado() == ProtocoloRN::$TE_DOCUMENTO_CANCELADO){
533 629
  630 + $tituloCompleto = 'ACESSO RESTRITO';
  631 + $titulo = 'ACESSO RESTRITO';
  632 + $tituloProtocolo = 'ACESSO RESTRITO';
  633 + unset ( $arrMetatags ['Usuário'] );
  634 + unset ( $arrMetatags ['Unidade Geradora'] );
  635 + unset ( $arrMetatags ['Data'] );
  636 + $snippet = 'ACESSO RESTRITO';
  637 +
534 } 638 }
  639 +
535 640
536 $html .= "<table border=\"0\" class=\"resultado\">\n"; 641 $html .= "<table border=\"0\" class=\"resultado\">\n";
537 $html .= "<tr class=\"resTituloRegistro\">\n"; 642 $html .= "<tr class=\"resTituloRegistro\">\n";
@@ -577,7 +682,7 @@ class MdPesqBuscaProtocoloExterno { @@ -577,7 +682,7 @@ class MdPesqBuscaProtocoloExterno {
577 } 682 }
578 683
579 684
580 - $html .= MdPesqSolrUtilExterno::criarBarraNavegacao($itens, $inicio, 10, PaginaSEIExterna::getInstance(), SessaoSEIExterna::getInstance(),$md5Captcha); 685 + $html .= MdPesqSolrUtilExterno::criarBarraNavegacao($itens, $inicio, 10, PaginaSEIExterna::getInstance(), SessaoSEIExterna::getInstance(),$sha1Captcha);
581 } 686 }
582 687
583 return $html; 688 return $html;
sei/web/modulos/pesquisa/MdPesqPesquisaUtil.php
@@ -110,7 +110,6 @@ class MdPesqPesquisaUtil { @@ -110,7 +110,6 @@ class MdPesqPesquisaUtil {
110 110
111 $objContatoRN = new ContatoRN(); 111 $objContatoRN = new ContatoRN();
112 $arrObjContatoDTO = $objContatoRN->pesquisarRN0471($objContatoDTO); 112 $arrObjContatoDTO = $objContatoRN->pesquisarRN0471($objContatoDTO);
113 -  
114 $ret = MdPesqPesquisaUtil::preparaIdParticipantes($arrObjContatoDTO); 113 $ret = MdPesqPesquisaUtil::preparaIdParticipantes($arrObjContatoDTO);
115 114
116 return $ret; 115 return $ret;
@@ -217,17 +216,63 @@ class MdPesqPesquisaUtil { @@ -217,17 +216,63 @@ class MdPesqPesquisaUtil {
217 } 216 }
218 } 217 }
219 218
220 -// foreach ($arrObjContatoDTO as $objContatoDTO){  
221 -// $strIdParticipante = $strIdParticipante.'*'.$objContatoDTO->getNumIdContato().'*';  
222 -// if(end(array_keys($arrObjContatoDTO->NumIdContato())) == $objContatoDTO->NumIdContato()){  
223 -// $strIdParticipante = $strIdParticipante.' OR ';  
224 -// }  
225 -// } 219 + }else{
  220 + $strIdParticipante = $strIdParticipante.'id_int:null AND ';
226 } 221 }
227 222
228 return $strIdParticipante; 223 return $strIdParticipante;
229 224
230 } 225 }
  226 +
  227 + public static function verificaPesquisaAtributosRestritos($partialfields,$arrParametroPesquisaDTO,$q){
  228 +
  229 + $bolInteressadoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_INTERESSADO_RESTRITO] == 'S' ? true : false;
  230 + $bolUnidadeRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_UNIDADE_RESTRITO] == 'S' ? true : false;
  231 + $bolTipoProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_TIPO_PROCESSO_RESTRITO] == 'S' ? true : false;
  232 + $bolTipoDocumentoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_TIPO_DOCUMENTO_RESTRITO] == 'S' ? true : false;
  233 +
  234 + $ret = false;
  235 +
  236 + // Pesquisa por conteúdo deve sempre ser restrita
  237 + if(empty($q)){
  238 + $ret = true;
  239 + }else{
  240 + return false;
  241 + }
  242 +
  243 + if(strstr($partialfields, 'prot_pesq:')){
  244 + $ret = true;
  245 + }
  246 +
  247 +
  248 + if(strstr($partialfields, 'id_int:') && $bolInteressadoRestrito){
  249 + $ret = true;
  250 + }else if(strstr($partialfields, 'id_int:')){
  251 + return false;
  252 + }
  253 +
  254 + if(strstr($partialfields, 'id_uni_ger:') && $bolUnidadeRestrito){
  255 + $ret = true;
  256 + }else if(strstr($partialfields, 'id_uni_ger:')){
  257 + return false;
  258 + }
  259 +
  260 + if(strstr($partialfields, 'id_tipo_proc:') && $bolTipoProcessoRestrito){
  261 + $ret = true;
  262 + }else if(strstr($partialfields, 'id_tipo_proc:')) {
  263 + return false;
  264 + }
  265 +
  266 + if(strstr($partialfields, 'id_serie:') && $bolTipoDocumentoRestrito){
  267 + $ret = true;
  268 + }else if(strstr($partialfields, 'id_serie:')){
  269 + return false;
  270 + }
  271 +
  272 +
  273 + return $ret;
  274 +
  275 + }
231 276
232 } 277 }
233 278
sei/web/modulos/pesquisa/MdPesqSolrUtilExterno.php
@@ -112,7 +112,7 @@ class MdPesqSolrUtilExterno { @@ -112,7 +112,7 @@ class MdPesqSolrUtilExterno {
112 } 112 }
113 113
114 //Cria a navegacao completa 114 //Cria a navegacao completa
115 - public static function criarBarraNavegacao($totalRes, $inicio, $numResPorPag, $objPagina, $objSessao, $md5Captcha = null, $strControlador = 'md_pesq_processo_pesquisar.php' ) 115 + public static function criarBarraNavegacao($totalRes, $inicio, $numResPorPag, $objPagina, $objSessao, $sha1Captcha = null, $strControlador = 'md_pesq_processo_pesquisar.php' )
116 { 116 {
117 117
118 if ($totalRes == 0) 118 if ($totalRes == 0)
@@ -124,7 +124,7 @@ class MdPesqSolrUtilExterno { @@ -124,7 +124,7 @@ class MdPesqSolrUtilExterno {
124 124
125 $urlSemInicio = $strControlador.'?acao_externa='.$_GET['acao_externa']."&acao_origem_externa=protocolo_pesquisar_paginado"; 125 $urlSemInicio = $strControlador.'?acao_externa='.$_GET['acao_externa']."&acao_origem_externa=protocolo_pesquisar_paginado";
126 126
127 - $hash = (!is_null($md5Captcha)) ? "&hash=".$md5Captcha : ""; 127 + $hash = (!is_null($sha1Captcha)) ? "&hash=".$sha1Captcha : "";
128 128
129 if ($inicio != null ) { 129 if ($inicio != null ) {
130 $nav .= "<span class=\"pequeno\"><a href=\"javascript:pagina.ir('" . $objPagina->formatarXHTML($objSessao->assinarLink($urlSemInicio . "&inicio=" . ($inicio - $numResPorPag) . $hash)) . "')\">Anterior</a></span>\n"; 130 $nav .= "<span class=\"pequeno\"><a href=\"javascript:pagina.ir('" . $objPagina->formatarXHTML($objSessao->assinarLink($urlSemInicio . "&inicio=" . ($inicio - $numResPorPag) . $hash)) . "')\">Anterior</a></span>\n";
sei/web/modulos/pesquisa/dto/MdPesqProtocoloPesquisaPublicaDTO.php
@@ -51,6 +51,7 @@ class MdPesqProtocoloPesquisaPublicaDTO extends InfraDTO { @@ -51,6 +51,7 @@ class MdPesqProtocoloPesquisaPublicaDTO extends InfraDTO {
51 $this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'StaAssociacao'); 51 $this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'StaAssociacao');
52 $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ, 'DocumentoDTO'); 52 $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ, 'DocumentoDTO');
53 $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ, 'ProcedimentoDTO'); 53 $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ, 'ProcedimentoDTO');
  54 + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'LinhaTabela' );
54 55
55 56
56 57
sei/web/modulos/pesquisa/md_pesq_documento_consulta_externa.php
@@ -21,11 +21,13 @@ try { @@ -21,11 +21,13 @@ try {
21 //InfraDebug::getInstance()->setBolDebugInfra(false); 21 //InfraDebug::getInstance()->setBolDebugInfra(false);
22 //InfraDebug::getInstance()->limpar(); 22 //InfraDebug::getInstance()->limpar();
23 ////////////////////////////////////////////////////////////////////////////// 23 //////////////////////////////////////////////////////////////////////////////
24 -  
25 -  
26 - MdPesqConverteURI::converterURI();  
27 - MdPesqPesquisaUtil::valiadarLink();  
28 - 24 + MdPesqConverteURI::converterURI();
  25 + MdPesqPesquisaUtil::valiadarLink();
  26 +// if (isset($_GET['id_acesso_externo'])){
  27 +// SessaoSEIExterna::getInstance($_GET['id_acesso_externo'])->validarLink();
  28 +// }else{
  29 +// // SessaoSEIExterna::getInstance()->validarLink();
  30 +// }
29 31
30 $objParametroPesquisaDTO = new MdPesqParametroPesquisaDTO(); 32 $objParametroPesquisaDTO = new MdPesqParametroPesquisaDTO();
31 $objParametroPesquisaDTO->retStrNome(); 33 $objParametroPesquisaDTO->retStrNome();
@@ -39,9 +41,6 @@ try { @@ -39,9 +41,6 @@ try {
39 $bolListaDocumentoProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_RESTRITO] == 'S' ? true : false; 41 $bolListaDocumentoProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_RESTRITO] == 'S' ? true : false;
40 $bolListaDocumentoProcessoPublico = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_PUBLICO] == 'S' ? true : false; 42 $bolListaDocumentoProcessoPublico = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_PUBLICO] == 'S' ? true : false;
41 43
42 - // Parametros peticionamento elerônico  
43 - $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento();  
44 -  
45 $objDocumentoDTO = new DocumentoDTO(); 44 $objDocumentoDTO = new DocumentoDTO();
46 $objDocumentoDTO->retDblIdDocumento(); 45 $objDocumentoDTO->retDblIdDocumento();
47 $objDocumentoDTO->retDblIdProcedimento(); 46 $objDocumentoDTO->retDblIdProcedimento();
@@ -105,12 +104,14 @@ try { @@ -105,12 +104,14 @@ try {
105 } 104 }
106 } 105 }
107 106
108 - $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();  
109 - if($objInfraParametroDTO != null && $objInfraParametroDTO->getStrValor() >= '2.0.0' && $objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida(array($objDocumentoDTO->getDblIdDocumento())) == false){  
110 -  
111 - die("Documento com acesso restrito provisoriamente em razão de Intimação Eletrônica ainda não cumprida");  
112 -  
113 - } 107 + //Protege acesso à documento público de intimação eletrônica
  108 + $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento('2.0.0');
  109 + if( !is_null($objInfraParametroDTO) ){
  110 + $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();
  111 + if( !$objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida( array($objDocumentoDTO->getDblIdDocumento(),false,false,true)) ){
  112 + die("Documento com acesso restrito provisoriamente em razão de Intimação Eletrônica ainda não cumprida");
  113 + }
  114 + }
114 115
115 // Exibe apenas documentos de processos públicos. 116 // Exibe apenas documentos de processos públicos.
116 117
sei/web/modulos/pesquisa/md_pesq_parametro_pesquisa_lista.php
@@ -46,7 +46,13 @@ try { @@ -46,7 +46,13 @@ try {
46 array('Nome' => MdPesqParametroPesquisaRN::$TA_AUTO_COMPLETAR_INTERESSADO , 'Valor' => PaginaSEI::getInstance()->getCheckbox($_POST['chkAutoCompletarInteressado'])), 46 array('Nome' => MdPesqParametroPesquisaRN::$TA_AUTO_COMPLETAR_INTERESSADO , 'Valor' => PaginaSEI::getInstance()->getCheckbox($_POST['chkAutoCompletarInteressado'])),
47 array('Nome' => MdPesqParametroPesquisaRN::$TA_MENU_USUARIO_EXTERNO , 'Valor' => PaginaSEI::getInstance()->getCheckbox($_POST['chkMenuUsuarioExterno'])), 47 array('Nome' => MdPesqParametroPesquisaRN::$TA_MENU_USUARIO_EXTERNO , 'Valor' => PaginaSEI::getInstance()->getCheckbox($_POST['chkMenuUsuarioExterno'])),
48 array('Nome' => MdPesqParametroPesquisaRN::$TA_CHAVE_CRIPTOGRAFIA , 'Valor' => trim($_POST['txtChaveCriptografia'])), 48 array('Nome' => MdPesqParametroPesquisaRN::$TA_CHAVE_CRIPTOGRAFIA , 'Valor' => trim($_POST['txtChaveCriptografia'])),
49 - 49 + array('Nome' => MdPesqParametroPesquisaRN::$TA_PAGINACAO_DOCUMENTOS , 'Valor' => trim($_POST['txtNumPagProtocolo'])),
  50 + array('Nome' => MdPesqParametroPesquisaRN::$TA_PAGINACAO_ANDAMENTOS , 'Valor' => trim($_POST['txtNumPagAndamento'])),
  51 + array('Nome' => MdPesqParametroPesquisaRN::$TA_INTERESSADO_RESTRITO , 'Valor' => PaginaSEI::getInstance()->getCheckbox($_POST['chkListaInteressadoProcessoRestrito'])),
  52 + array('Nome' => MdPesqParametroPesquisaRN::$TA_UNIDADE_RESTRITO , 'Valor' => PaginaSEI::getInstance()->getCheckbox($_POST['chkListaUnidadeProcessoRestrito'])),
  53 + array('Nome' => MdPesqParametroPesquisaRN::$TA_TIPO_PROCESSO_RESTRITO , 'Valor' => PaginaSEI::getInstance()->getCheckbox($_POST['chkListaTipoProcessoRestrito'])),
  54 + array('Nome' => MdPesqParametroPesquisaRN::$TA_TIPO_DOCUMENTO_RESTRITO , 'Valor' => PaginaSEI::getInstance()->getCheckbox($_POST['chkListaTipoDocumentoProcessoRestrito'])),
  55 + array('Nome' => MdPesqParametroPesquisaRN::$TA_DOCUMENTO_RESTRITO, 'Valor' => PaginaSEI::getInstance()->getCheckbox($_POST['chkDocumentoRestrito'])),
50 56
51 ); 57 );
52 58
@@ -105,9 +111,11 @@ PaginaSEI::getInstance()-&gt;abrirJavaScript(); @@ -105,9 +111,11 @@ PaginaSEI::getInstance()-&gt;abrirJavaScript();
105 ?> 111 ?>
106 112
107 function inicializar(){ 113 function inicializar(){
108 - 114 + habilitarParametrosRestritos();
109 } 115 }
110 116
  117 +
  118 +
111 function validarCadastro() { 119 function validarCadastro() {
112 120
113 if (infraTrim(document.getElementById('txtChaveCriptografia').value)=='') { 121 if (infraTrim(document.getElementById('txtChaveCriptografia').value)=='') {
@@ -123,6 +131,23 @@ function OnSubmitForm() { @@ -123,6 +131,23 @@ function OnSubmitForm() {
123 return validarCadastro(); 131 return validarCadastro();
124 } 132 }
125 133
  134 +function habilitarParametrosRestritos() {
  135 +
  136 + if($('#chkProcessoRestrito').prop('checked') ){
  137 + $("#divHabilitarCamposPesquisaRestrito").show();
  138 + }else{
  139 + $("#chkDocumentoRestrito").prop('checked',false);
  140 + $("#chkListaAndamentoProcessoRestrito").prop('checked',false);
  141 + $("#chkMetaDadosProcessoRestrito").prop('checked',false);
  142 + $("#chkListaInteressadoProcessoRestrito").prop('checked',false);
  143 + $("#chkListaUnidadeProcessoRestrito").prop('checked',false);
  144 + $("#chkListaTipoProcessoRestrito").prop('checked',false);
  145 + $("#chkListaTipoDocumentoProcessoRestrito").prop('checked',false);
  146 + $("#divHabilitarCamposPesquisaRestrito").hide();
  147 +
  148 + }
  149 +
  150 +}
126 151
127 <? 152 <?
128 PaginaSEI::getInstance()->fecharJavaScript(); 153 PaginaSEI::getInstance()->fecharJavaScript();
@@ -154,18 +179,42 @@ PaginaSEI::getInstance()-&gt;abrirAreaDados(null); @@ -154,18 +179,42 @@ PaginaSEI::getInstance()-&gt;abrirAreaDados(null);
154 <input id="chkListaAndamentoProcessoPublico" name="chkListaAndamentoProcessoPublico" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_ANDAMENTO_PROCESSO_PUBLICO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" /> 179 <input id="chkListaAndamentoProcessoPublico" name="chkListaAndamentoProcessoPublico" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_ANDAMENTO_PROCESSO_PUBLICO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
155 <label id="lblListaAndamentoProcessoPublico" for="chkListaAndamentoProcessoPublico" class="infraLabelCheckBox">Sim</label> 180 <label id="lblListaAndamentoProcessoPublico" for="chkListaAndamentoProcessoPublico" class="infraLabelCheckBox">Sim</label>
156 181
157 - <h3 style='font-weight:bold; font-style: italic;'>Habilitar a pesquisa em processos com nível de acesso global "Restrito":</h3>  
158 - <input id="chkProcessoRestrito" name="chkProcessoRestrito" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_PROCESSO_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" /> 182 + <h3 style='font-weight:bold; font-style: italic;'>Habilitar a pesquisa em processos com nível de acesso "Restrito":</h3>
  183 + <input id="chkProcessoRestrito" name="chkProcessoRestrito" type="checkbox" class="infraCheckBox" onchange="habilitarParametrosRestritos()" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_PROCESSO_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
159 <label id="lblProcessoRestrito" for="chkProcessoRestrito" class="infraLabelCheckBox">Sim</label> 184 <label id="lblProcessoRestrito" for="chkProcessoRestrito" class="infraLabelCheckBox">Sim</label>
160 185
161 - <h3 style='font-weight:bold; font-style: italic;'>Habilitar o acesso aos metadados dos Processos com nível de acesso global "Restrito"</h3>  
162 - <input id="chkMetaDadosProcessoRestrito" name="chkMetaDadosProcessoRestrito" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_METADADOS_PROCESSO_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />  
163 - <label id="lblMetaDadosProcessoRestrito" for="chkMetaDadosProcessoRestrito" class="infraLabelCheckBox">Sim</label>  
164 -  
165 - <h3 style='font-weight:bold; font-style: italic;'>Habilitar a exibição dos Andamentos nos processos com nível de acesso global "Restrito":</h3>  
166 - <input id="chkListaAndamentoProcessoRestrito" name="chkListaAndamentoProcessoRestrito" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_ANDAMENTO_PROCESSO_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />  
167 - <label id="lblListaAndamentoProcessoRestrito" for="chkListaAndamentoProcessoRestrito" class="infraLabelCheckBox">Sim</label> 186 + <div style='margin-left: 50px' id="divHabilitarCamposPesquisaRestrito">
  187 +
  188 + <h3 style='font-weight:bold; font-style: italic;'>Habilitar o acesso aos metadados dos Processos com nível de acesso "Restrito": </h3>
  189 + <input id="chkMetaDadosProcessoRestrito" name="chkMetaDadosProcessoRestrito" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_METADADOS_PROCESSO_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
  190 + <label id="lblMetaDadosProcessoRestrito" for="chkMetaDadosProcessoRestrito" class="infraLabelCheckBox">Sim</label>
  191 +
  192 + <h3 style='font-weight:bold; font-style: italic;'>Habilitar a exibição dos Andamentos nos processos com nível de acesso "Restrito":</h3>
  193 + <input id="chkListaAndamentoProcessoRestrito" name="chkListaAndamentoProcessoRestrito" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_ANDAMENTO_PROCESSO_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
  194 + <label id="lblListaAndamentoProcessoRestrito" for="chkListaAndamentoProcessoRestrito" class="infraLabelCheckBox">Sim</label>
  195 +
  196 + <h3 style='font-weight:bold; font-style: italic;'>Habilitar a pesquisa em documentos com nível de acesso "Restrito" (Obs. Quando o usuário utiliza a Pesquisa Livre, o módulo só permitirá a pesquisa em protocos públicos)</h3>
  197 + <input id="chkDocumentoRestrito" name="chkDocumentoRestrito" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_DOCUMENTO_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
  198 + <label id="lblDocumentoRestrito" for="chkDocumentoRestrito" class="infraLabelCheckBox">Sim</label>
  199 +
  200 + <h3 style='font-weight:bold; font-style: italic;'>Habilitar a pesquisa de interessados nos processos com nível de acesso "Restrito"</h3>
  201 + <input id="chkListaInteressadoProcessoRestrito" name="chkListaInteressadoProcessoRestrito" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_INTERESSADO_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
  202 + <label id="lblListaInteressadoProcessoRestrito" for="chkListaInteressadoProcessoRestrito" class="infraLabelCheckBox">Sim</label>
  203 +
  204 + <h3 style='font-weight:bold; font-style: italic;'>Habilitar a pesquisa de unidades nos processos com nível de acesso "Restrito"</h3>
  205 + <input id="chkListaUnidadeProcessoRestrito" name="chkListaUnidadeProcessoRestrito" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_UNIDADE_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
  206 + <label id="lblListaUnidadeProcessoRestrito" for="chkListaUnidadeProcessoRestrito" class="infraLabelCheckBox">Sim</label>
  207 +
  208 + <h3 style='font-weight:bold; font-style: italic;'>Habilitar a pesquisa de tipos de processos nos processos com nível de acesso "Restrito"</h3>
  209 + <input id="chkListaTipoProcessoRestrito" name="chkListaTipoProcessoRestrito" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_TIPO_PROCESSO_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
  210 + <label id="lblListaTipoProcessoRestrito" for="chkListaTipoProcessoRestrito" class="infraLabelCheckBox">Sim</label>
  211 +
  212 + <h3 style='font-weight:bold; font-style: italic;'>Habilitar a pesquisa de tipos de documentos nos processos com nível de acesso "Restrito"</h3>
  213 + <input id="chkListaTipoDocumentoProcessoRestrito" name="chkListaTipoDocumentoProcessoRestrito" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_TIPO_DOCUMENTO_RESTRITO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
  214 + <label id="lblListaTipoDocumentoProcessoRestrito" for="chkListaTipoDocumentoProcessoRestrito" class="infraLabelCheckBox">Sim</label>
  215 + </div>
168 216
  217 +
169 <h3 style='font-weight:bold; font-style: italic;'>Descrição de justificativa de restrição de acesso e orientações para meios alternativos de solicitação de acesso:</h3> 218 <h3 style='font-weight:bold; font-style: italic;'>Descrição de justificativa de restrição de acesso e orientações para meios alternativos de solicitação de acesso:</h3>
170 <textarea id="txtDescricaoProcessoAcessoRestrito" name="txtDescricaoProcessoAcessoRestrito" class="infraTextarea" rows="5" style="width: 90%" tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" ><?=$arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_DESCRICAO_PROCEDIMENTO_ACESSO_RESTRITO]?></textarea> 219 <textarea id="txtDescricaoProcessoAcessoRestrito" name="txtDescricaoProcessoAcessoRestrito" class="infraTextarea" rows="5" style="width: 90%" tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" ><?=$arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_DESCRICAO_PROCEDIMENTO_ACESSO_RESTRITO]?></textarea>
171 <hr> 220 <hr>
@@ -196,6 +245,13 @@ PaginaSEI::getInstance()-&gt;abrirAreaDados(null); @@ -196,6 +245,13 @@ PaginaSEI::getInstance()-&gt;abrirAreaDados(null);
196 <input id="chkMenuUsuarioExterno" name="chkMenuUsuarioExterno" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_MENU_USUARIO_EXTERNO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" /> 245 <input id="chkMenuUsuarioExterno" name="chkMenuUsuarioExterno" type="checkbox" class="infraCheckBox" <?=($arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_MENU_USUARIO_EXTERNO] == 'S') ? "checked" : ""?> tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
197 <label id="lblMenuUsuarioExterno" for="chkMenuUsuarioExterno" class="infraLabelCheckBox">Sim</label> 246 <label id="lblMenuUsuarioExterno" for="chkMenuUsuarioExterno" class="infraLabelCheckBox">Sim</label>
198 247
  248 + <h3 style='font-weight:bold; font-style: italic;'>Número de Paginação na Lista de Protocolos:</h3>
  249 + <input id="txtNumPagProtocolo" name="txtNumPagProtocolo" type="text" class="infraText" maxlength="5" style="width: 5%" onkeypress= "return infraMascaraNumero(this,event,5);" value="<?=$arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_PAGINACAO_DOCUMENTOS]?>" tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
  250 +
  251 + <h3 style='font-weight:bold; font-style: italic;'>Número de Paginação na Lista de Andamentos</h3>
  252 + <input id="txtNumPagAndamento" name="txtNumPagAndamento" type="text" class="infraText" maxlength="5" style="width: 5%" onkeypress= "return infraMascaraNumero(this,event,5);" value="<?=$arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_PAGINACAO_ANDAMENTOS]?>" tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
  253 +
  254 +
199 <h3 style='font-weight:bold; font-style: italic;'>Chave para criptografia dos links de processos e documentos:</h3> 255 <h3 style='font-weight:bold; font-style: italic;'>Chave para criptografia dos links de processos e documentos:</h3>
200 <input id="txtChaveCriptografia" name="txtChaveCriptografia" type="text" class="infraText" maxlength="100" style="width: 40%" value="<?=$arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_CHAVE_CRIPTOGRAFIA]?>" tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" /> 256 <input id="txtChaveCriptografia" name="txtChaveCriptografia" type="text" class="infraText" maxlength="100" style="width: 40%" value="<?=$arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_CHAVE_CRIPTOGRAFIA]?>" tabindex="<?=PaginaSEI::getInstance()->getProxTabDados()?>" />
201 257
sei/web/modulos/pesquisa/md_pesq_processo_exibir.php
@@ -35,11 +35,8 @@ try { @@ -35,11 +35,8 @@ try {
35 35
36 $objParametroPesquisaRN = new MdPesqParametroPesquisaRN(); 36 $objParametroPesquisaRN = new MdPesqParametroPesquisaRN();
37 $arrObjParametroPesquisaDTO = $objParametroPesquisaRN->listar($objParametroPesquisaDTO); 37 $arrObjParametroPesquisaDTO = $objParametroPesquisaRN->listar($objParametroPesquisaDTO);
  38 +
38 $arrParametroPesquisaDTO = InfraArray::converterArrInfraDTO($arrObjParametroPesquisaDTO,'Valor','Nome'); 39 $arrParametroPesquisaDTO = InfraArray::converterArrInfraDTO($arrObjParametroPesquisaDTO,'Valor','Nome');
39 -  
40 - // Parametros peticionamento elerônico  
41 - $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento();  
42 -  
43 40
44 $bolPesquisaProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_PROCESSO_RESTRITO] == 'S' ? true : false; 41 $bolPesquisaProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_PROCESSO_RESTRITO] == 'S' ? true : false;
45 $bolListaDocumentoProcessoPublico = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_PUBLICO] == 'S' ? true : false; 42 $bolListaDocumentoProcessoPublico = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_PUBLICO] == 'S' ? true : false;
@@ -49,6 +46,9 @@ try { @@ -49,6 +46,9 @@ try {
49 $bolListaAndamentoProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_ANDAMENTO_PROCESSO_RESTRITO] == 'S' ? true : false; 46 $bolListaAndamentoProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_ANDAMENTO_PROCESSO_RESTRITO] == 'S' ? true : false;
50 $bolListaDocumentoProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_RESTRITO] == 'S' ? true : false; 47 $bolListaDocumentoProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_RESTRITO] == 'S' ? true : false;
51 $txtDescricaoProcessoAcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_DESCRICAO_PROCEDIMENTO_ACESSO_RESTRITO]; 48 $txtDescricaoProcessoAcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_DESCRICAO_PROCEDIMENTO_ACESSO_RESTRITO];
  49 + $numPaginacaoAndamentos = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_PAGINACAO_ANDAMENTOS];
  50 + $numPaginacaoDocumentos = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_PAGINACAO_DOCUMENTOS];
  51 +
52 52
53 if($bolCaptchaGerarPdf) { 53 if($bolCaptchaGerarPdf) {
54 $strCodigoParaGeracaoCaptcha = InfraCaptcha::obterCodigo(); 54 $strCodigoParaGeracaoCaptcha = InfraCaptcha::obterCodigo();
@@ -175,13 +175,13 @@ try { @@ -175,13 +175,13 @@ try {
175 $arrObjRelProtocoloProtocoloDTO = $objProcedimentoDTO->getArrObjRelProtocoloProtocoloDTO(); 175 $arrObjRelProtocoloProtocoloDTO = $objProcedimentoDTO->getArrObjRelProtocoloProtocoloDTO();
176 } 176 }
177 177
178 - // Objeto Fake para paginação. 178 + // Objeto Fake para ordenação.
179 $objProtocoloPesquisaPublicaPaginacaoDTO = new MdPesqProtocoloPesquisaPublicaDTO(); 179 $objProtocoloPesquisaPublicaPaginacaoDTO = new MdPesqProtocoloPesquisaPublicaDTO();
180 $objProtocoloPesquisaPublicaPaginacaoDTO->retTodos(true); 180 $objProtocoloPesquisaPublicaPaginacaoDTO->retTodos(true);
181 - PaginaSEIExterna::getInstance()->prepararOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO, 'Registro', InfraDTO::$TIPO_ORDENACAO_ASC);  
182 - //PaginaSEIExterna::getInstance()->prepararPaginacao($objProtocoloPesquisaPublicaPaginacaoDTO,4);  
183 - //PaginaSEIExterna::getInstance()->processarPaginacao($objProtocoloPesquisaPublicaPaginacaoDTO); 181 + PaginaSEIExterna::getInstance()->prepararOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO, 'Registro', InfraDTO::$TIPO_ORDENACAO_ASC,true);
184 $arrObjProtocoloPesquisaPublicaDTO = array(); 182 $arrObjProtocoloPesquisaPublicaDTO = array();
  183 +
  184 +
185 185
186 $objDocumentoRN = new DocumentoRN(); 186 $objDocumentoRN = new DocumentoRN();
187 187
@@ -190,6 +190,7 @@ try { @@ -190,6 +190,7 @@ try {
190 $strCssMostrarAcoes = '.colunaAcoes {display:none;}'."\n"; 190 $strCssMostrarAcoes = '.colunaAcoes {display:none;}'."\n";
191 191
192 $strThCheck = PaginaSEIExterna::getInstance()->getThCheck(); 192 $strThCheck = PaginaSEIExterna::getInstance()->getThCheck();
  193 +
193 194
194 foreach($arrObjRelProtocoloProtocoloDTO as $objRelProtocoloProtocoloDTO){ 195 foreach($arrObjRelProtocoloProtocoloDTO as $objRelProtocoloProtocoloDTO){
195 196
@@ -297,25 +298,48 @@ try { @@ -297,25 +298,48 @@ try {
297 } 298 }
298 299
299 300
  301 +
300 if ($numProtocolos > 0){ 302 if ($numProtocolos > 0){
301 303
302 -  
303 - 304 +
  305 + $inicioRegistro = 0;
  306 + $fimRegistro = $numProtocolos;
  307 +
  308 + if($numPaginacaoDocumentos > 0){
  309 + $objProtocoloPesquisaPublicaPaginacaoDTO = new MdPesqProtocoloPesquisaPublicaDTO();
  310 + PaginaSEIExterna::getInstance()->prepararPaginacao($objProtocoloPesquisaPublicaPaginacaoDTO,$numPaginacaoDocumentos,true,null);
  311 + $objProtocoloPesquisaPublicaPaginacaoDTO->setNumTotalRegistros($numProtocolos);
  312 +
  313 + $inicioRegistro = $objProtocoloPesquisaPublicaPaginacaoDTO->getNumMaxRegistrosRetorno() * $objProtocoloPesquisaPublicaPaginacaoDTO->getNumPaginaAtual();
  314 +
  315 + if($objProtocoloPesquisaPublicaPaginacaoDTO->getNumMaxRegistrosRetorno() + $inicioRegistro < $numProtocolos && $numPaginacaoDocumentos > 0){
  316 + $fimRegistro = $objProtocoloPesquisaPublicaPaginacaoDTO->getNumMaxRegistrosRetorno() + $inicioRegistro;
  317 + }
  318 +
  319 + $objProtocoloPesquisaPublicaPaginacaoDTO->setNumRegistrosPaginaAtual($fimRegistro - $inicioRegistro);
  320 + PaginaSEIExterna::getInstance()->processarPaginacao($objProtocoloPesquisaPublicaPaginacaoDTO);
  321 +
  322 + }
  323 +
  324 +
304 $strResultado = '<table id="tblDocumentos" width="99.3%" class="infraTable" summary="Lista de Documentos" > 325 $strResultado = '<table id="tblDocumentos" width="99.3%" class="infraTable" summary="Lista de Documentos" >
305 - <caption class="infraCaption" >'.PaginaSEIExterna::getInstance()->gerarCaptionTabela("Protocolos",$numProtocolos).'</caption> 326 + <caption class="infraCaption" >'.PaginaSEIExterna::getInstance()->gerarCaptionTabela("Protocolos",$numProtocolos).'</caption>
306 <tr> 327 <tr>
307 - <th class="infraTh" width="1%">'.$strThCheck.'</th> 328 + <th class="infraTh" width="1%">'.$strThCheck.'</th>
308 <th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO,'Documento / Processo','NumeroSEI',$arrObjProtocoloPesquisaPublicaDTO,true).'</th> 329 <th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO,'Documento / Processo','NumeroSEI',$arrObjProtocoloPesquisaPublicaDTO,true).'</th>
309 <th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO,'Tipo de Documento','TipoDocumento',$arrObjProtocoloPesquisaPublicaDTO,true).'</th> 330 <th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO,'Tipo de Documento','TipoDocumento',$arrObjProtocoloPesquisaPublicaDTO,true).'</th>
310 <th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO,'Data do Documento','Documento',$arrObjProtocoloPesquisaPublicaDTO,true).'</th> 331 <th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO,'Data do Documento','Documento',$arrObjProtocoloPesquisaPublicaDTO,true).'</th>
311 <th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO,'Data de Registro','Registro',$arrObjProtocoloPesquisaPublicaDTO,true).'</th> 332 <th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO,'Data de Registro','Registro',$arrObjProtocoloPesquisaPublicaDTO,true).'</th>
312 <th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO,'Unidade','Unidade',$arrObjProtocoloPesquisaPublicaDTO,true).'</th> 333 <th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objProtocoloPesquisaPublicaPaginacaoDTO,'Unidade','Unidade',$arrObjProtocoloPesquisaPublicaDTO,true).'</th>
313 - 334 +
314 </tr>'; 335 </tr>';
315 336
  337 +
  338 +
316 // monta tabela documentos 339 // monta tabela documentos
317 - foreach ($arrObjProtocoloPesquisaPublicaDTO as $objProtocoloPesquisaPublicaDTO){  
318 - 340 + for ($i=$inicioRegistro; $i < $fimRegistro; $i++){
  341 +
  342 + $objProtocoloPesquisaPublicaDTO = $arrObjProtocoloPesquisaPublicaDTO[$i];
319 if($objProtocoloPesquisaPublicaDTO->getStrStaAssociacao() == RelProtocoloProtocoloRN::$TA_DOCUMENTO_ASSOCIADO){ 343 if($objProtocoloPesquisaPublicaDTO->getStrStaAssociacao() == RelProtocoloProtocoloRN::$TA_DOCUMENTO_ASSOCIADO){
320 344
321 $objDocumentoDTO = $objProtocoloPesquisaPublicaDTO->getObjDocumentoDTO(); 345 $objDocumentoDTO = $objProtocoloPesquisaPublicaDTO->getObjDocumentoDTO();
@@ -323,17 +347,21 @@ try { @@ -323,17 +347,21 @@ try {
323 $strLinkDocumento = PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink('md_pesq_documento_consulta_externa.php?'.$urlCripografadaDocumeto)); 347 $strLinkDocumento = PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink('md_pesq_documento_consulta_externa.php?'.$urlCripografadaDocumeto));
324 348
325 //Protege acesso à documento público de intimação eletrônica 349 //Protege acesso à documento público de intimação eletrônica
326 - $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();  
327 - $bolValidaIntimacaoEletronica = false;  
328 - if($objInfraParametroDTO != null && $objInfraParametroDTO->getStrValor() >= '2.0.0' && $objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida(array($objDocumentoDTO->getDblIdDocumento())) == false){  
329 - $bolValidaIntimacaoEletronica = true; 350 + $bolValidaIntimacaoEletronica = true;
  351 +
  352 + $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento('2.0.0');
  353 + if( !is_null($objInfraParametroDTO) ){
  354 + $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();
  355 + if( !$objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida( array($objDocumentoDTO->getDblIdDocumento(),false,false,true) ) ){
  356 + $bolValidaIntimacaoEletronica = false;
  357 + }
330 } 358 }
331 359
332 $strResultado .= '<tr class="infraTrClara">'; 360 $strResultado .= '<tr class="infraTrClara">';
333 - 361 +
334 //Cria checkbox para gerar PDF, verifica se o Processo é público e o Acesso Local do Protocolo é Público 362 //Cria checkbox para gerar PDF, verifica se o Processo é público e o Acesso Local do Protocolo é Público
335 if($objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO && $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO){ 363 if($objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO && $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO){
336 - if($objDocumentoRN->verificarSelecaoGeracaoPdf($objDocumentoDTO) && !$bolValidaIntimacaoEletronica){ 364 + if($objDocumentoRN->verificarSelecaoGeracaoPdf($objDocumentoDTO) && $bolValidaIntimacaoEletronica){
337 $strResultado .= '<td align="center">'.PaginaSEIExterna::getInstance()->getTrCheck($numDocumentosPdf++, $objDocumentoDTO->getDblIdDocumento(), $objDocumentoDTO->getStrNomeSerie()).'</td>'; 365 $strResultado .= '<td align="center">'.PaginaSEIExterna::getInstance()->getTrCheck($numDocumentosPdf++, $objDocumentoDTO->getDblIdDocumento(), $objDocumentoDTO->getStrNomeSerie()).'</td>';
338 }else{ 366 }else{
339 $strResultado .= '<td>&nbsp;</td>'; 367 $strResultado .= '<td>&nbsp;</td>';
@@ -345,16 +373,14 @@ try { @@ -345,16 +373,14 @@ try {
345 373
346 //Exibe link de documentos com nivel de acesso local Público de processo público 374 //Exibe link de documentos com nivel de acesso local Público de processo público
347 if($objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO && $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO ){ 375 if($objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO && $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO ){
348 -  
349 if($bolValidaIntimacaoEletronica){ 376 if($bolValidaIntimacaoEletronica){
  377 + $strResultado .= '<td align="center" style="padding-right:22px"><a href="javascript:void(0);" onclick="window.open(\''.$strLinkDocumento.'\');" alt="'.PaginaSEIExterna::getInstance()->formatarXHTML($objDocumentoDTO->getStrNomeSerie()).'" title="'.PaginaSEIExterna::getInstance()->formatarXHTML($objDocumentoDTO->getStrNomeSerie()).'" class="ancoraPadraoAzul">'.$objDocumentoDTO->getStrProtocoloDocumentoFormatado().'</a></td>';
  378 + }else{
350 $strResultado .= '<td align="center"><span class="retiraAncoraPadraoAzul">'.$objDocumentoDTO->getStrProtocoloDocumentoFormatado().'</span>'; 379 $strResultado .= '<td align="center"><span class="retiraAncoraPadraoAzul">'.$objDocumentoDTO->getStrProtocoloDocumentoFormatado().'</span>';
351 $strResultado .= '<img src="/infra_css/imagens/espaco.gif">'; 380 $strResultado .= '<img src="/infra_css/imagens/espaco.gif">';
352 - $strResultado .= '<img src="../peticionamento/imagens/intimacao_nao_cumprida_doc_anexo.png" align="absbottom" title="Acesso Restrito.&#13'.'Documento com acesso restrito provisoriamente em razão de Intimação Eletrônica ainda não cumprida">';  
353 - }else{  
354 - $strResultado .= '<td align="center" style="padding-right:22px"><a href="javascript:void(0);" onclick="window.open(\''.$strLinkDocumento.'\');" alt="'.PaginaSEIExterna::getInstance()->formatarXHTML($objDocumentoDTO->getStrNomeSerie()).'" title="'.PaginaSEIExterna::getInstance()->formatarXHTML($objDocumentoDTO->getStrNomeSerie()).'" class="ancoraPadraoAzul">'.$objDocumentoDTO->getStrProtocoloDocumentoFormatado().'</a></td>'; 381 + $strResultado .= '<img src="../peticionamento/imagens/intimacao_nao_cumprida_doc_anexo.png" align="absbottom" title="Acesso Restrito.&#13'.'Documento com acesso restrito provisoriamente em razão de Intimação Eletrônica ainda não cumprida">';
355 } 382 }
356 383
357 -  
358 }else{ 384 }else{
359 if($objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_RESTRITO){ 385 if($objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_RESTRITO){
360 386
@@ -477,6 +503,7 @@ try { @@ -477,6 +503,7 @@ try {
477 503
478 } 504 }
479 505
  506 +
480 507
481 $arrComandos = array(); 508 $arrComandos = array();
482 if ($numDocumentosPdf > 0){ 509 if ($numDocumentosPdf > 0){
@@ -508,35 +535,54 @@ try { @@ -508,35 +535,54 @@ try {
508 $arrObjAtividadeDTO = $objProcedimentoDTORet->getArrObjAtividadeDTO(); 535 $arrObjAtividadeDTO = $objProcedimentoDTORet->getArrObjAtividadeDTO();
509 536
510 $numRegistrosAtividades = count($arrObjAtividadeDTO); 537 $numRegistrosAtividades = count($arrObjAtividadeDTO);
  538 +
  539 +
511 } 540 }
512 541
513 -  
514 - 542 +
515 543
516 if ($numRegistrosAtividades > 0){ 544 if ($numRegistrosAtividades > 0){
517 545
518 $bolCheck = false; 546 $bolCheck = false;
519 547
520 - $strResultadoAndamentos = '';  
521 -  
522 - $strResultadoAndamentos .= '<table id="tblHistorico" width="99.3%" class="infraTable" summary="Histórico de Andamentos">'."\n";  
523 - $strResultadoAndamentos .= '<caption class="infraCaption">'.PaginaSEIExterna::getInstance()->gerarCaptionTabela('Andamentos',$numRegistrosAtividades).'</caption>';  
524 - $strResultadoAndamentos .= '<tr>';  
525 - $strResultadoAndamentos .= '<th class="infraTh" width="20%">Data/Hora</th>';  
526 - $strResultadoAndamentos .= '<th class="infraTh" width="10%">Unidade</th>';  
527 - $strResultadoAndamentos .= '<th class="infraTh">Descrição</th>';  
528 - $strResultadoAndamentos .= '</tr>'."\n";  
529 -  
530 - $strQuebraLinha = '<span style="line-height:.5em"><br /></span>';  
531 - 548 + $inicioRegistroAtividade = 0;
  549 + $fimRegistroAtividade = $numRegistrosAtividades;
  550 + if($numPaginacaoAndamentos > 0){
  551 + $objAtividadeDTO = new AtividadeDTO();
  552 + PaginaSEIExterna::getInstance()->prepararPaginacao($objAtividadeDTO,$numPaginacaoAndamentos,false,null,'infraAndamento');
  553 + $objAtividadeDTO->setNumTotalRegistros($numRegistrosAtividades);
  554 + $inicioRegistroAtividade = $objAtividadeDTO->getNumMaxRegistrosRetorno() * $objAtividadeDTO->getNumPaginaAtual();
532 555
533 - foreach($arrObjAtividadeDTO as $objAtividadeDTO){  
534 - 556 + if($objAtividadeDTO->getNumMaxRegistrosRetorno() + $inicioRegistroAtividade < $numRegistrosAtividades && $numPaginacaoAndamentos > 0){
  557 + $fimRegistroAtividade = $objAtividadeDTO->getNumMaxRegistrosRetorno() + $inicioRegistroAtividade;
  558 + }
  559 +
  560 + $objAtividadeDTO->setNumRegistrosPaginaAtual($fimRegistroAtividade - $inicioRegistroAtividade);
  561 +
  562 + PaginaSEIExterna::getInstance()->processarPaginacao($objAtividadeDTO,'infraAndamento');
  563 + }
  564 +
  565 +
  566 +
  567 + $strResultadoAndamentos = '';
  568 +
  569 + $strResultadoAndamentos .= '<table id="tblHistorico" width="99.3%" class="infraTable" summary="Histórico de Andamentos">'."\n";
  570 + $strResultadoAndamentos .= '<caption class="infraCaption">'.PaginaSEIExterna::getInstance()->gerarCaptionTabela('Andamentos',$numRegistrosAtividades,'Lista de ','infraAndamento').'</caption>';
  571 + $strResultadoAndamentos .= '<tr>';
  572 + $strResultadoAndamentos .= '<th class="infraTh" width="20%">Data/Hora</th>';
  573 + $strResultadoAndamentos .= '<th class="infraTh" width="10%">Unidade</th>';
  574 + $strResultadoAndamentos .= '<th class="infraTh">Descrição</th>';
  575 + $strResultadoAndamentos .= '</tr>'."\n";
  576 +
  577 + $strQuebraLinha = '<span style="line-height:.5em"><br /></span>';
  578 +
  579 +
  580 + for ($i=$inicioRegistroAtividade; $i < $fimRegistroAtividade; $i++){
535 //InfraDebug::getInstance()->gravar($objAtividadeDTO->getNumIdAtividade()); 581 //InfraDebug::getInstance()->gravar($objAtividadeDTO->getNumIdAtividade());
536 582
537 - $strResultadoAndamentos .= "\n\n".'<!-- '.$objAtividadeDTO->getNumIdAtividade().' -->'."\n"; 583 + $strResultadoAndamentos .= "\n\n".'<!-- '.$arrObjAtividadeDTO[$i]->getNumIdAtividade().' -->'."\n";
538 584
539 - if ($objAtividadeDTO->getStrSinUltimaUnidadeHistorico() == 'S'){ 585 + if ($arrObjAtividadeDTO[$i]->getStrSinUltimaUnidadeHistorico() == 'S'){
540 $strAbertas = 'class="andamentoAberto"'; 586 $strAbertas = 'class="andamentoAberto"';
541 }else{ 587 }else{
542 $strAbertas = 'class="andamentoConcluido"'; 588 $strAbertas = 'class="andamentoConcluido"';
@@ -544,18 +590,18 @@ try { @@ -544,18 +590,18 @@ try {
544 590
545 $strResultadoAndamentos .= '<tr '.$strAbertas.'>'; 591 $strResultadoAndamentos .= '<tr '.$strAbertas.'>';
546 $strResultadoAndamentos .= "\n".'<td align="center">'; 592 $strResultadoAndamentos .= "\n".'<td align="center">';
547 - $strResultadoAndamentos .= substr($objAtividadeDTO->getDthAbertura(),0,16); 593 + $strResultadoAndamentos .= substr($arrObjAtividadeDTO[$i]->getDthAbertura(),0,16);
548 $strResultadoAndamentos .= '</td>'; 594 $strResultadoAndamentos .= '</td>';
549 595
550 $strResultadoAndamentos .= "\n".'<td align="center">'; 596 $strResultadoAndamentos .= "\n".'<td align="center">';
551 - $strResultadoAndamentos .= '<a alt="'.$objAtividadeDTO->getStrDescricaoUnidade().'" title="'.$objAtividadeDTO->getStrDescricaoUnidade().'" class="ancoraSigla">'.$objAtividadeDTO->getStrSiglaUnidade().'</a>'; 597 + $strResultadoAndamentos .= '<a alt="'.$arrObjAtividadeDTO[$i]->getStrDescricaoUnidade().'" title="'.$arrObjAtividadeDTO[$i]->getStrDescricaoUnidade().'" class="ancoraSigla">'.$arrObjAtividadeDTO[$i]->getStrSiglaUnidade().'</a>';
552 $strResultadoAndamentos .= '</td>'; 598 $strResultadoAndamentos .= '</td>';
553 599
554 $strResultadoAndamentos .= "\n"; 600 $strResultadoAndamentos .= "\n";
555 $strResultadoAndamentos .= "\n".'<td>'; 601 $strResultadoAndamentos .= "\n".'<td>';
556 602
557 - if (!InfraString::isBolVazia($objAtividadeDTO->getStrNomeTarefa())){  
558 - $strResultadoAndamentos .= nl2br($objAtividadeDTO->getStrNomeTarefa()).$strQuebraLinha; 603 + if (!InfraString::isBolVazia($arrObjAtividadeDTO[$i]->getStrNomeTarefa())){
  604 + $strResultadoAndamentos .= nl2br($arrObjAtividadeDTO[$i]->getStrNomeTarefa()).$strQuebraLinha;
559 } 605 }
560 606
561 $strResultadoAndamentos .= '</td>'; 607 $strResultadoAndamentos .= '</td>';
@@ -595,6 +641,15 @@ try { @@ -595,6 +641,15 @@ try {
595 if($objDocumentoDTO->getDblIdProcedimento() != $dblIdProcedimento || $objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() != ProtocoloRN::$NA_PUBLICO || $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() != ProtocoloRN::$NA_PUBLICO){ 641 if($objDocumentoDTO->getDblIdProcedimento() != $dblIdProcedimento || $objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() != ProtocoloRN::$NA_PUBLICO || $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() != ProtocoloRN::$NA_PUBLICO){
596 die ("Erro ao Gerar Pdf"); 642 die ("Erro ao Gerar Pdf");
597 } 643 }
  644 + //Protege acesso à documento público de intimação eletrônica
  645 + $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento('2.0.0');
  646 + if( !is_null($objInfraParametroDTO) ){
  647 + $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();
  648 + if( !$objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida( array($objDocumentoDTO->getDblIdDocumento(),false,false,true) ) ){
  649 + $idx_documento = array_search($objDocumentoDTO->getDblIdDocumento(), $arrSelecionados);
  650 + unset($arrSelecionados[$idx_documento]);
  651 + }
  652 + }
598 }else if($bolListaDocumentoProcessoPublico){ 653 }else if($bolListaDocumentoProcessoPublico){
599 if($objDocumentoDTO->getDblIdProcedimento() != $dblIdProcedimento || $objDocumentoDTO->getStrStaNivelAcessoGlobalProtocolo() != ProtocoloRN::$NA_PUBLICO){ 654 if($objDocumentoDTO->getDblIdProcedimento() != $dblIdProcedimento || $objDocumentoDTO->getStrStaNivelAcessoGlobalProtocolo() != ProtocoloRN::$NA_PUBLICO){
600 die ("Erro ao Gerar Pdf"); 655 die ("Erro ao Gerar Pdf");
@@ -653,6 +708,8 @@ table caption { @@ -653,6 +708,8 @@ table caption {
653 #tblCabecalho{margin-top:1;} 708 #tblCabecalho{margin-top:1;}
654 #tblDocumentos {margin-top:1.5em;} 709 #tblDocumentos {margin-top:1.5em;}
655 #tblHistorico {margin-top:1.5em;} 710 #tblHistorico {margin-top:1.5em;}
  711 +#divInfraAreaPaginacaoSuperior {display: none;}
  712 +#divinfraAndamentoAreaPaginacaoSuperior {display: none;}
656 713
657 <? if($bolCaptchaGerarPdf) { ?> 714 <? if($bolCaptchaGerarPdf) { ?>
658 #lblCaptcha {position: absolute; top:30%; left: 20%; width: 80%} 715 #lblCaptcha {position: absolute; top:30%; left: 20%; width: 80%}
@@ -829,8 +886,9 @@ if($bolCaptchaGerarPdf){ @@ -829,8 +886,9 @@ if($bolCaptchaGerarPdf){
829 PaginaSEIExterna::getInstance()->montarBarraComandosSuperior($arrComandos); 886 PaginaSEIExterna::getInstance()->montarBarraComandosSuperior($arrComandos);
830 echo $strResultadoCabecalho; 887 echo $strResultadoCabecalho;
831 echo $strMensagemProcessoRestrito; 888 echo $strMensagemProcessoRestrito;
832 -PaginaSEIExterna::getInstance()->montarAreaTabela($strResultado,$numProtocolos);  
833 -echo $strResultadoAndamentos; 889 +PaginaSEIExterna::getInstance()->montarAreaTabela($strResultado,$numProtocolos,false,'',null);
  890 +PaginaSEIExterna::getInstance()->montarAreaTabela($strResultadoAndamentos,$numRegistrosAtividades,false,'',null,'infraAndamento');
  891 +//echo $strResultadoAndamentos;
834 ?> 892 ?>
835 <input type="hidden" id="hdnFlagGerar" name="hdnFlagGerar" value="0" /> 893 <input type="hidden" id="hdnFlagGerar" name="hdnFlagGerar" value="0" />
836 <?if($bolCaptchaGerarPdf) { ?> 894 <?if($bolCaptchaGerarPdf) { ?>
sei/web/modulos/pesquisa/md_pesq_processo_pesquisar.php
@@ -33,11 +33,11 @@ try { @@ -33,11 +33,11 @@ try {
33 require_once dirname(__FILE__).'/../../SEI.php'; 33 require_once dirname(__FILE__).'/../../SEI.php';
34 require_once dirname(__FILE__).'/MdPesqBuscaProtocoloExterno.php'; 34 require_once dirname(__FILE__).'/MdPesqBuscaProtocoloExterno.php';
35 require_once ("MdPesqConverteURI.php"); 35 require_once ("MdPesqConverteURI.php");
36 -  
37 -// session_start();  
38 - 36 +
  37 + session_start();
  38 +
39 SessaoSEIExterna::getInstance()->validarSessao(); 39 SessaoSEIExterna::getInstance()->validarSessao();
40 - 40 +
41 // InfraDebug::getInstance()->setBolLigado(false); 41 // InfraDebug::getInstance()->setBolLigado(false);
42 // InfraDebug::getInstance()->setBolDebugInfra(false); 42 // InfraDebug::getInstance()->setBolDebugInfra(false);
43 // InfraDebug::getInstance()->limpar(); 43 // InfraDebug::getInstance()->limpar();
@@ -59,13 +59,19 @@ try { @@ -59,13 +59,19 @@ try {
59 MdPesqPesquisaUtil::valiadarLink(); 59 MdPesqPesquisaUtil::valiadarLink();
60 60
61 PaginaSEIExterna::getInstance()->setBolXHTML(false); 61 PaginaSEIExterna::getInstance()->setBolXHTML(false);
62 - 62 +
  63 + $captchaPesquisa = PaginaSEIExterna::getInstance()->recuperarCampo('captchaPesquisa');
  64 +
  65 +
63 if($bolCaptcha) { 66 if($bolCaptcha) {
64 $strCodigoParaGeracaoCaptcha = InfraCaptcha::obterCodigo(); 67 $strCodigoParaGeracaoCaptcha = InfraCaptcha::obterCodigo();
65 - $md5Captcha = md5(InfraCaptcha::gerar($strCodigoParaGeracaoCaptcha)); 68 + $sha1Captcha = sha1(InfraCaptcha::gerar($strCodigoParaGeracaoCaptcha));
66 }else { 69 }else {
67 - $md5Captcha = null; 70 + $sha1Captcha = null;
68 } 71 }
  72 + PaginaSEIExterna::getInstance()->salvarCampo('captchaPesquisa', $sha1Captcha);
  73 +
  74 +
69 if (isset($_POST['hdnFlagPesquisa']) || isset($_POST['sbmLimpar'])){ 75 if (isset($_POST['hdnFlagPesquisa']) || isset($_POST['sbmLimpar'])){
70 76
71 if(isset($_POST['sbmLimpar'])){ 77 if(isset($_POST['sbmLimpar'])){
@@ -138,6 +144,7 @@ try { @@ -138,6 +144,7 @@ try {
138 PaginaSEIExterna::getInstance()->salvarCampo('txtSiglaUsuario3', ''); 144 PaginaSEIExterna::getInstance()->salvarCampo('txtSiglaUsuario3', '');
139 PaginaSEIExterna::getInstance()->salvarCampo('txtSiglaUsuario4', ''); 145 PaginaSEIExterna::getInstance()->salvarCampo('txtSiglaUsuario4', '');
140 PaginaSEIExterna::getInstance()->salvarCampo('hdnSiglasUsuarios', ''); 146 PaginaSEIExterna::getInstance()->salvarCampo('hdnSiglasUsuarios', '');
  147 +
141 } 148 }
142 149
143 150
@@ -178,12 +185,13 @@ try { @@ -178,12 +185,13 @@ try {
178 $strSiglaUsuario4 = PaginaSEIExterna::getInstance()->recuperarCampo('txtSiglaUsuario4'); 185 $strSiglaUsuario4 = PaginaSEIExterna::getInstance()->recuperarCampo('txtSiglaUsuario4');
179 $strUsuarios = PaginaSEIExterna::getInstance()->recuperarCampo('hdnSiglasUsuarios'); 186 $strUsuarios = PaginaSEIExterna::getInstance()->recuperarCampo('hdnSiglasUsuarios');
180 $strParticipanteSolr = ''; 187 $strParticipanteSolr = '';
  188 +
181 189
182 //Opção de Auto Completar Interressado 190 //Opção de Auto Completar Interressado
183 if(!$bolAutocompletarInterressado){ 191 if(!$bolAutocompletarInterressado){
184 192
185 if(!InfraString::isBolVazia($strNomeParticipante)){ 193 if(!InfraString::isBolVazia($strNomeParticipante)){
186 - $strParticipanteSolr = MdPesqPesquisaUtil::buscaParticipantes($strNomeParticipante); 194 + $strParticipanteSolr = MdPesqPesquisaUtil::buscaParticipantes(InfraString::prepararIndexacao($strNomeParticipante));
187 } 195 }
188 196
189 } 197 }
@@ -220,14 +228,15 @@ try { @@ -220,14 +228,15 @@ try {
220 228
221 if (isset($_POST['sbmPesquisar']) || ($_GET['acao_origem_externa'] == "protocolo_pesquisar_paginado")){ 229 if (isset($_POST['sbmPesquisar']) || ($_GET['acao_origem_externa'] == "protocolo_pesquisar_paginado")){
222 230
223 - if(md5($_POST['txtCaptcha']) != $_POST['hdnCaptchaMd5'] && $_GET['hash'] != $_POST['hdnCaptchaMd5'] && $bolCaptcha == true){ 231 +
  232 + if(sha1($_POST['txtCaptcha']) != $captchaPesquisa && $_GET['hash'] != $captchaPesquisa && $bolCaptcha == true){
224 PaginaSEIExterna::getInstance()->setStrMensagem('Código de confirmação inválido.'); 233 PaginaSEIExterna::getInstance()->setStrMensagem('Código de confirmação inválido.');
225 }else{ 234 }else{
226 //preencheu palavra de busca ou alguma opção avançada 235 //preencheu palavra de busca ou alguma opção avançada
227 if (!InfraString::isBolVazia($q) || $bolPreencheuAvancado) { 236 if (!InfraString::isBolVazia($q) || $bolPreencheuAvancado) {
228 237
229 try{ 238 try{
230 - $strResultado = MdPesqBuscaProtocoloExterno::executar($q, $strDescricaoPesquisa, $strObservacaoPesquisa, $inicio, 100, $strParticipanteSolr,$md5Captcha); 239 + $strResultado = MdPesqBuscaProtocoloExterno::executar($q, $strDescricaoPesquisa, $strObservacaoPesquisa, $inicio, 100, $strParticipanteSolr,$sha1Captcha);
231 }catch(Exception $e){ 240 }catch(Exception $e){
232 LogSEI::getInstance()->gravar(InfraException::inspecionar($e)); 241 LogSEI::getInstance()->gravar(InfraException::inspecionar($e));
233 throw new InfraException('Erro realizando pesquisa.',$e); 242 throw new InfraException('Erro realizando pesquisa.',$e);
@@ -258,7 +267,7 @@ try { @@ -258,7 +267,7 @@ try {
258 } 267 }
259 268
260 $strItensSelTipoProcedimento = TipoProcedimentoINT::montarSelectNome('null','&nbsp;',$numIdTipoProcedimento); 269 $strItensSelTipoProcedimento = TipoProcedimentoINT::montarSelectNome('null','&nbsp;',$numIdTipoProcedimento);
261 - $strItensSelSerie = SerieINT::montarSelectNomeRI0802('null','&nbsp;',$numIdSerie); 270 + $strItensSelSerie = SerieINT::montarSelectNomeRI0802('null','&nbsp;',$numIdSerie);
262 271
263 $strLinkAjaxContatos = SessaoSEIExterna::getInstance()->assinarLink('md_pesq_controlador_ajax_externo.php?acao_ajax_externo=contato_auto_completar_contexto_pesquisa&id_orgao_acesso_externo=0'); 272 $strLinkAjaxContatos = SessaoSEIExterna::getInstance()->assinarLink('md_pesq_controlador_ajax_externo.php?acao_ajax_externo=contato_auto_completar_contexto_pesquisa&id_orgao_acesso_externo=0');
264 $strLinkAjaxUnidade = SessaoSEIExterna::getInstance()->assinarLink('md_pesq_controlador_ajax_externo.php?acao_ajax_externo=unidade_auto_completar_todas&id_orgao_acesso_externo=0'); 273 $strLinkAjaxUnidade = SessaoSEIExterna::getInstance()->assinarLink('md_pesq_controlador_ajax_externo.php?acao_ajax_externo=unidade_auto_completar_todas&id_orgao_acesso_externo=0');
@@ -281,6 +290,17 @@ try { @@ -281,6 +290,17 @@ try {
281 PaginaSEIExterna::getInstance()->montarDocType(); 290 PaginaSEIExterna::getInstance()->montarDocType();
282 PaginaSEIExterna::getInstance()->abrirHtml(); 291 PaginaSEIExterna::getInstance()->abrirHtml();
283 PaginaSEIExterna::getInstance()->abrirHead(); 292 PaginaSEIExterna::getInstance()->abrirHead();
  293 +?>
  294 +<!-- Global site tag (gtag.js) - Google Analytics -->
  295 +<script async src="https://www.googletagmanager.com/gtag/js?id=UA-102781659-1"></script>
  296 +<script>
  297 + window.dataLayer = window.dataLayer || [];
  298 + function gtag(){dataLayer.push(arguments);}
  299 + gtag('js', new Date());
  300 +
  301 + gtag('config', 'UA-102781659-1');
  302 +</script>
  303 +<?
284 PaginaSEIExterna::getInstance()->montarMeta(); 304 PaginaSEIExterna::getInstance()->montarMeta();
285 PaginaSEIExterna::getInstance()->montarTitle(':: '.PaginaSEIExterna::getInstance()->getStrNomeSistema().' - '.$strTitulo.' ::'); 305 PaginaSEIExterna::getInstance()->montarTitle(':: '.PaginaSEIExterna::getInstance()->getStrNomeSistema().' - '.$strTitulo.' ::');
286 PaginaSEIExterna::getInstance()->montarStyle(); 306 PaginaSEIExterna::getInstance()->montarStyle();
@@ -674,9 +694,7 @@ PaginaSEIExterna::getInstance()-&gt;abrirBody($strTitulo,&#39;onload=&quot;inicializar();&quot;&#39;) @@ -674,9 +694,7 @@ PaginaSEIExterna::getInstance()-&gt;abrirBody($strTitulo,&#39;onload=&quot;inicializar();&quot;&#39;)
674 <input type="hidden" id="txtSiglaUsuario4" name="txtSiglaUsuario4" class="infraText" value="<?=PaginaSEIExterna::tratarHTML($strSiglaUsuario4);?>" tabindex="<?=PaginaSEIExterna::getInstance()->getProxTabDados()?>" /> 694 <input type="hidden" id="txtSiglaUsuario4" name="txtSiglaUsuario4" class="infraText" value="<?=PaginaSEIExterna::tratarHTML($strSiglaUsuario4);?>" tabindex="<?=PaginaSEIExterna::getInstance()->getProxTabDados()?>" />
675 <input type="hidden" id="hdnSiglasUsuarios" name="hdnSiglasUsuarios" class="infraText" value="<?=PaginaSEIExterna::tratarHTML($strUsuarios)?>" /> 695 <input type="hidden" id="hdnSiglasUsuarios" name="hdnSiglasUsuarios" class="infraText" value="<?=PaginaSEIExterna::tratarHTML($strUsuarios)?>" />
676 <input type="hidden" id="hdnSiglasUsuarios" name="hdnSiglasUsuarios" class="infraText" value="<?=PaginaSEIExterna::tratarHTML($strUsuarios)?>" /> 696 <input type="hidden" id="hdnSiglasUsuarios" name="hdnSiglasUsuarios" class="infraText" value="<?=PaginaSEIExterna::tratarHTML($strUsuarios)?>" />
677 - <?if($bolCaptcha) { ?>  
678 - <input type="hidden" id="hdnCaptchaMd5" name="hdnCaptchaMd5" class="infraText" value="<?=md5(InfraCaptcha::gerar(PaginaSEIExterna::tratarHTML($strCodigoParaGeracaoCaptcha)));?>" />  
679 - <?} ?> 697 +
680 <input id="partialfields" name="partialfields" type="hidden" value="" /> 698 <input id="partialfields" name="partialfields" type="hidden" value="" />
681 <input id="requiredfields" name="requiredfields" type="hidden" value="" /> 699 <input id="requiredfields" name="requiredfields" type="hidden" value="" />
682 <input id="as_q" name="as_q" type="hidden" value="" /> 700 <input id="as_q" name="as_q" type="hidden" value="" />
sei/web/modulos/pesquisa/rn/MdPesqInstaladorModuloPesquisaPublicaRN.php
@@ -12,7 +12,7 @@ require_once dirname(__FILE__).&#39;/../../../SEI.php&#39;; @@ -12,7 +12,7 @@ require_once dirname(__FILE__).&#39;/../../../SEI.php&#39;;
12 class MdPesqInstaladorModuloPesquisaPublicaRN extends InfraRN{ 12 class MdPesqInstaladorModuloPesquisaPublicaRN extends InfraRN{
13 13
14 private $numSeg = 0; 14 private $numSeg = 0;
15 - private $versaoAtualDesteModulo = '3.0.0'; 15 + private $versaoAtualDesteModulo = '3.1.0';
16 private $nomeDesteModulo = 'Pesquisa Pública'; 16 private $nomeDesteModulo = 'Pesquisa Pública';
17 private $nomeParametroModulo = 'VERSAO_MODULO_PESQUISA_PUBLICA'; 17 private $nomeParametroModulo = 'VERSAO_MODULO_PESQUISA_PUBLICA';
18 18
@@ -117,6 +117,38 @@ class MdPesqInstaladorModuloPesquisaPublicaRN extends InfraRN{ @@ -117,6 +117,38 @@ class MdPesqInstaladorModuloPesquisaPublicaRN extends InfraRN{
117 117
118 } 118 }
119 119
  120 + private function instalarv310(){
  121 +
  122 +
  123 +
  124 + $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
  125 +
  126 + $this->logar('EXECUTANDO A ATUALIZACAO DA VERSAO 3.1.0 DO MÓDULO DE PESQUISA PUBLICA NA BASE DO SEI');
  127 +
  128 + $this->logar('INSERINDO DADOS NA TABELA md_pesq_parametro');
  129 +
  130 + $arrParametroPesquisaDTO = array(
  131 + array('Nome' => MdPesqParametroPesquisaRN::$TA_PAGINACAO_ANDAMENTOS , 'Valor' => '0'),
  132 + array('Nome' => MdPesqParametroPesquisaRN::$TA_PAGINACAO_DOCUMENTOS , 'Valor' => '0'),
  133 + array('Nome' => MdPesqParametroPesquisaRN::$TA_INTERESSADO_RESTRITO , 'Valor' => 'N'),
  134 + array('Nome' => MdPesqParametroPesquisaRN::$TA_UNIDADE_RESTRITO, 'Valor' => 'N'),
  135 + array('Nome' => MdPesqParametroPesquisaRN::$TA_TIPO_PROCESSO_RESTRITO, 'Valor' => 'N'),
  136 + array('Nome' => MdPesqParametroPesquisaRN::$TA_TIPO_DOCUMENTO_RESTRITO, 'Valor' => 'N'),
  137 + array('Nome' => MdPesqParametroPesquisaRN::$TA_DOCUMENTO_RESTRITO, 'Valor' => 'N'),
  138 + );
  139 +
  140 + $arrObjParametroPesquisaDTO = InfraArray::gerarArrInfraDTOMultiAtributos('MdPesqParametroPesquisaDTO', $arrParametroPesquisaDTO);
  141 +
  142 + $objParametroPesquisaRN = new MdPesqParametroPesquisaRN();
  143 +
  144 + foreach ($arrObjParametroPesquisaDTO as $objParametroPesquisaDTO){
  145 +
  146 + $objParametroPesquisaRN->cadastrar($objParametroPesquisaDTO);
  147 + }
  148 +
  149 +
  150 + }
  151 +
120 protected function AtualizarVersaoConectado(){ 152 protected function AtualizarVersaoConectado(){
121 153
122 $this->inicializar('INICIANDO ATUALIZACAO DO MODULO DE PESQUISA PUBLICA NO SEI VERSAO '.SEI_VERSAO); 154 $this->inicializar('INICIANDO ATUALIZACAO DO MODULO DE PESQUISA PUBLICA NO SEI VERSAO '.SEI_VERSAO);
@@ -146,8 +178,13 @@ class MdPesqInstaladorModuloPesquisaPublicaRN extends InfraRN{ @@ -146,8 +178,13 @@ class MdPesqInstaladorModuloPesquisaPublicaRN extends InfraRN{
146 178
147 if (InfraString::isBolVazia($strVersaoModuloPesquisa)){ 179 if (InfraString::isBolVazia($strVersaoModuloPesquisa)){
148 $this->instalarv300(); 180 $this->instalarv300();
  181 + $this->instalarv310();
149 //adicionando parametro para controlar versao do modulo 182 //adicionando parametro para controlar versao do modulo
150 BancoSei::getInstance()->executarSql('insert into infra_parametro (valor, nome ) VALUES( \''. $this->versaoAtualDesteModulo .'\', \''. $this->nomeParametroModulo .'\' )' ); 183 BancoSei::getInstance()->executarSql('insert into infra_parametro (valor, nome ) VALUES( \''. $this->versaoAtualDesteModulo .'\', \''. $this->nomeParametroModulo .'\' )' );
  184 + $this->finalizar('FIM', false);
  185 + }else if($strVersaoModuloPesquisa == '3.0.0'){
  186 + $this->instalarv310();
  187 + BancoSei::getInstance()->executarSql('UPDATE infra_parametro SET valor =\''.$this->versaoAtualDesteModulo .'\' WHERE nome =\''.$this->nomeParametroModulo.'\';' );
151 $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo .' DO MÓDULO PESQUISA PÚBLICA INSTALADAS COM SUCESSO NA BASE DO SEI'); 188 $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo .' DO MÓDULO PESQUISA PÚBLICA INSTALADAS COM SUCESSO NA BASE DO SEI');
152 $this->finalizar('FIM', false); 189 $this->finalizar('FIM', false);
153 }else{ 190 }else{
sei/web/modulos/pesquisa/rn/MdPesqParametroPesquisaRN.php
@@ -23,7 +23,14 @@ class MdPesqParametroPesquisaRN extends InfraRN { @@ -23,7 +23,14 @@ class MdPesqParametroPesquisaRN extends InfraRN {
23 public static $TA_LISTA_DOCUMENTO_PROCESSO_RESTRITO = 'LISTA_DOCUMENTO_PROCESSO_RESTRITO'; 23 public static $TA_LISTA_DOCUMENTO_PROCESSO_RESTRITO = 'LISTA_DOCUMENTO_PROCESSO_RESTRITO';
24 public static $TA_MENU_USUARIO_EXTERNO = 'MENU_USUARIO_EXTERNO'; 24 public static $TA_MENU_USUARIO_EXTERNO = 'MENU_USUARIO_EXTERNO';
25 public static $TA_METADADOS_PROCESSO_RESTRITO = 'METADADOS_PROCESSO_RESTRITO'; 25 public static $TA_METADADOS_PROCESSO_RESTRITO = 'METADADOS_PROCESSO_RESTRITO';
  26 + public static $TA_INTERESSADO_RESTRITO = 'INTERESSADO_RESTRITO';
  27 + public static $TA_UNIDADE_RESTRITO = 'UNIDADE_RESTRITO';
  28 + public static $TA_TIPO_PROCESSO_RESTRITO = 'TIPO_PROCESSO_RESTRITO';
  29 + public static $TA_TIPO_DOCUMENTO_RESTRITO = 'TIPO_DOCUMENTO_RESTRITO';
26 public static $TA_PROCESSO_RESTRITO = 'PROCESSO_RESTRITO'; 30 public static $TA_PROCESSO_RESTRITO = 'PROCESSO_RESTRITO';
  31 + public static $TA_DOCUMENTO_RESTRITO = 'DOCUMENTO_RESTRITO';
  32 + public static $TA_PAGINACAO_DOCUMENTOS = 'PAGINACAO DOCUMENTOS';
  33 + public static $TA_PAGINACAO_ANDAMENTOS = 'PAGINACAO ANDAMENTOS';
27 34
28 public function __construct(){ 35 public function __construct(){
29 parent::__construct(); 36 parent::__construct();
@@ -122,22 +129,38 @@ class MdPesqParametroPesquisaRN extends InfraRN { @@ -122,22 +129,38 @@ class MdPesqParametroPesquisaRN extends InfraRN {
122 throw new InfraException('Erro listando Parâmetro da Pesquisas.',$e); 129 throw new InfraException('Erro listando Parâmetro da Pesquisas.',$e);
123 } 130 }
124 } 131 }
125 -  
126 -  
127 - protected function consultarVersaoPeticionamentoConectado(){  
128 -  
129 - $objInfraParametroDTO = new InfraParametroDTO();  
130 - $objInfraParametroDTO->setStrNome('VERSAO_MODULO_PETICIONAMENTO');  
131 - $objInfraParametroDTO->retStrValor();  
132 -  
133 - $objInfraParametroBD = new InfraParametroBD($this->getObjInfraIBanco());  
134 - $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO);  
135 -  
136 - return $objInfraParametroDTO;  
137 - }  
138 -  
139 -  
140 132
  133 + protected function consultarVersaoPeticionamentoConectado($versao = null) {
  134 + $arrModulos = ConfiguracaoSEI::getInstance ()->getValor ( 'SEI', 'Modulos' );
  135 + if (is_array ( $arrModulos ) && array_key_exists ( 'PeticionamentoIntegracao', $arrModulos )) {
  136 + $objInfraParametroDTO = new InfraParametroDTO ();
  137 + $objInfraParametroDTO->setStrNome ( 'VERSAO_MODULO_PETICIONAMENTO' );
  138 + $objInfraParametroDTO->retStrValor ();
  139 +
  140 + $objInfraParametroBD = new InfraParametroBD ( $this->getObjInfraIBanco () );
  141 + $arrObjInfraParametroDTO = $objInfraParametroBD->consultar ( $objInfraParametroDTO );
  142 +
  143 + // versão do parametro é igual ou maior que a enviada
  144 + if (! is_null ( $versao )) {
  145 + if (count ( $arrObjInfraParametroDTO ) > 0) {
  146 + $arr_versao_parametro = explode ( '.', $arrObjInfraParametroDTO->getStrValor () );
  147 + $arr_versao = explode ( '.', $versao );
  148 + for($i = 0; $i < count ( $arr_versao_parametro ); $i ++) {
  149 + if (isset ( $arr_versao [$i] )) {
  150 + if (intval ( $arr_versao_parametro [$i] ) < intval ( $arr_versao [$i] )) {
  151 + return null;
  152 + } else if (intval ( $arr_versao_parametro [$i] ) > intval ( $arr_versao [$i] )) {
  153 + return $arrObjInfraParametroDTO;
  154 + }
  155 + }
  156 + }
  157 + }
  158 + }
  159 + return $arrObjInfraParametroDTO;
  160 + } else {
  161 + return null;
  162 + }
  163 + }
141 164
142 165
143 private function validarStrNome(MdPesqParametroPesquisaDTO $objParametroPesquisaDTO, InfraException $objInfraException){ 166 private function validarStrNome(MdPesqParametroPesquisaDTO $objParametroPesquisaDTO, InfraException $objInfraException){