From acb896d90f563d97da12ca2b75272c8ffee1d94a Mon Sep 17 00:00:00 2001 From: eduardo.batista Date: Tue, 31 Oct 2017 14:09:29 -0200 Subject: [PATCH] [Refact] Refazendo download de documento. --- rn/MdWsSeiDocumentoRN.php | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/rn/MdWsSeiDocumentoRN.php b/rn/MdWsSeiDocumentoRN.php index 65866d5..e9b2760 100644 --- a/rn/MdWsSeiDocumentoRN.php +++ b/rn/MdWsSeiDocumentoRN.php @@ -266,7 +266,6 @@ class MdWsSeiDocumentoRN extends DocumentoRN { throw new InfraException('Documento não encontrado!'); } if ($documentoDTO->getStrStaDocumento()==DocumentoRN::$TD_EDITOR_EDOC) { - echo 444;exit; if ($documentoDTO->getDblIdDocumentoEdoc() == null) { throw new InfraException('Documento sem conteúdo!'); } @@ -275,7 +274,6 @@ class MdWsSeiDocumentoRN extends DocumentoRN { return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html)); }else if ($documentoDTO->getStrStaDocumento() == DocumentoRN::$TD_EDITOR_INTERNO){ - echo 333;exit; $editorDTO = new EditorDTO(); $editorDTO->setDblIdDocumento($documentoDTO->getDblIdDocumento()); $editorDTO->setNumIdBaseConhecimento(null); @@ -287,9 +285,9 @@ class MdWsSeiDocumentoRN extends DocumentoRN { $editorRN = new EditorRN(); $html = $editorRN->consultarHtmlVersao($editorDTO); $auditoriaProtocoloDTO = new AuditoriaProtocoloDTO(); - $auditoriaProtocoloDTO->setStrRecurso($_GET['acao']); + $auditoriaProtocoloDTO->setStrRecurso('visualizar_documento'); $auditoriaProtocoloDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); - $auditoriaProtocoloDTO->setDblIdProtocolo($_GET['id_documento']); + $auditoriaProtocoloDTO->setDblIdProtocolo($protocoloDTOParam->getDblIdProtocolo()); $auditoriaProtocoloDTO->setNumIdAnexo(null); $auditoriaProtocoloDTO->setDtaAuditoria(InfraData::getStrDataAtual()); $auditoriaProtocoloDTO->setNumVersao($editorDTO->getNumVersao()); @@ -297,9 +295,18 @@ class MdWsSeiDocumentoRN extends DocumentoRN { $auditoriaProtocoloRN = new AuditoriaProtocoloRN(); $auditoriaProtocoloRN->auditarVisualizacao($auditoriaProtocoloDTO); - return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html)); + $anexoDTO = new AnexoDTO(); + $anexoDTO->retNumIdAnexo(); + $anexoDTO->setDblIdProtocolo($documentoDTO->getDblIdDocumento()); + + $anexoRN = new AnexoRN(); + $arrAnexoDTO = $anexoRN->listarRN0218($anexoDTO); + if (count($arrAnexoDTO)) { + SeiINT::download($arrAnexoDTO[0]); + }else{ + return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html)); + } }else if ($documentoDTO->getStrStaProtocoloProtocolo() == ProtocoloRN::$TP_DOCUMENTO_RECEBIDO){ - echo 222;exit; $anexoDTO = new AnexoDTO(); $anexoDTO->retNumIdAnexo(); $anexoDTO->setDblIdProtocolo($documentoDTO->getDblIdDocumento()); @@ -312,7 +319,6 @@ class MdWsSeiDocumentoRN extends DocumentoRN { throw new InfraException('Documento sem conteúdo!'); } }else{ - echo 111;exit; $documentoDTO = new DocumentoDTO(); $documentoDTO->setDblIdDocumento($protocoloDTOParam->getDblIdProtocolo()); $documentoDTO->setObjInfraSessao(SessaoSEI::getInstance()); @@ -331,7 +337,17 @@ class MdWsSeiDocumentoRN extends DocumentoRN { $aditoriaProtocoloRN = new AuditoriaProtocoloRN(); $aditoriaProtocoloRN->auditarVisualizacao($aditoriaProtocoloDTO); - return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html)); + $anexoDTO = new AnexoDTO(); + $anexoDTO->retNumIdAnexo(); + $anexoDTO->setDblIdProtocolo($documentoDTO->getDblIdDocumento()); + + $anexoRN = new AnexoRN(); + $arrAnexoDTO = $anexoRN->listarRN0218($anexoDTO); + if (count($arrAnexoDTO)) { + SeiINT::download($arrAnexoDTO[0]); + }else{ + return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html)); + } } }catch (Exception $e){ return MdWsSeiRest::formataRetornoErroREST($e); -- libgit2 0.21.2