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()]; | ... | ... |