From 7617c570d9a28723a9269f7fef9b45958df98126 Mon Sep 17 00:00:00 2001 From: eduardo.praxedes Date: Wed, 15 Mar 2017 18:43:34 -0300 Subject: [PATCH] Correção do recebimento de documento cancelado, mensagem da recusa e exibição dos botões em caso de configuração errada do barramento --- PENIntegracao.php | 4 ++-- rn/PenTramiteProcessadoRN.php | 2 +- rn/ProcessoEletronicoRN.php | 7 +++++++ rn/ReceberProcedimentoRN.php | 22 ++++++++++++---------- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/PENIntegracao.php b/PENIntegracao.php index d6ede5e..cffdb9b 100644 --- a/PENIntegracao.php +++ b/PENIntegracao.php @@ -34,11 +34,11 @@ class PENIntegracao extends SeiIntegracao { $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); $objInfraParametro = new InfraParametro(BancoSEI::getInstance()); - if(!file_exists($objInfraParametro->getValor('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL'))){ + /* if(!file_exists($objInfraParametro->getValor('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL'))){ return array(); } - $objProcessoEletronicoRN = new ProcessoEletronicoRN(); + $objProcessoEletronicoRN = new ProcessoEletronicoRN();*/ //Verifica se o processo encontra-se aberto na unidade atual diff --git a/rn/PenTramiteProcessadoRN.php b/rn/PenTramiteProcessadoRN.php index b1312cd..bdb9ef6 100644 --- a/rn/PenTramiteProcessadoRN.php +++ b/rn/PenTramiteProcessadoRN.php @@ -80,7 +80,7 @@ class PenTramiteProcessadoRN extends InfraRN { if($objDTO->getStrTipo() == self::STR_TIPO_PROCESSO) { // Recusa o tramite $objProcessoEletronicoRN = new ProcessoEletronicoRN(); - $objProcessoEletronicoRN->recusarTramite($dblIdTramite, 'Tramite recusado por falha do destinatário', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO); + $objProcessoEletronicoRN->recusarTramite($dblIdTramite, 'Tramite recusado por falha do destinatário', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU); } return true;// Mente que já foi recebido para não executar novamente } diff --git a/rn/ProcessoEletronicoRN.php b/rn/ProcessoEletronicoRN.php index 4e6b362..8f57f06 100644 --- a/rn/ProcessoEletronicoRN.php +++ b/rn/ProcessoEletronicoRN.php @@ -54,6 +54,12 @@ class ProcessoEletronicoRN extends InfraRN { * Motivo para recusar de tramite de componente digital que não foi enviado */ const MTV_RCSR_TRAM_CD_FALTA = '03'; + + /** + * Espécie documentoal não mapeada + */ + const MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA = '04'; + /** * Motivo para recusar de tramite de componente digital */ @@ -63,6 +69,7 @@ class ProcessoEletronicoRN extends InfraRN { "01" => "Formato de componente digital não suportado", "02" => "Componente digital corrompido", "03" => "Falta de componentes digitais", + "04" => "Espécie documental não mapeada no destinatário", "99" => "Outro" ); diff --git a/rn/ReceberProcedimentoRN.php b/rn/ReceberProcedimentoRN.php index 757bc62..1417753 100644 --- a/rn/ReceberProcedimentoRN.php +++ b/rn/ReceberProcedimentoRN.php @@ -174,14 +174,7 @@ class ReceberProcedimentoRN extends InfraRN $objProcedimentoDTO = $this->registrarProcesso($strNumeroRegistro, $parNumIdentificacaoTramite, $objProcesso, $objMetadadosProcedimento); - foreach($this->documentosRetirados as $documentoCancelado){ - //Instancia o DTO do protocolo - $objEntradaCancelarDocumentoAPI = new EntradaCancelarDocumentoAPI(); - $objEntradaCancelarDocumentoAPI->setIdDocumento($documentoCancelado); - $objEntradaCancelarDocumentoAPI->setMotivo('Cancelado pelo remetente'); - - $objSeiRN->cancelarDocumento($objEntradaCancelarDocumentoAPI); - } + // @join_tec US008.08 (#23092) @@ -340,8 +333,8 @@ class ReceberProcedimentoRN extends InfraRN // Não achou, ou seja, não esta cadastrado na tabela, então não é // aceito nesta unidade como válido if($numContador <= 0) { - $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, sprintf('Documento do tipo %s não está mapeado', $objDocument->especie->nomeNoProdutor), ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO); - throw new InfraException(sprintf('Documento do tipo %s não está mapeado. Motivo da Recusa no Barramento: %s', $objDocument->especie->nomeNoProdutor, ProcessoEletronicoRN::$MOTIVOS_RECUSA[ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO])); + $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, sprintf('Documento do tipo %s não está mapeado', $objDocument->especie->nomeNoProdutor), ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA); + throw new InfraException(sprintf('Documento do tipo %s não está mapeado. Motivo da Recusa no Barramento: %s', $objDocument->especie->nomeNoProdutor, ProcessoEletronicoRN::$MOTIVOS_RECUSA[ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA])); } } @@ -1140,6 +1133,15 @@ class ReceberProcedimentoRN extends InfraRN } } + + foreach($this->documentosRetirados as $documentoCancelado){ + //Instancia o DTO do protocolo + $objEntradaCancelarDocumentoAPI = new EntradaCancelarDocumentoAPI(); + $objEntradaCancelarDocumentoAPI->setIdDocumento($documentoCancelado); + $objEntradaCancelarDocumentoAPI->setMotivo('Cancelado pelo remetente'); + $objSeiRN = new SeiRN(); + $objSeiRN->cancelarDocumento($objEntradaCancelarDocumentoAPI); + } $objProcedimentoDTO->setArrObjDocumentoDTO($arrObjDocumentoDTO); } -- libgit2 0.21.2