Commit 0f1e24cec1abfcd07d8d03964762d0ad6e3f80f3

Authored by eduardo.batista
1 parent d21e9296
Exists in master and in 1 other branch desenv

[Refact] Refactoring de performance critico.

Esta alteração pode acarretar em instabilidade no mecanismo de verificação de acesso a documento.
Showing 1 changed file with 15 additions and 60 deletions   Show diff stats
rn/MdWsSeiDocumentoRN.php
@@ -46,6 +46,17 @@ class MdWsSeiDocumentoRN extends DocumentoRN { @@ -46,6 +46,17 @@ class MdWsSeiDocumentoRN extends DocumentoRN {
46 $ret = $relProtocoloProtocoloRN->listarRN0187($relProtocoloProtocoloDTOConsulta); 46 $ret = $relProtocoloProtocoloRN->listarRN0187($relProtocoloProtocoloDTOConsulta);
47 $arrDocumentos = array(); 47 $arrDocumentos = array();
48 if($ret){ 48 if($ret){
  49 + $unidadeDTO = new UnidadeDTO();
  50 + $unidadeDTO->setBolExclusaoLogica(false);
  51 + $unidadeDTO->retStrSinProtocolo();
  52 + $unidadeDTO->retStrSinOuvidoria();
  53 + $unidadeDTO->retStrSinArquivamento();
  54 + $unidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
  55 +
  56 + $unidadeRN = new UnidadeRN();
  57 + $unidadeDTO = $unidadeRN->consultarRN0125($unidadeDTO);
  58 + $bolFlagProtocolo = ($unidadeDTO->getStrSinProtocolo() == 'S');
  59 +
49 $documentoDTOConsulta = new DocumentoDTO(); 60 $documentoDTOConsulta = new DocumentoDTO();
50 $documentoDTOConsulta->retStrStaNivelAcessoLocalProtocolo(); 61 $documentoDTOConsulta->retStrStaNivelAcessoLocalProtocolo();
51 $documentoDTOConsulta->retDblIdDocumento(); 62 $documentoDTOConsulta->retDblIdDocumento();
@@ -114,7 +125,7 @@ class MdWsSeiDocumentoRN extends DocumentoRN { @@ -114,7 +125,7 @@ class MdWsSeiDocumentoRN extends DocumentoRN {
114 $resultPublicacao = $publicacaoRN->listarRN1045($publicacaoDTOConsulta); 125 $resultPublicacao = $publicacaoRN->listarRN1045($publicacaoDTOConsulta);
115 $documentoPublicado = $resultPublicacao ? 'S' : 'N'; 126 $documentoPublicado = $resultPublicacao ? 'S' : 'N';
116 $ciencia = $relProtocoloProtocoloDTO->getStrSinCiencia(); 127 $ciencia = $relProtocoloProtocoloDTO->getStrSinCiencia();
117 - $podeVisualizarDocumento = $this->podeVisualizarDocumento($documentoDTO); 128 + $podeVisualizarDocumento = $this->podeVisualizarDocumento($documentoDTO, $bolFlagProtocolo);
118 129
119 $result[] = array( 130 $result[] = array(
120 'id' => $documentoDTO->getDblIdDocumento(), 131 'id' => $documentoDTO->getDblIdDocumento(),
@@ -409,72 +420,16 @@ class MdWsSeiDocumentoRN extends DocumentoRN { @@ -409,72 +420,16 @@ class MdWsSeiDocumentoRN extends DocumentoRN {
409 /** 420 /**
410 * Verifica se o documento pode ser visualizado 421 * Verifica se o documento pode ser visualizado
411 * @param DocumentoDTO $documentoDTO 422 * @param DocumentoDTO $documentoDTO
  423 + * @param bool $bolFlagProtocolo
412 * @return bool 424 * @return bool
413 */ 425 */
414 - protected function podeVisualizarDocumento(DocumentoDTO $documentoDTO) 426 + protected function podeVisualizarDocumento(DocumentoDTO $documentoDTO, $bolFlagProtocolo = false)
415 { 427 {
416 $podeVisualizar = false; 428 $podeVisualizar = false;
417 - $strStaProtocoloProtocolo = $documentoDTO->getStrStaProtocoloProtocolo();  
418 - $bolFlagProtocolo = false;  
419 - $numCodigoAcesso = 0;  
420 -  
421 - $strNos = '';  
422 - $strNosAcao = '';  
423 - $strJsArrPastas = '';  
424 - $numNo = 0;  
425 - $numNoAcao = 0;  
426 - $strOcultarAbrirFechar = '';  
427 - $strNumPastasAbertas = '';  
428 - $bolFlagAberto = false;  
429 - $bolFlagAnexado = false;  
430 - $bolFlagProtocolo = false;  
431 - $bolFlagArquivo = false;  
432 - $bolFlagTramitacao = false;  
433 - $bolFlagSobrestado = false;  
434 - $bolFlagBloqueado = false;  
435 - $bolErro = false;  
436 - $numCodigoAcesso = 0;  
437 - $strNoProc = "";  
438 -  
439 - $objProcedimentoDTO = ProcedimentoINT::montarAcoesArvore(  
440 - $documentoDTO->getDblIdProcedimento(),  
441 - SessaoSEI::getInstance()->getNumIdUnidadeAtual(),  
442 - $bolFlagAberto,  
443 - $bolFlagAnexado,  
444 - $bolFlagProtocolo,  
445 - $bolFlagArquivo,  
446 - $bolFlagTramitacao,  
447 - $bolFlagSobrestado,  
448 - $bolFlagBloqueado,  
449 - $numCodigoAcesso,  
450 - $numNo,  
451 - $strNos,  
452 - $numNoAcao,  
453 - $strNosAcao,  
454 - $strNoProc,  
455 - $bolErro);  
456 -  
457 - $arrRelProtocoloProtocoloDTO = $objProcedimentoDTO->getArrObjRelProtocoloProtocoloDTO();  
458 - $arrIdRelProtocoloProtocolo = InfraArray::converterArrInfraDTO($arrRelProtocoloProtocoloDTO ,'IdRelProtocoloProtocolo');  
459 -  
460 - $procedimentoDTOConsulta = new ProcedimentoDTO();  
461 - $procedimentoDTOConsulta->setDblIdProcedimento($documentoDTO->getDblIdProcedimento());  
462 - $procedimentoDTOConsulta->setArrObjRelProtocoloProtocoloDTO(InfraArray::gerarArrInfraDTO('RelProtocoloProtocoloDTO','IdRelProtocoloProtocolo',$arrIdRelProtocoloProtocolo));  
463 - $procedimentoDTOConsulta->setStrSinDocTodos('S');  
464 - $procedimentoDTOConsulta->setStrSinDocAnexos('S');  
465 - $procedimentoDTOConsulta->setStrSinConteudoEmail('S');  
466 - $procedimentoDTOConsulta->setStrSinProcAnexados('S');  
467 - $procedimentoDTOConsulta->setStrSinDocCircular('S');  
468 - $procedimentoDTOConsulta->setStrSinArquivamento('S');  
469 - $procedimentoRN = new ProcedimentoRN();  
470 - $arrProcedimentoDTO = $procedimentoRN->listarCompleto($procedimentoDTOConsulta);  
471 - $procedimentoDTO = $arrProcedimentoDTO[0];  
472 - $arrRelProtocoloProtocoloDTO = $procedimentoDTO->getArrObjRelProtocoloProtocoloDTO();  
473 -  
474 $pesquisaProtocoloDTO = new PesquisaProtocoloDTO(); 429 $pesquisaProtocoloDTO = new PesquisaProtocoloDTO();
475 $pesquisaProtocoloDTO->setStrStaTipo(ProtocoloRN::$TPP_TODOS); 430 $pesquisaProtocoloDTO->setStrStaTipo(ProtocoloRN::$TPP_TODOS);
476 $pesquisaProtocoloDTO->setStrStaAcesso(ProtocoloRN::$TAP_TODOS); 431 $pesquisaProtocoloDTO->setStrStaAcesso(ProtocoloRN::$TAP_TODOS);
477 - $pesquisaProtocoloDTO->setDblIdProtocolo(InfraArray::converterArrInfraDTO($arrRelProtocoloProtocoloDTO,'IdProtocolo2')); 432 + $pesquisaProtocoloDTO->setDblIdProtocolo($documentoDTO->getDblIdDocumento());
478 $protocoloRN = new ProtocoloRN(); 433 $protocoloRN = new ProtocoloRN();
479 $arrProtocoloDTO = InfraArray::indexarArrInfraDTO($protocoloRN->pesquisarRN0967($pesquisaProtocoloDTO), 'IdProtocolo'); 434 $arrProtocoloDTO = InfraArray::indexarArrInfraDTO($protocoloRN->pesquisarRN0967($pesquisaProtocoloDTO), 'IdProtocolo');
480 $protocoloDTODocumento = $arrProtocoloDTO[$documentoDTO->getDblIdDocumento()]; 435 $protocoloDTODocumento = $arrProtocoloDTO[$documentoDTO->getDblIdDocumento()];