Commit f498eb9068570c1460761e705d077c28153d520a
1 parent
2fc5620f
Exists in
master
and in
9 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 | 7 | class PendenciasTramiteRN extends InfraRN { |
8 | 8 | |
9 | 9 | const TIMEOUT_SERVICO_PENDENCIAS = 300; |
10 | + const RECUPERAR_TODAS_PENDENCIAS = true; | |
10 | 11 | |
11 | 12 | private static $instance = null; |
12 | 13 | private $strEnderecoServicoPendencias = null; |
... | ... | @@ -121,7 +122,7 @@ class PendenciasTramiteRN extends InfraRN { |
121 | 122 | //Obter todos os trâmites pendentes antes de iniciar o monitoramento |
122 | 123 | $arrPendenciasRetornadas = array(); |
123 | 124 | $objProcessoEletronicoRN = new ProcessoEletronicoRN(); |
124 | - $arrObjPendenciasDTO = $objProcessoEletronicoRN->listarPendencias(false) or array(); | |
125 | + $arrObjPendenciasDTO = $objProcessoEletronicoRN->listarPendencias(self::RECUPERAR_TODAS_PENDENCIAS) or array(); | |
125 | 126 | |
126 | 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 | 236 | break; |
236 | 237 | |
237 | 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 | 241 | break; |
240 | 242 | } |
241 | 243 | ... | ... |
rn/ProcessoEletronicoRN.php
... | ... | @@ -652,8 +652,8 @@ class ProcessoEletronicoRN extends InfraRN { |
652 | 652 | |
653 | 653 | |
654 | 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 | 657 | if(!isset($parObjProcessoEletronicoDTO)) { |
658 | 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 | 1636 | } |
1637 | 1637 | |
1638 | 1638 | |
1639 | -public function receberTramitesRecusados($parNumIdentificacaoTramite) | |
1639 | +protected function receberTramitesRecusadosControlado($parNumIdentificacaoTramite) | |
1640 | 1640 | { |
1641 | 1641 | try { |
1642 | 1642 | if (empty($parNumIdentificacaoTramite)) { |
... | ... | @@ -1659,53 +1659,55 @@ public function receberTramitesRecusados($parNumIdentificacaoTramite) |
1659 | 1659 | $objTramiteBD = new TramiteBD(BancoSEI::getInstance()); |
1660 | 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 | 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 | 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 | 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 | 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 | 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 | 1712 | } catch (Exception $e) { |
1711 | 1713 | $mensagemErro = InfraException::inspecionar($e); |
... | ... | @@ -1763,9 +1765,6 @@ protected function receberTramiteRecusadoInternoControlado(ReceberTramiteRecusad |
1763 | 1765 | $objProtocolo->setStrSinObteveRecusa('S'); |
1764 | 1766 | $objProtocoloBD = new ProtocoloBD($this->getObjInfraIBanco()); |
1765 | 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 | ... | ... |