From c01ad3c0a23c26362bd7b11a5963fa122241cba4 Mon Sep 17 00:00:00 2001 From: Ezequiel Lafuente Date: Tue, 22 May 2018 17:20:24 -0300 Subject: [PATCH] desenvolvimento do WI = 11000 - [WorkItem][Listagem de Processos] - Ajuste na flag de permite assinatura --- rn/MdWsSeiDocumentoRN.php | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/rn/MdWsSeiDocumentoRN.php b/rn/MdWsSeiDocumentoRN.php index 59ce657..a2c9311 100644 --- a/rn/MdWsSeiDocumentoRN.php +++ b/rn/MdWsSeiDocumentoRN.php @@ -929,6 +929,8 @@ class MdWsSeiDocumentoRN extends DocumentoRN { $relProtocoloProtocoloRN = new RelProtocoloProtocoloRN(); $ret = $relProtocoloProtocoloRN->listarRN0187($relProtocoloProtocoloDTOConsulta); + + $arrDocumentos = array(); if ($ret) { $unidadeDTO = new UnidadeDTO(); @@ -973,6 +975,8 @@ class MdWsSeiDocumentoRN extends DocumentoRN { $anexoRN = new AnexoRN(); $observacaoRN = new ObservacaoRN(); $publicacaoRN = new PublicacaoRN(); + + /** @var RelProtocoloProtocoloDTO $relProtocoloProtocoloDTO */ foreach ($ret as $relProtocoloProtocoloDTO) { $documentoDTO = $arrDocumentos[$relProtocoloProtocoloDTO->getDblIdProtocolo2()]; @@ -1027,6 +1031,39 @@ class MdWsSeiDocumentoRN extends DocumentoRN { $objProtocoloRN = new ProtocoloRN(); $arrObjProtocoloDTO = $objProtocoloRN->pesquisarRN0967($objPesquisaProtocoloDTO); + + //recupera documentos disponibilizados pela unidade atual + $objRelBlocoProtocoloDTO = new RelBlocoProtocoloDTO(); + $objRelBlocoProtocoloDTO->setDistinct(true); + $objRelBlocoProtocoloDTO->retDblIdProtocolo(); + $objRelBlocoProtocoloDTO->setNumIdUnidadeBloco(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + $objRelBlocoProtocoloDTO->setStrStaTipoBloco(BlocoRN::$TB_ASSINATURA); + $objRelBlocoProtocoloDTO->setStrStaEstadoBloco(BlocoRN::$TE_DISPONIBILIZADO); + + + $objRelBlocoProtocoloRN = new RelBlocoProtocoloRN(); + $arrDocumentosDisponibilizados = InfraArray::indexarArrInfraDTO($objRelBlocoProtocoloRN->listarRN1291($objRelBlocoProtocoloDTO),'IdProtocolo'); + + + if (isset($arrDocumentosDisponibilizados[$documentoDTOParam->getDblIdProcedimento()])) { + $disponibilizado = "S"; + } else { + $disponibilizado = "N"; + } + + $strStaDocumento = $documentoDTO->getStrStaDocumento(); + $numIdUnidadeGeradoraProtocolo = $documentoDTO->getNumIdUnidadeGeradoraProtocolo(); + $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); + $strSinDisponibilizadoParaOutraUnidade = $disponibilizado; + + $permiteAssinatura = false; + + if(($documentoDTO->getStrStaDocumento() == DocumentoRN::$TD_EDITOR_INTERNO || $strStaDocumento==DocumentoRN::$TD_FORMULARIO_GERADO) && + ($numIdUnidadeGeradoraProtocolo == $numIdUnidadeAtual && $strSinDisponibilizadoParaOutraUnidade == 'N')){ + $permiteAssinatura = true; + } + + $result[] = array( 'id' => $documentoDTO->getDblIdDocumento(), 'atributos' => array( @@ -1052,7 +1089,7 @@ class MdWsSeiDocumentoRN extends DocumentoRN { 'ciencia' => $ciencia, 'documentoCancelado' => $documentoCancelado, 'podeVisualizarDocumento' => $podeVisualizarDocumento ? 'S' : 'N', - 'permiteAssinatura' => $arrObjProtocoloDTO ? $arrObjProtocoloDTO[0]->getStrSinAssinado() : "" + 'permiteAssinatura' => $permiteAssinatura ) ) ); -- libgit2 0.21.2