Commit 81d629144f9af08541d4646fb90a7a096cf0e032

Authored by Guilherme Andrade Del Cantoni
1 parent af7e7d1f

[Fixed #37] Correção de rejeição de documentos cancelados maiores que 50 Mb

Showing 1 changed file with 10 additions and 9 deletions   Show diff stats
rn/ReceberProcedimentoRN.php
@@ -344,19 +344,20 @@ class ReceberProcedimentoRN extends InfraRN @@ -344,19 +344,20 @@ class ReceberProcedimentoRN extends InfraRN
344 $objPenParametroRN = new PenParametroRN(); 344 $objPenParametroRN = new PenParametroRN();
345 $numTamDocExterno = $objPenParametroRN->getParametro('PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO'); 345 $numTamDocExterno = $objPenParametroRN->getParametro('PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO');
346 346
347 -  
348 foreach($arrObjDocumentos as $objDocument) { 347 foreach($arrObjDocumentos as $objDocument) {
349 - if (is_null($objDocument->componenteDigital->tamanhoEmBytes) || $objDocument->componenteDigital->tamanhoEmBytes == 0){  
350 - throw new InfraException('Tamanho de componente digital não informado.', null, 'RECUSA: '.ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);  
351 -  
352 - }  
353 348
354 - if($objDocument->componenteDigital->tamanhoEmBytes > ($numTamDocExterno * 1024 * 1024)){ 349 + //Não valida informações do componente digital caso o documento esteja cancelado
  350 + if(isset($objDocumento->retirado) && $objDocumento->retirado === true){
  351 + if (is_null($objDocument->componenteDigital->tamanhoEmBytes) || $objDocument->componenteDigital->tamanhoEmBytes == 0){
  352 + throw new InfraException('Tamanho de componente digital não informado.', null, 'RECUSA: '.ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);
  353 + }
355 354
356 - $numTamanhoMb = $objDocument->componenteDigital->tamanhoEmBytes / ( 1024 * 1024);  
357 - $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, 'Componente digital não pode ultrapassar '.$numTamDocExterno.', o tamanho do anexo é '.$numTamanhoMb.' .', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);  
358 - throw new InfraException('Componente digital não pode ultrapassar '.$numTamDocExterno.', o tamanho do anexo é '.$numTamanhoMb); 355 + if($objDocument->componenteDigital->tamanhoEmBytes > ($numTamDocExterno * 1024 * 1024)){
  356 + $numTamanhoMb = $objDocument->componenteDigital->tamanhoEmBytes / ( 1024 * 1024);
  357 + $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, 'Componente digital não pode ultrapassar '.round($numTamDocExterno, 2).'MBs, o tamanho do anexo é '.round($numTamanhoMb, 2).'MBs .', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);
  358 + throw new InfraException('Componente digital não pode ultrapassar '.round($numTamDocExterno, 2).'MBs, o tamanho do anexo é '.round($numTamanhoMb).'MBs');
359 359
  360 + }
360 } 361 }
361 } 362 }
362 363