Commit aa88d45820a75def318937530cb02a7270604fe3
1 parent
2fc5620f
Exists in
master
and in
12 other branches
[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); | ... | ... |