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 344 $objPenParametroRN = new PenParametroRN();
345 345 $numTamDocExterno = $objPenParametroRN->getParametro('PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO');
346 346  
347   -
348 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  
... ...