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