Commit 0f1e24cec1abfcd07d8d03964762d0ad6e3f80f3
1 parent
d21e9296
Exists in
master
and in
1 other branch
[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()]; |