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 31  
32 32 $this->configurarFK('NumeroRegistro', 'md_pen_tramite', 'numero_registro', InfraDTO::$TIPO_FK_OBRIGATORIA);
33 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 2229 $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO);
2230 2230  
2231 2231 $objTramiteDTO = new TramiteDTO();
2232   - $objTramiteDTO->setNumIdProcedimento($objDtoProtocolo->retDblIdProtocolo());
  2232 + $objTramiteDTO->setNumIdProcedimento($objDtoProtocolo->getDblIdProtocolo());
  2233 + $objTramiteDTO->setStrStaTipoTramite(ProcessoEletronicoRN::$STA_TIPO_TRAMITE_ENVIO);
2233 2234 $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC);
2234 2235 $objTramiteDTO->setNumMaxRegistrosRetorno(1);
2235 2236 $objTramiteDTO->retNumIdTramite();
2236 2237  
2237 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 2245 //Armazena o id do protocolo
2247 2246 $dblIdProcedimento = $objDtoProtocolo->getDblIdProtocolo();
2248 2247  
... ... @@ -2284,16 +2283,16 @@ class ExpedirProcedimentoRN extends InfraRN {
2284 2283 case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE:
2285 2284 throw new InfraException("O sistema destinatário já recebeu esse processo, portanto não é possivel realizar o cancelamento");
2286 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 2286 case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO:
2291 2287 throw new InfraException("O trâmite externo para esse processo encontra-se recusado.");
2292 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 2296 //Desbloqueia o processo
2298 2297 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI();
2299 2298 $objEntradaDesbloquearProcessoAPI->setIdProcedimento($dblIdProcedimento);
... ...