Commit f498eb9068570c1460761e705d077c28153d520a
1 parent
2fc5620f
Exists in
master
and in
13 other branches
Correção de problema com processos travados no status 3 - Metadados Recebidos
Showing
3 changed files
with
46 additions
and
45 deletions
Show diff stats
rn/PendenciasTramiteRN.php
@@ -7,6 +7,7 @@ error_reporting(E_ALL); | @@ -7,6 +7,7 @@ error_reporting(E_ALL); | ||
7 | class PendenciasTramiteRN extends InfraRN { | 7 | class PendenciasTramiteRN extends InfraRN { |
8 | 8 | ||
9 | const TIMEOUT_SERVICO_PENDENCIAS = 300; | 9 | const TIMEOUT_SERVICO_PENDENCIAS = 300; |
10 | + const RECUPERAR_TODAS_PENDENCIAS = true; | ||
10 | 11 | ||
11 | private static $instance = null; | 12 | private static $instance = null; |
12 | private $strEnderecoServicoPendencias = null; | 13 | private $strEnderecoServicoPendencias = null; |
@@ -121,7 +122,7 @@ class PendenciasTramiteRN extends InfraRN { | @@ -121,7 +122,7 @@ class PendenciasTramiteRN extends InfraRN { | ||
121 | //Obter todos os trâmites pendentes antes de iniciar o monitoramento | 122 | //Obter todos os trâmites pendentes antes de iniciar o monitoramento |
122 | $arrPendenciasRetornadas = array(); | 123 | $arrPendenciasRetornadas = array(); |
123 | $objProcessoEletronicoRN = new ProcessoEletronicoRN(); | 124 | $objProcessoEletronicoRN = new ProcessoEletronicoRN(); |
124 | - $arrObjPendenciasDTO = $objProcessoEletronicoRN->listarPendencias(false) or array(); | 125 | + $arrObjPendenciasDTO = $objProcessoEletronicoRN->listarPendencias(self::RECUPERAR_TODAS_PENDENCIAS) or array(); |
125 | 126 | ||
126 | $this->gravarLogDebug("Recuperado todas pendências de trâmite do PEN: " . count($arrObjPendenciasDTO), 2); | 127 | $this->gravarLogDebug("Recuperado todas pendências de trâmite do PEN: " . count($arrObjPendenciasDTO), 2); |
127 | 128 | ||
@@ -235,7 +236,8 @@ class PendenciasTramiteRN extends InfraRN { | @@ -235,7 +236,8 @@ class PendenciasTramiteRN extends InfraRN { | ||
235 | break; | 236 | break; |
236 | 237 | ||
237 | default: | 238 | default: |
238 | - throw new Exception('Situação do trâmite não pode ser identificada.'); | 239 | + $strStatus = $objPendencia->getStrStatus(); |
240 | + InfraDebug::getInstance()->gravar("Situação do trâmite ($strStatus) não pode ser tratada."); | ||
239 | break; | 241 | break; |
240 | } | 242 | } |
241 | 243 |
rn/ProcessoEletronicoRN.php
@@ -652,8 +652,8 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -652,8 +652,8 @@ class ProcessoEletronicoRN extends InfraRN { | ||
652 | 652 | ||
653 | 653 | ||
654 | //TODO: Tratar a exceção de recebimento de um trâmite que já havia sido tratado no sistema | 654 | //TODO: Tratar a exceção de recebimento de um trâmite que já havia sido tratado no sistema |
655 | - protected function cadastrarTramiteDeProcessoInternoControlado(ProcessoEletronicoDTO $parObjProcessoEletronicoDTO) { | ||
656 | - | 655 | + protected function cadastrarTramiteDeProcessoInternoControlado(ProcessoEletronicoDTO $parObjProcessoEletronicoDTO) |
656 | + { | ||
657 | if(!isset($parObjProcessoEletronicoDTO)) { | 657 | if(!isset($parObjProcessoEletronicoDTO)) { |
658 | throw new InfraException('Parâmetro $parObjProcessoEletronicoDTO não informado.'); | 658 | throw new InfraException('Parâmetro $parObjProcessoEletronicoDTO não informado.'); |
659 | } | 659 | } |
rn/ReceberProcedimentoRN.php
@@ -1636,7 +1636,7 @@ static function comparacaoOrdemDocumentos($parDocumento1, $parDocumento2) | @@ -1636,7 +1636,7 @@ static function comparacaoOrdemDocumentos($parDocumento1, $parDocumento2) | ||
1636 | } | 1636 | } |
1637 | 1637 | ||
1638 | 1638 | ||
1639 | -public function receberTramitesRecusados($parNumIdentificacaoTramite) | 1639 | +protected function receberTramitesRecusadosControlado($parNumIdentificacaoTramite) |
1640 | { | 1640 | { |
1641 | try { | 1641 | try { |
1642 | if (empty($parNumIdentificacaoTramite)) { | 1642 | if (empty($parNumIdentificacaoTramite)) { |
@@ -1659,53 +1659,55 @@ public function receberTramitesRecusados($parNumIdentificacaoTramite) | @@ -1659,53 +1659,55 @@ public function receberTramitesRecusados($parNumIdentificacaoTramite) | ||
1659 | $objTramiteBD = new TramiteBD(BancoSEI::getInstance()); | 1659 | $objTramiteBD = new TramiteBD(BancoSEI::getInstance()); |
1660 | $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO); | 1660 | $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO); |
1661 | 1661 | ||
1662 | - if(!isset($objTramiteDTO)){ | ||
1663 | - throw new InfraException("Não foi encontrado no sistema o trâmite de número {$parNumIdentificacaoTramite} para realizar a ciência da recusa"); | ||
1664 | - } | ||
1665 | - | ||
1666 | - SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objTramiteDTO->getNumIdUnidade()); | 1662 | + if(isset($objTramiteDTO)){ |
1663 | + //throw new InfraException("Não foi encontrado no sistema o trâmite de número {$parNumIdentificacaoTramite} para realizar a ciência da recusa"); | ||
1664 | + SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objTramiteDTO->getNumIdUnidade()); | ||
1667 | 1665 | ||
1668 | //Busca os dados do procedimento | 1666 | //Busca os dados do procedimento |
1669 | - $this->gravarLogDebug("Buscando os dados de procedimento com NRE " . $tramite->NRE, 2); | ||
1670 | - $objProcessoEletronicoDTO = new ProcessoEletronicoDTO(); | ||
1671 | - $objProcessoEletronicoDTO->setStrNumeroRegistro($tramite->NRE); | ||
1672 | - $objProcessoEletronicoDTO->retDblIdProcedimento(); | ||
1673 | - $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco()); | ||
1674 | - $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO); | 1667 | + $this->gravarLogDebug("Buscando os dados de procedimento com NRE " . $tramite->NRE, 2); |
1668 | + $objProcessoEletronicoDTO = new ProcessoEletronicoDTO(); | ||
1669 | + $objProcessoEletronicoDTO->setStrNumeroRegistro($tramite->NRE); | ||
1670 | + $objProcessoEletronicoDTO->retDblIdProcedimento(); | ||
1671 | + $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco()); | ||
1672 | + $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO); | ||
1675 | 1673 | ||
1676 | //Busca a última atividade de trâmite externo | 1674 | //Busca a última atividade de trâmite externo |
1677 | - $this->gravarLogDebug("Buscando última atividade de trâmite externo do processo " . $objProcessoEletronicoDTO->getDblIdProcedimento(), 2); | ||
1678 | - $objAtividadeDTO = new AtividadeDTO(); | ||
1679 | - $objAtividadeDTO->setDblIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento()); | ||
1680 | - $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)); | ||
1681 | - $objAtividadeDTO->setNumMaxRegistrosRetorno(1); | ||
1682 | - $objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC); | ||
1683 | - $objAtividadeDTO->retNumIdAtividade(); | ||
1684 | - $objAtividadeBD = new AtividadeBD($this->getObjInfraIBanco()); | ||
1685 | - $objAtividadeDTO = $objAtividadeBD->consultar($objAtividadeDTO); | 1675 | + $this->gravarLogDebug("Buscando última atividade de trâmite externo do processo " . $objProcessoEletronicoDTO->getDblIdProcedimento(), 2); |
1676 | + $objAtividadeDTO = new AtividadeDTO(); | ||
1677 | + $objAtividadeDTO->setDblIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento()); | ||
1678 | + $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)); | ||
1679 | + $objAtividadeDTO->setNumMaxRegistrosRetorno(1); | ||
1680 | + $objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC); | ||
1681 | + $objAtividadeDTO->retNumIdAtividade(); | ||
1682 | + $objAtividadeBD = new AtividadeBD($this->getObjInfraIBanco()); | ||
1683 | + $objAtividadeDTO = $objAtividadeBD->consultar($objAtividadeDTO); | ||
1686 | 1684 | ||
1687 | //Busca a unidade de destino | 1685 | //Busca a unidade de destino |
1688 | - $this->gravarLogDebug("Buscando informações sobre a unidade de destino", 2); | ||
1689 | - $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); | ||
1690 | - $objAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade()); | ||
1691 | - $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO'); | ||
1692 | - $objAtributoAndamentoDTO->retStrValor(); | ||
1693 | - $objAtributoAndamentoBD = new AtributoAndamentoBD($this->getObjInfraIBanco()); | ||
1694 | - $objAtributoAndamentoDTO = $objAtributoAndamentoBD->consultar($objAtributoAndamentoDTO); | 1686 | + $this->gravarLogDebug("Buscando informações sobre a unidade de destino", 2); |
1687 | + $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); | ||
1688 | + $objAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade()); | ||
1689 | + $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO'); | ||
1690 | + $objAtributoAndamentoDTO->retStrValor(); | ||
1691 | + $objAtributoAndamentoBD = new AtributoAndamentoBD($this->getObjInfraIBanco()); | ||
1692 | + $objAtributoAndamentoDTO = $objAtributoAndamentoBD->consultar($objAtributoAndamentoDTO); | ||
1695 | 1693 | ||
1696 | //Monta o DTO de receber tramite recusado | 1694 | //Monta o DTO de receber tramite recusado |
1697 | - $this->gravarLogDebug("Preparando recebimento de trâmite " . $parNumIdentificacaoTramite . " recusado", 2); | ||
1698 | - $objReceberTramiteRecusadoDTO = new ReceberTramiteRecusadoDTO(); | ||
1699 | - $objReceberTramiteRecusadoDTO->setNumIdTramite($parNumIdentificacaoTramite); | ||
1700 | - $objReceberTramiteRecusadoDTO->setNumIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento()); | ||
1701 | - $objReceberTramiteRecusadoDTO->setNumIdUnidadeOrigem(null); | ||
1702 | - $objReceberTramiteRecusadoDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_RECUSADO)); | ||
1703 | - $objReceberTramiteRecusadoDTO->setStrMotivoRecusa(utf8_decode($tramite->justificativaDaRecusa)); | ||
1704 | - $objReceberTramiteRecusadoDTO->setStrNomeUnidadeDestino($objAtributoAndamentoDTO->getStrValor()); | 1695 | + $this->gravarLogDebug("Preparando recebimento de trâmite " . $parNumIdentificacaoTramite . " recusado", 2); |
1696 | + $objReceberTramiteRecusadoDTO = new ReceberTramiteRecusadoDTO(); | ||
1697 | + $objReceberTramiteRecusadoDTO->setNumIdTramite($parNumIdentificacaoTramite); | ||
1698 | + $objReceberTramiteRecusadoDTO->setNumIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento()); | ||
1699 | + $objReceberTramiteRecusadoDTO->setNumIdUnidadeOrigem(null); | ||
1700 | + $objReceberTramiteRecusadoDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_RECUSADO)); | ||
1701 | + $objReceberTramiteRecusadoDTO->setStrMotivoRecusa(utf8_decode($tramite->justificativaDaRecusa)); | ||
1702 | + $objReceberTramiteRecusadoDTO->setStrNomeUnidadeDestino($objAtributoAndamentoDTO->getStrValor()); | ||
1705 | 1703 | ||
1706 | //Faz o tratamento do processo e do trâmite recusado | 1704 | //Faz o tratamento do processo e do trâmite recusado |
1707 | - $this->gravarLogDebug("Atualizando dados do processo " . $objProcessoEletronicoDTO->getDblIdProcedimento() ." e do trâmite recusado " . $parNumIdentificacaoTramite, 2); | ||
1708 | - $this->receberTramiteRecusadoInterno($objReceberTramiteRecusadoDTO); | 1705 | + $this->gravarLogDebug("Atualizando dados do processo " . $objProcessoEletronicoDTO->getDblIdProcedimento() ." e do trâmite recusado " . $parNumIdentificacaoTramite, 2); |
1706 | + $this->receberTramiteRecusadoInterno($objReceberTramiteRecusadoDTO); | ||
1707 | + } | ||
1708 | + | ||
1709 | + $this->gravarLogDebug("Notificando serviços do PEN sobre ciência da recusa do trâmite " . $parNumIdentificacaoTramite, 4); | ||
1710 | + $this->objProcessoEletronicoRN->cienciaRecusa($parNumIdentificacaoTramite); | ||
1709 | 1711 | ||
1710 | } catch (Exception $e) { | 1712 | } catch (Exception $e) { |
1711 | $mensagemErro = InfraException::inspecionar($e); | 1713 | $mensagemErro = InfraException::inspecionar($e); |
@@ -1763,9 +1765,6 @@ protected function receberTramiteRecusadoInternoControlado(ReceberTramiteRecusad | @@ -1763,9 +1765,6 @@ protected function receberTramiteRecusadoInternoControlado(ReceberTramiteRecusad | ||
1763 | $objProtocolo->setStrSinObteveRecusa('S'); | 1765 | $objProtocolo->setStrSinObteveRecusa('S'); |
1764 | $objProtocoloBD = new ProtocoloBD($this->getObjInfraIBanco()); | 1766 | $objProtocoloBD = new ProtocoloBD($this->getObjInfraIBanco()); |
1765 | $objProtocoloBD->alterar($objProtocolo); | 1767 | $objProtocoloBD->alterar($objProtocolo); |
1766 | - | ||
1767 | - $this->gravarLogDebug("Notificando serviços do PEN sobre ciência da recusa do trâmite " . $objReceberTramiteRecusadoDTO->getNumIdTramite(), 4); | ||
1768 | - $this->objProcessoEletronicoRN->cienciaRecusa($objReceberTramiteRecusadoDTO->getNumIdTramite()); | ||
1769 | } | 1768 | } |
1770 | 1769 | ||
1771 | 1770 |