Commit aa88d45820a75def318937530cb02a7270604fe3

Authored by Guilherme Del Cantoni
1 parent 2fc5620f

[Fixed #58] Correção de erro no cancelamento de trâmite

Showing 2 changed files with 12 additions and 13 deletions   Show diff stats
dto/TramiteDTO.php
@@ -31,8 +31,8 @@ class TramiteDTO extends InfraDTO { @@ -31,8 +31,8 @@ class TramiteDTO extends InfraDTO {
31 31
32 $this->configurarFK('NumeroRegistro', 'md_pen_tramite', 'numero_registro', InfraDTO::$TIPO_FK_OBRIGATORIA); 32 $this->configurarFK('NumeroRegistro', 'md_pen_tramite', 'numero_registro', InfraDTO::$TIPO_FK_OBRIGATORIA);
33 $this->configurarFK('NumeroRegistro', 'md_pen_processo_eletronico', 'numero_registro'); 33 $this->configurarFK('NumeroRegistro', 'md_pen_processo_eletronico', 'numero_registro');
34 - $this->configurarFK('IdUsuario', 'usuario u', 'u.id_usuario');  
35 - $this->configurarFK('IdUnidade', 'unidade u', 'u.id_unidade'); 34 + $this->configurarFK('IdUsuario', 'usuario', 'id_usuario');
  35 + $this->configurarFK('IdUnidade', 'unidade', 'id_unidade');
36 } 36 }
37 37
38 } 38 }
rn/ExpedirProcedimentoRN.php
@@ -2229,20 +2229,19 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -2229,20 +2229,19 @@ class ExpedirProcedimentoRN extends InfraRN {
2229 $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO); 2229 $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO);
2230 2230
2231 $objTramiteDTO = new TramiteDTO(); 2231 $objTramiteDTO = new TramiteDTO();
2232 - $objTramiteDTO->setNumIdProcedimento($objDtoProtocolo->retDblIdProtocolo()); 2232 + $objTramiteDTO->setNumIdProcedimento($objDtoProtocolo->getDblIdProtocolo());
  2233 + $objTramiteDTO->setStrStaTipoTramite(ProcessoEletronicoRN::$STA_TIPO_TRAMITE_ENVIO);
2233 $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC); 2234 $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC);
2234 $objTramiteDTO->setNumMaxRegistrosRetorno(1); 2235 $objTramiteDTO->setNumMaxRegistrosRetorno(1);
2235 $objTramiteDTO->retNumIdTramite(); 2236 $objTramiteDTO->retNumIdTramite();
2236 2237
2237 $objTramiteBD = new TramiteBD($this->getObjInfraIBanco()); 2238 $objTramiteBD = new TramiteBD($this->getObjInfraIBanco());
2238 - $arrObjTramiteDTO = $objTramiteBD->listar($objTramiteDTO); 2239 + $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO);
2239 2240
2240 - if(!$arrObjTramiteDTO){  
2241 - throw new InfraException('Trâmite não encontrado para esse processo. '); 2241 + if(!isset($objTramiteDTO)){
  2242 + throw new InfraException("Trâmite não encontrado para esse processo. ({$objDtoProtocolo->getDblIdProtocolo()})");
2242 } 2243 }
2243 2244
2244 - $objTramiteDTO = $arrObjTramiteDTO[0];  
2245 -  
2246 //Armazena o id do protocolo 2245 //Armazena o id do protocolo
2247 $dblIdProcedimento = $objDtoProtocolo->getDblIdProtocolo(); 2246 $dblIdProcedimento = $objDtoProtocolo->getDblIdProtocolo();
2248 2247
@@ -2284,16 +2283,16 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -2284,16 +2283,16 @@ class ExpedirProcedimentoRN extends InfraRN {
2284 case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE: 2283 case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE:
2285 throw new InfraException("O sistema destinatário já recebeu esse processo, portanto não é possivel realizar o cancelamento"); 2284 throw new InfraException("O sistema destinatário já recebeu esse processo, portanto não é possivel realizar o cancelamento");
2286 break; 2285 break;
2287 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO:  
2288 - throw new InfraException("O trâmite externo para esse processo já se encontra cancelado.");  
2289 - break;  
2290 case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO: 2286 case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO:
2291 throw new InfraException("O trâmite externo para esse processo encontra-se recusado."); 2287 throw new InfraException("O trâmite externo para esse processo encontra-se recusado.");
2292 break; 2288 break;
2293 } 2289 }
2294 2290
2295 - $this->objProcessoEletronicoRN->cancelarTramite($tramite->IDT);  
2296 - 2291 + //Somente solicita cancelamento ao PEN se processo ainda não estiver cancelado
  2292 + if(!in_array($numSituacaoAtual, array(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO))) {
  2293 + $this->objProcessoEletronicoRN->cancelarTramite($tramite->IDT);
  2294 + }
  2295 +
2297 //Desbloqueia o processo 2296 //Desbloqueia o processo
2298 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI(); 2297 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI();
2299 $objEntradaDesbloquearProcessoAPI->setIdProcedimento($dblIdProcedimento); 2298 $objEntradaDesbloquearProcessoAPI->setIdProcedimento($dblIdProcedimento);