Commit 08a67320bcb1b083f5c3de736e64cc73718a87bc

Authored by eduardo.batista
1 parent 57c82ac3
Exists in master and in 1 other branch desenv

[Refact] Refazendo novamente o sistema de download agora com mescla do antigo com o novo.

Showing 1 changed file with 45 additions and 81 deletions   Show diff stats
rn/MdWsSeiDocumentoRN.php
... ... @@ -249,108 +249,72 @@ class MdWsSeiDocumentoRN extends DocumentoRN {
249 249 if(!$protocoloDTOParam->isSetDblIdProtocolo() || !$protocoloDTOParam->getDblIdProtocolo()){
250 250 throw new InfraException('O protocolo deve ser informado!');
251 251 }
252   - $strContentDisposition = 'attachment';
253   - $documentoDTO = new DocumentoDTO();
254   - $documentoDTO->retDblIdDocumento();
255   - $documentoDTO->retStrNomeSerie();
256   - $documentoDTO->retStrNumero();
257   - $documentoDTO->retStrSiglaUnidadeGeradoraProtocolo();
258   - $documentoDTO->retStrProtocoloDocumentoFormatado();
259   - $documentoDTO->retStrStaProtocoloProtocolo();
260   - $documentoDTO->retStrStaDocumento();
261   - $documentoDTO->retDblIdDocumentoEdoc();
262   - $documentoDTO->setDblIdDocumento($protocoloDTOParam->getDblIdProtocolo());
  252 + $documentoDTOConsulta = new DocumentoDTO();
  253 + $documentoDTOConsulta->setDblIdProtocoloProtocolo($protocoloDTOParam->getDblIdProtocolo());
  254 + $documentoDTOConsulta->retDblIdDocumento();
  255 + $documentoDTOConsulta->retStrNomeSerie();
  256 + $documentoDTOConsulta->retStrNumero();
  257 + $documentoDTOConsulta->retStrSiglaUnidadeGeradoraProtocolo();
  258 + $documentoDTOConsulta->retStrProtocoloDocumentoFormatado();
  259 + $documentoDTOConsulta->retStrStaProtocoloProtocolo();
  260 + $documentoDTOConsulta->retStrStaDocumento();
  261 + $documentoDTOConsulta->retDblIdDocumentoEdoc();
  262 + $documentoBD = new DocumentoRN();
  263 + $documentoDTO = $documentoBD->consultarRN0005($documentoDTOConsulta);
263 264  
264   - $documentoRN = new DocumentoRN();
265   - $documentoDTO = $documentoRN->consultarRN0005($documentoDTO);
266   - if(!$documentoDTO){
267   - throw new InfraException('Documento não encontrado!');
268   - }
269 265 if ($documentoDTO->getStrStaDocumento()==DocumentoRN::$TD_EDITOR_EDOC) {
270 266 if ($documentoDTO->getDblIdDocumentoEdoc() == null) {
271 267 throw new InfraException('Documento sem conteúdo!');
272 268 }
273   - $objEDocRN = new EDocRN();
274   - $html = $objEDocRN->consultarHTMLDocumentoRN1204($documentoDTO);
  269 + $eDocRN = new EDocRN();
  270 + $html = $eDocRN->consultarHTMLDocumentoRN1204($documentoDTO);
275 271  
276 272 return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html));
277   - }else if ($documentoDTO->getStrStaDocumento() == DocumentoRN::$TD_EDITOR_INTERNO){
278   - $editorDTO = new EditorDTO();
279   - $editorDTO->setDblIdDocumento($documentoDTO->getDblIdDocumento());
280   - $editorDTO->setNumIdBaseConhecimento(null);
281   - $editorDTO->setStrSinCabecalho('S');
282   - $editorDTO->setStrSinRodape('S');
283   - $editorDTO->setStrSinCarimboPublicacao('S');
284   - $editorDTO->setStrSinIdentificacaoVersao('S');
285   - $editorDTO->setStrSinProcessarLinks('S');
  273 + }else if($documentoDTO->getStrStaDocumento() == DocumentoRN::$TD_EDITOR_INTERNO){
  274 + $editorDTOConsulta = new EditorDTO();
  275 + $editorDTOConsulta->setDblIdDocumento($documentoDTO->getDblIdDocumento());
  276 + $editorDTOConsulta->setNumIdBaseConhecimento(null);
  277 + $editorDTOConsulta->setStrSinCabecalho('S');
  278 + $editorDTOConsulta->setStrSinRodape('S');
  279 + $editorDTOConsulta->setStrSinIdentificacaoVersao('S');
  280 + $editorDTOConsulta->setStrSinProcessarLinks('S');
  281 +
  282 + if(MdWsSeiEditorRN::versaoCarimboPublicacaoObrigatorio()){
  283 + $editorDTOConsulta->setStrSinCarimboPublicacao('N');
  284 + }
  285 +
286 286 $editorRN = new EditorRN();
287   - $html = $editorRN->consultarHtmlVersao($editorDTO);
  287 + $html = $editorRN->consultarHtmlVersao($editorDTOConsulta);
288 288  
289 289 $auditoriaProtocoloDTO = new AuditoriaProtocoloDTO();
290   - $auditoriaProtocoloDTO->setStrRecurso('visualizar_documento');
  290 + $auditoriaProtocoloDTO->setStrRecurso('documento_visualizar');
291 291 $auditoriaProtocoloDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario());
292   - $auditoriaProtocoloDTO->setDblIdProtocolo($protocoloDTOParam->getDblIdProtocolo());
  292 + $auditoriaProtocoloDTO->setDblIdProtocolo($documentoDTO->getDblIdDocumento());
293 293 $auditoriaProtocoloDTO->setNumIdAnexo(null);
294 294 $auditoriaProtocoloDTO->setDtaAuditoria(InfraData::getStrDataAtual());
295   - $auditoriaProtocoloDTO->setNumVersao($editorDTO->getNumVersao());
  295 + $auditoriaProtocoloDTO->setNumVersao($editorDTOConsulta->getNumVersao());
296 296  
297 297 $auditoriaProtocoloRN = new AuditoriaProtocoloRN();
298 298 $auditoriaProtocoloRN->auditarVisualizacao($auditoriaProtocoloDTO);
299 299  
300   - $anexoDTO = new AnexoDTO();
301   - $anexoDTO->retTodos();
302   - $anexoDTO->setDblIdProtocolo($documentoDTO->getDblIdDocumento());
303   -
304   - $anexoRN = new AnexoRN();
305   - $arrAnexoDTO = $anexoRN->listarRN0218($anexoDTO);
306   -
307   - if (count($arrAnexoDTO)) {
308   - SeiINT::download($arrAnexoDTO[0], null, null, $strContentDisposition);
309   - }else{
310   - return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html));
311   - }
312   - }else if ($documentoDTO->getStrStaProtocoloProtocolo() == ProtocoloRN::$TP_DOCUMENTO_RECEBIDO){
313   - $anexoDTO = new AnexoDTO();
314   - $anexoDTO->retTodos();
315   - $anexoDTO->setDblIdProtocolo($documentoDTO->getDblIdDocumento());
316   -
317   - $anexoRN = new AnexoRN();
318   - $arrAnexoDTO = $anexoRN->listarRN0218($anexoDTO);
319   - if (count($arrAnexoDTO)){
320   - SeiINT::download($arrAnexoDTO[0], null, null, $strContentDisposition);
321   - }else{
322   - throw new InfraException('Documento sem conteúdo!');
323   - }
  300 + return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html));
324 301 }else{
325   - $documentoDTO = new DocumentoDTO();
326   - $documentoDTO->setDblIdDocumento($protocoloDTOParam->getDblIdProtocolo());
327   - $documentoDTO->setObjInfraSessao(SessaoSEI::getInstance());
328   - $documentoDTO->setStrLinkDownload('controlador.php?acao=documento_download_anexo');
329   -
330   - $html = $documentoRN->consultarHtmlFormulario($documentoDTO);
331   -
332   - $aditoriaProtocoloDTO = new AuditoriaProtocoloDTO();
333   - $aditoriaProtocoloDTO->setStrRecurso('visualizar_documento');
334   - $aditoriaProtocoloDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario());
335   - $aditoriaProtocoloDTO->setDblIdProtocolo($protocoloDTOParam->getDblIdProtocolo());
336   - $aditoriaProtocoloDTO->setNumIdAnexo(null);
337   - $aditoriaProtocoloDTO->setDtaAuditoria(InfraData::getStrDataAtual());
338   - $aditoriaProtocoloDTO->setNumVersao(null);
339   -
340   - $aditoriaProtocoloRN = new AuditoriaProtocoloRN();
341   - $aditoriaProtocoloRN->auditarVisualizacao($aditoriaProtocoloDTO);
342   -
343 302 $anexoDTO = new AnexoDTO();
344   - $anexoDTO->retTodos();
345   - $anexoDTO->setDblIdProtocolo($documentoDTO->getDblIdDocumento());
346   -
  303 + $anexoDTO->retNumIdAnexo();
  304 + $anexoDTO->retDthInclusao();
  305 + $anexoDTO->retDthInclusao();
  306 + $anexoDTO->retStrNome();
  307 + $anexoDTO->retStrHash();
  308 + $anexoDTO->setDblIdProtocolo($protocoloDTOParam->getDblIdProtocolo());
  309 + $anexoDTO->setStrSinAtivo('S');
347 310 $anexoRN = new AnexoRN();
348   - $arrAnexoDTO = $anexoRN->listarRN0218($anexoDTO);
349   - if (count($arrAnexoDTO)) {
350   - SeiINT::download($arrAnexoDTO[0], null, null, $strContentDisposition);
351   - }else{
352   - return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html));
  311 + $resultAnexo = $anexoRN->listarRN0218($anexoDTO);
  312 + if(empty($resultAnexo)){
  313 + throw new InfraException('Documento não encontrado!');
353 314 }
  315 + $anexo = $resultAnexo[0];
  316 + SeiINT::download($anexo);
  317 + exit;
354 318 }
355 319 }catch (Exception $e){
356 320 return MdWsSeiRest::formataRetornoErroREST($e);
... ...