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 | 46 | $ret = $relProtocoloProtocoloRN->listarRN0187($relProtocoloProtocoloDTOConsulta); |
| 47 | 47 | $arrDocumentos = array(); |
| 48 | 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 | 60 | $documentoDTOConsulta = new DocumentoDTO(); |
| 50 | 61 | $documentoDTOConsulta->retStrStaNivelAcessoLocalProtocolo(); |
| 51 | 62 | $documentoDTOConsulta->retDblIdDocumento(); |
| ... | ... | @@ -114,7 +125,7 @@ class MdWsSeiDocumentoRN extends DocumentoRN { |
| 114 | 125 | $resultPublicacao = $publicacaoRN->listarRN1045($publicacaoDTOConsulta); |
| 115 | 126 | $documentoPublicado = $resultPublicacao ? 'S' : 'N'; |
| 116 | 127 | $ciencia = $relProtocoloProtocoloDTO->getStrSinCiencia(); |
| 117 | - $podeVisualizarDocumento = $this->podeVisualizarDocumento($documentoDTO); | |
| 128 | + $podeVisualizarDocumento = $this->podeVisualizarDocumento($documentoDTO, $bolFlagProtocolo); | |
| 118 | 129 | |
| 119 | 130 | $result[] = array( |
| 120 | 131 | 'id' => $documentoDTO->getDblIdDocumento(), |
| ... | ... | @@ -409,72 +420,16 @@ class MdWsSeiDocumentoRN extends DocumentoRN { |
| 409 | 420 | /** |
| 410 | 421 | * Verifica se o documento pode ser visualizado |
| 411 | 422 | * @param DocumentoDTO $documentoDTO |
| 423 | + * @param bool $bolFlagProtocolo | |
| 412 | 424 | * @return bool |
| 413 | 425 | */ |
| 414 | - protected function podeVisualizarDocumento(DocumentoDTO $documentoDTO) | |
| 426 | + protected function podeVisualizarDocumento(DocumentoDTO $documentoDTO, $bolFlagProtocolo = false) | |
| 415 | 427 | { |
| 416 | 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 | 429 | $pesquisaProtocoloDTO = new PesquisaProtocoloDTO(); |
| 475 | 430 | $pesquisaProtocoloDTO->setStrStaTipo(ProtocoloRN::$TPP_TODOS); |
| 476 | 431 | $pesquisaProtocoloDTO->setStrStaAcesso(ProtocoloRN::$TAP_TODOS); |
| 477 | - $pesquisaProtocoloDTO->setDblIdProtocolo(InfraArray::converterArrInfraDTO($arrRelProtocoloProtocoloDTO,'IdProtocolo2')); | |
| 432 | + $pesquisaProtocoloDTO->setDblIdProtocolo($documentoDTO->getDblIdDocumento()); | |
| 478 | 433 | $protocoloRN = new ProtocoloRN(); |
| 479 | 434 | $arrProtocoloDTO = InfraArray::indexarArrInfraDTO($protocoloRN->pesquisarRN0967($pesquisaProtocoloDTO), 'IdProtocolo'); |
| 480 | 435 | $protocoloDTODocumento = $arrProtocoloDTO[$documentoDTO->getDblIdDocumento()]; | ... | ... |