From aa88d45820a75def318937530cb02a7270604fe3 Mon Sep 17 00:00:00 2001 From: Guilherme Cantoni Date: Wed, 17 Apr 2019 20:58:23 -0300 Subject: [PATCH] [Fixed #58] Correção de erro no cancelamento de trâmite --- dto/TramiteDTO.php | 4 ++-- rn/ExpedirProcedimentoRN.php | 21 ++++++++++----------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/dto/TramiteDTO.php b/dto/TramiteDTO.php index 2c30698..47f9c6d 100644 --- a/dto/TramiteDTO.php +++ b/dto/TramiteDTO.php @@ -31,8 +31,8 @@ class TramiteDTO extends InfraDTO { $this->configurarFK('NumeroRegistro', 'md_pen_tramite', 'numero_registro', InfraDTO::$TIPO_FK_OBRIGATORIA); $this->configurarFK('NumeroRegistro', 'md_pen_processo_eletronico', 'numero_registro'); - $this->configurarFK('IdUsuario', 'usuario u', 'u.id_usuario'); - $this->configurarFK('IdUnidade', 'unidade u', 'u.id_unidade'); + $this->configurarFK('IdUsuario', 'usuario', 'id_usuario'); + $this->configurarFK('IdUnidade', 'unidade', 'id_unidade'); } } diff --git a/rn/ExpedirProcedimentoRN.php b/rn/ExpedirProcedimentoRN.php index c59e966..5961514 100644 --- a/rn/ExpedirProcedimentoRN.php +++ b/rn/ExpedirProcedimentoRN.php @@ -2229,20 +2229,19 @@ class ExpedirProcedimentoRN extends InfraRN { $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO); $objTramiteDTO = new TramiteDTO(); - $objTramiteDTO->setNumIdProcedimento($objDtoProtocolo->retDblIdProtocolo()); + $objTramiteDTO->setNumIdProcedimento($objDtoProtocolo->getDblIdProtocolo()); + $objTramiteDTO->setStrStaTipoTramite(ProcessoEletronicoRN::$STA_TIPO_TRAMITE_ENVIO); $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC); $objTramiteDTO->setNumMaxRegistrosRetorno(1); $objTramiteDTO->retNumIdTramite(); $objTramiteBD = new TramiteBD($this->getObjInfraIBanco()); - $arrObjTramiteDTO = $objTramiteBD->listar($objTramiteDTO); + $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO); - if(!$arrObjTramiteDTO){ - throw new InfraException('Trâmite não encontrado para esse processo. '); + if(!isset($objTramiteDTO)){ + throw new InfraException("Trâmite não encontrado para esse processo. ({$objDtoProtocolo->getDblIdProtocolo()})"); } - $objTramiteDTO = $arrObjTramiteDTO[0]; - //Armazena o id do protocolo $dblIdProcedimento = $objDtoProtocolo->getDblIdProtocolo(); @@ -2284,16 +2283,16 @@ class ExpedirProcedimentoRN extends InfraRN { case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE: throw new InfraException("O sistema destinatário já recebeu esse processo, portanto não é possivel realizar o cancelamento"); break; - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO: - throw new InfraException("O trâmite externo para esse processo já se encontra cancelado."); - break; case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO: throw new InfraException("O trâmite externo para esse processo encontra-se recusado."); break; } - $this->objProcessoEletronicoRN->cancelarTramite($tramite->IDT); - + //Somente solicita cancelamento ao PEN se processo ainda não estiver cancelado + if(!in_array($numSituacaoAtual, array(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO))) { + $this->objProcessoEletronicoRN->cancelarTramite($tramite->IDT); + } + //Desbloqueia o processo $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI(); $objEntradaDesbloquearProcessoAPI->setIdProcedimento($dblIdProcedimento); -- libgit2 0.21.2