From 8b03f07130ae1fe13005945623324cc2779e4dd9 Mon Sep 17 00:00:00 2001 From: eduardo.praxedes Date: Wed, 22 Mar 2017 05:06:10 -0300 Subject: [PATCH] Ajuste na exibição do botão de cancelar trâmite externo, labels do botões e bug na expedição de um processo com dois documentos iguais porém um cancelado --- PENIntegracao.php | 78 ++++++++++++++++++++++-------------------------------------------------------- dto/ComponenteDigitalDTO.php | 1 + rn/ExpedirProcedimentoRN.php | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------- rn/PenAtualizarSeiRN.php | 7 +++---- rn/ProcessoEletronicoRN.php | 6 +++--- rn/ReceberProcedimentoRN.php | 17 ++++++++++------- sip_atualizar_versao_modulo_pen.php | 4 ++-- 7 files changed, 146 insertions(+), 128 deletions(-) diff --git a/PENIntegracao.php b/PENIntegracao.php index c13fa85..33c970d 100644 --- a/PENIntegracao.php +++ b/PENIntegracao.php @@ -32,14 +32,7 @@ class PENIntegracao extends SeiIntegracao { $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); $numIdUsuario = SessaoSEI::getInstance()->getNumIdUsuario(); $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); - $objInfraParametro = new InfraParametro(BancoSEI::getInstance()); - - if(!file_exists($objInfraParametro->getValor('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL'))){ - return array(); - } - - /* $objProcessoEletronicoRN = new ProcessoEletronicoRN();*/ - + $objInfraParametro = new InfraParametro(BancoSEI::getInstance()); //Verifica se o processo encontra-se aberto na unidade atual $objAtividadeRN = new AtividadeRN(); @@ -65,7 +58,7 @@ class PENIntegracao extends SeiIntegracao { //Apresenta o botão de expedir processo if ($bolFlagAberto && $bolAcaoExpedirProcesso && $bolProcessoEstadoNormal && $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() != ProtocoloRN::$NA_SIGILOSO) { $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior(); - $strAcoesProcedimento .= 'Expedir Processo'; + $strAcoesProcedimento .= 'Tramitar Externamente'; } //Apresenta o botão da página de recibos @@ -74,11 +67,14 @@ class PENIntegracao extends SeiIntegracao { $strAcoesProcedimento .= ''; //Apresenta o botão de cancelar trâmite - // if ($objProcessoEletronicoRN->isDisponivelCancelarTramite($objProcedimentoDTO->getStrProtocoloProcedimentoFormatado())) { + $objAtividadeDTO = $objExpedirProcedimentoRN->verificarProcessoEmExpedicao($objSeiIntegracaoDTO->getIdProcedimento()); + + if ($objAtividadeDTO && $objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)) { + $strAcoesProcedimento .= ''; - $strAcoesProcedimento .= 'Cancelar Expedição'; + $strAcoesProcedimento .= 'Cancelar Tramitação Externa'; $strAcoesProcedimento .= ''; - // } + } return array($strAcoesProcedimento); } @@ -132,51 +128,21 @@ class PENIntegracao extends SeiIntegracao { } public function montarMensagemProcesso(ProcedimentoAPI $objProcedimentoAPI) { - - $objProcedimentoDTO = new ProcedimentoDTO(); - $objProcedimentoDTO->setDblIdProcedimento($objProcedimentoAPI->getIdProcedimento()); - $objProcedimentoDTO->retStrStaEstadoProtocolo(); - $objProcedimentoDTO->retDblIdProcedimento(); - - $objProcedimentoRN = new ProcedimentoRN(); - $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); - - if ($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO) { - - $objAtividadeDTO = new AtividadeDTO(); - $objAtividadeDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento()); - $objAtividadeDTO->setNumIdTarefa( - array(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO), - ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO)), - InfraDTO::$OPER_IN); - $objAtividadeDTO->setNumMaxRegistrosRetorno(1); - $objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC); - $objAtividadeDTO->retNumIdAtividade(); - $objAtividadeDTO->retNumIdTarefa(); - - $objAtividadeRN = new AtividadeRN(); - $arrAtividadeDTO = (array) $objAtividadeRN->listarRN0036($objAtividadeDTO); - - if (isset($arrAtividadeDTO[0])) { - $objAtividadeDTO = $arrAtividadeDTO[0]; - - if($objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)){ - - $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); - $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO'); - $objAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade()); - $objAtributoAndamentoDTO->retStrValor(); - - $objAtributoAndamentoRN = new AtributoAndamentoRN(); - $objAtributoAndamentoDTO = $objAtributoAndamentoRN->consultarRN1366($objAtributoAndamentoDTO); - - return sprintf('Processo em trâmite externo para "%s".', $objAtributoAndamentoDTO->getStrValor()); - - - } - - } + $objExpedirProcedimentoRN = new ExpedirProcedimentoRN(); + $objAtividadeDTO = $objExpedirProcedimentoRN->verificarProcessoEmExpedicao($objProcedimentoAPI->getIdProcedimento()); + + if ($objAtividadeDTO && $objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)) { + + $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); + $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO'); + $objAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade()); + $objAtributoAndamentoDTO->retStrValor(); + + $objAtributoAndamentoRN = new AtributoAndamentoRN(); + $objAtributoAndamentoDTO = $objAtributoAndamentoRN->consultarRN1366($objAtributoAndamentoDTO); + + return sprintf('Processo em trâmite externo para "%s".', $objAtributoAndamentoDTO->getStrValor()); } } diff --git a/dto/ComponenteDigitalDTO.php b/dto/ComponenteDigitalDTO.php index b54533f..e7cb134 100644 --- a/dto/ComponenteDigitalDTO.php +++ b/dto/ComponenteDigitalDTO.php @@ -29,6 +29,7 @@ class ComponenteDigitalDTO extends InfraDTO { $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, 'TicketEnvioComponentes', 'ticket_envio_componentes', 'md_pen_tramite'); $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'ConteudoAssinaturaDocumento', 'conteudo_assinatura', 'documento_conteudo'); $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'ProtocoloDocumentoFormatado', 'protocolo_formatado', 'protocolo'); + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'StaEstadoProtocolo', 'sta_estado', 'protocolo'); $this->configurarPK('NumeroRegistro', InfraDTO::$TIPO_PK_INFORMADO); $this->configurarPK('IdDocumento', InfraDTO::$TIPO_PK_INFORMADO); diff --git a/rn/ExpedirProcedimentoRN.php b/rn/ExpedirProcedimentoRN.php index e252858..7dff54f 100644 --- a/rn/ExpedirProcedimentoRN.php +++ b/rn/ExpedirProcedimentoRN.php @@ -195,7 +195,6 @@ class ExpedirProcedimentoRN extends InfraRN { $this->objProcessoEletronicoRN->cadastrarTramitePendente($objTramite->IDT, $idAtividadeExpedicao); - //error_log('TRAMITE: ' . print_r($objTramite, true)); //error_log('before enviarComponentesDigitais'); @@ -881,7 +880,7 @@ class ExpedirProcedimentoRN extends InfraRN { $penComponenteDigitalDTO->setDblIdDocumento($documentoDTO->getDblIdDocumento()); $penComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco()); - + if($penComponenteDigitalBD->contar($penComponenteDigitalDTO) > 0){ $arrPenComponenteDigitalDTO = $penComponenteDigitalBD->listar($penComponenteDigitalDTO); @@ -1394,20 +1393,19 @@ class ExpedirProcedimentoRN extends InfraRN { return $this->objDocumentoRN->consultarRN0005($documentoDTO); } - private function enviarComponentesDigitais($strNumeroRegistro, $numIdTramite, $strProtocolo) - { - if(!isset($strNumeroRegistro)){ - throw new InfraException('Parâmetro $strNumeroRegistro não informado.'); + private function enviarComponentesDigitais($strNumeroRegistro, $numIdTramite, $strProtocolo) { + if (!isset($strNumeroRegistro)) { + throw new InfraException('Parâmetro $strNumeroRegistro não informado.'); } - if(!isset($numIdTramite)){ - throw new InfraException('Parâmetro $numIdTramite não informado.'); + if (!isset($numIdTramite)) { + throw new InfraException('Parâmetro $numIdTramite não informado.'); } - if(!isset($strProtocolo)){ - throw new InfraException('Parâmetro $strProtocolo não informado.'); + if (!isset($strProtocolo)) { + throw new InfraException('Parâmetro $strProtocolo não informado.'); } - + //Obter dados dos componetes digitais $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco()); $objComponenteDigitalDTO = new ComponenteDigitalDTO(); @@ -1417,67 +1415,66 @@ class ExpedirProcedimentoRN extends InfraRN { $objComponenteDigitalDTO->setOrdNumOrdem(InfraDTO::$TIPO_ORDENACAO_ASC); $objComponenteDigitalDTO->retDblIdDocumento(); $objComponenteDigitalDTO->retNumTicketEnvioComponentes(); - // $objComponenteDigitalDTO->retStrConteudoAssinaturaDocumento(); + // $objComponenteDigitalDTO->retStrConteudoAssinaturaDocumento(); $objComponenteDigitalDTO->retStrProtocoloDocumentoFormatado(); $objComponenteDigitalDTO->retStrHashConteudo(); $objComponenteDigitalDTO->retStrProtocolo(); $objComponenteDigitalDTO->retStrNome(); $objComponenteDigitalDTO->retDblIdProcedimento(); - + $arrComponentesDigitaisDTO = $objComponenteDigitalBD->listar($objComponenteDigitalDTO); if (isset($arrComponentesDigitaisDTO) && count($arrComponentesDigitaisDTO) > 0) { - + //TODO: Valida inconsistência da quantidade de documentos solicitados e aqueles cadastrados no SEI //Construir objeto Componentes digitais - foreach ($arrComponentesDigitaisDTO as $objComponenteDigitalDTO) { - - $this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_DOCUMENTO); - $this->barraProgresso->setStrRotulo(sprintf(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_DOCUMENTO, $objComponenteDigitalDTO->getStrProtocoloDocumentoFormatado())); - - $dadosDoComponenteDigital = new stdClass(); - $dadosDoComponenteDigital->ticketParaEnvioDeComponentesDigitais = $objComponenteDigitalDTO->getNumTicketEnvioComponentes(); - - //TODO: Problema no barramento de serviços quando um mesmo arquivo está contido em dois diferentes - //processos apensados. Mesmo erro relatado com dois arquivos iguais em docs diferentes no mesmo processo - $dadosDoComponenteDigital->protocolo = $objComponenteDigitalDTO->getStrProtocolo(); - $dadosDoComponenteDigital->hashDoComponenteDigital = $objComponenteDigitalDTO->getStrHashConteudo(); - - //TODO: Particionar o arquivo em várias partes caso for muito grande seu tamanho - //TODO: Obter dados do conteudo do documento, sendo Interno ou Externo - //$strConteudoDocumento = $this->consultarConteudoDocumento($objComponenteDigitalDTO->getDblIdDocumento()); - //$strConteudoAssinatura = $objComponenteDigitalDTO->getStrConteudoAssinaturaDocumento(); - $objDocumentoDTO = $this->consultarDocumento($objComponenteDigitalDTO->getDblIdDocumento()); - $strNomeDocumento = $this->consultarNomeDocumentoPEN($objDocumentoDTO); - $arrInformacaoArquivo = $this->obterDadosArquivo($objDocumentoDTO); - $dadosDoComponenteDigital->conteudoDoComponenteDigital = new SoapVar($arrInformacaoArquivo['CONTEUDO'], XSD_BASE64BINARY); - - + foreach ($arrComponentesDigitaisDTO as $objComponenteDigitalDTO) { + + $this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_DOCUMENTO); + $this->barraProgresso->setStrRotulo(sprintf(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_DOCUMENTO, $objComponenteDigitalDTO->getStrProtocoloDocumentoFormatado())); + + $dadosDoComponenteDigital = new stdClass(); + $dadosDoComponenteDigital->ticketParaEnvioDeComponentesDigitais = $objComponenteDigitalDTO->getNumTicketEnvioComponentes(); + + //TODO: Problema no barramento de serviços quando um mesmo arquivo está contido em dois diferentes + //processos apensados. Mesmo erro relatado com dois arquivos iguais em docs diferentes no mesmo processo + $dadosDoComponenteDigital->protocolo = $objComponenteDigitalDTO->getStrProtocolo(); + $dadosDoComponenteDigital->hashDoComponenteDigital = $objComponenteDigitalDTO->getStrHashConteudo(); + + //TODO: Particionar o arquivo em várias partes caso for muito grande seu tamanho + //TODO: Obter dados do conteudo do documento, sendo Interno ou Externo + //$strConteudoDocumento = $this->consultarConteudoDocumento($objComponenteDigitalDTO->getDblIdDocumento()); + //$strConteudoAssinatura = $objComponenteDigitalDTO->getStrConteudoAssinaturaDocumento(); + $objDocumentoDTO = $this->consultarDocumento($objComponenteDigitalDTO->getDblIdDocumento()); + $strNomeDocumento = $this->consultarNomeDocumentoPEN($objDocumentoDTO); + $arrInformacaoArquivo = $this->obterDadosArquivo($objDocumentoDTO); + $dadosDoComponenteDigital->conteudoDoComponenteDigital = new SoapVar($arrInformacaoArquivo['CONTEUDO'], XSD_BASE64BINARY); + + - try { - //Enviar componentes digitais - $parametros = new stdClass(); - $parametros->dadosDoComponenteDigital = $dadosDoComponenteDigital; - $result = $this->objProcessoEletronicoRN->enviarComponenteDigital($parametros); - - //Bloquea documento para atualização, já que ele foi visualizado - $this->objDocumentoRN->bloquearConteudo($objDocumentoDTO); - // @join_tec US008.05 (#23092) - $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Enviando %s %s', $strNomeDocumento, $objComponenteDigitalDTO->getStrProtocoloDocumentoFormatado()), 'S'); + try { + //Enviar componentes digitais + $parametros = new stdClass(); + $parametros->dadosDoComponenteDigital = $dadosDoComponenteDigital; + $result = $this->objProcessoEletronicoRN->enviarComponenteDigital($parametros); + + //Bloquea documento para atualização, já que ele foi visualizado + $this->objDocumentoRN->bloquearConteudo($objDocumentoDTO); + // @join_tec US008.05 (#23092) + $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Enviando %s %s', $strNomeDocumento, $objComponenteDigitalDTO->getStrProtocoloDocumentoFormatado()), 'S'); + } catch (Exception $e) { + // @join_tec US008.05 (#23092) + $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Enviando %s %s', $strNomeDocumento, $objComponenteDigitalDTO->getStrProtocoloDocumentoFormatado()), 'N'); + throw new InfraException("Error Processing Request", $e); + } } - catch (Exception $e) { - // @join_tec US008.05 (#23092) - $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Enviando %s %s', $strNomeDocumento, $objComponenteDigitalDTO->getStrProtocoloDocumentoFormatado()), 'N'); - throw new InfraException("Error Processing Request", $e); - } - } - } - } + } + } - private function validarParametrosExpedicao(InfraException $objInfraException, ExpedirProcedimentoDTO $objExpedirProcedimentoDTO) + private function validarParametrosExpedicao(InfraException $objInfraException, ExpedirProcedimentoDTO $objExpedirProcedimentoDTO) { if(!isset($objExpedirProcedimentoDTO)){ $objInfraException->adicionarValidacao('Parâmetro $objExpedirProcedimentoDTO não informado.'); @@ -2216,6 +2213,58 @@ class ExpedirProcedimentoRN extends InfraRN { $objAtividadeRN = new AtividadeRN(); $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); } + + /** + * Verifica se o processo se encontra em expedição + * + * @param integer $parNumIdProcedimento + * @return boolean|object + */ + public function verificarProcessoEmExpedicao($parNumIdProcedimento){ + + $objProcedimentoDTO = new ProcedimentoDTO(); + $objProcedimentoDTO->setDblIdProcedimento($parNumIdProcedimento); + $objProcedimentoDTO->retStrStaEstadoProtocolo(); + $objProcedimentoDTO->retDblIdProcedimento(); + + $objProcedimentoRN = new ProcedimentoRN(); + $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); + + + if($objProcedimentoDTO && $objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO){ + + $objAtividadeDTO = new AtividadeDTO(); + $objAtividadeDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento()); + $objAtividadeDTO->setNumIdTarefa( + array(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO), + ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO), + ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_CANCELADO), + ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_RECUSADO), + ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO), + ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_ABORTADO), + ), + InfraDTO::$OPER_IN); + $objAtividadeDTO->setNumMaxRegistrosRetorno(1); + $objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC); + $objAtividadeDTO->retNumIdAtividade(); + $objAtividadeDTO->retNumIdTarefa(); + + $objAtividadeRN = new AtividadeRN(); + $arrAtividadeDTO = (array) $objAtividadeRN->listarRN0036($objAtividadeDTO); + + if($arrAtividadeDTO){ + return $arrAtividadeDTO[0]; + }else{ + return false; + } + + + }else{ + return false; + } + + } + // // private function validarStrSinGerarPendenciaRN0901(ProcedimentoDTO $objProcedimentoDTO, InfraException $objInfraException){ // // if (InfraString::isBolVazia($objProcedimentoDTO->getStrSinGerarPendencia())){ diff --git a/rn/PenAtualizarSeiRN.php b/rn/PenAtualizarSeiRN.php index 84341e4..f7e7127 100644 --- a/rn/PenAtualizarSeiRN.php +++ b/rn/PenAtualizarSeiRN.php @@ -518,10 +518,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { }; - $fnCadastrar('Processo expedido para a entidade @UNIDADE_DESTINO@ - @REPOSITORIO_DESTINO@ (@PROCESSO@, @UNIDADE@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N', 'PEN_PROCESSO_EXPEDIDO'); + $fnCadastrar('Processo trâmitado externamente para a entidade @UNIDADE_DESTINO@ - @REPOSITORIO_DESTINO@ (@PROCESSO@, @UNIDADE@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N', 'PEN_PROCESSO_EXPEDIDO'); $fnCadastrar('Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@ (@PROCESSO@, @ENTIDADE_ORIGEM@, @UNIDADE_DESTINO@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N', 'PEN_PROCESSO_RECEBIDO'); $fnCadastrar('O processo foi recusado pelo orgão @UNIDADE_DESTINO@ pelo seguinte motivo: @MOTIVO@', 'S', 'S', 'N', 'N', 'S', 'PEN_PROCESSO_RECUSADO'); - $fnCadastrar('Expedição do Processo Cancelada em @DATA_HORA@ pelo Usuário @USUARIO@', 'S', 'S', 'N', 'S', 'N', 'PEN_PROCESSO_CANCELADO'); + $fnCadastrar('Trâmite externo do processo cancelado em @DATA_HORA@ pelo Usuário @USUARIO@', 'S', 'S', 'N', 'S', 'N', 'PEN_PROCESSO_CANCELADO'); $fnCadastrar('Operacao externa de @OPERACAO@ registrada em @DATA_HORA@ (@PESSOA_IDENTIFICACAO@ - @PESSOA_NOME@)\n @COMPLEMENTO@', 'S', 'S', 'S', 'S', 'N', 'PEN_OPERACAO_EXTERNA'); //---------------------------------------------------------------------- @@ -578,7 +578,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { } }; - $fnCadastrar('PENAgendamentoRN::verificarTramitesRecusados', 'Verificação de processos recusados'); $fnCadastrar('PENAgendamentoRN::seiVerificarServicosBarramento', 'Verificação dos serviços de fila de processamento estão em execução'); //---------------------------------------------------------------------- @@ -854,7 +853,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { } }; - $fnCadastrar('Expedição do processo foi abortada manualmente devido a falha no trâmite', 'S', 'S', 'N', 'N', 'S', 'PEN_EXPEDICAO_PROCESSO_ABORTADA'); + $fnCadastrar('O trâmite externo do processo foi abortado manualmente devido a falha no trâmite', 'S', 'S', 'N', 'N', 'S', 'PEN_EXPEDICAO_PROCESSO_ABORTADA'); } /** diff --git a/rn/ProcessoEletronicoRN.php b/rn/ProcessoEletronicoRN.php index 8f57f06..68c083a 100644 --- a/rn/ProcessoEletronicoRN.php +++ b/rn/ProcessoEletronicoRN.php @@ -89,9 +89,9 @@ class ProcessoEletronicoRN extends InfraRN { throw new InfraException('Endereço do serviço de integração do Processo Eletrônico Nacional (PEN) não informado.'); } - if (!@file_get_contents($strLocalizacaoCertificadoDigital)) { + /* if (!@file_get_contents($strLocalizacaoCertificadoDigital)) { throw new InfraException("Certificado digital de autenticação do serviço de integração do Processo Eletrônico Nacional(PEN) não encontrado."); - } + }*/ //TODO: Urgente - Remover senha do certificado de autenticação dos serviços do PEN da tabela de parâmetros if (InfraString::isBolVazia($strSenhaCertificadoDigital)) { @@ -822,7 +822,7 @@ class ProcessoEletronicoRN extends InfraRN { if(!is_null($objItemSolicitado)){ $objItemSolicitado->hash = is_array($objItemSolicitado->hash) ? $objItemSolicitado->hash : array($objItemSolicitado->hash); - if($objItemSolicitado->protocolo == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado->hash)) { + if($objItemSolicitado->protocolo == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado->hash) && !$objDocumento->retirado) { $objComponenteDigitalDTO->setStrSinEnviar("S"); } } diff --git a/rn/ReceberProcedimentoRN.php b/rn/ReceberProcedimentoRN.php index 1417753..35edd0a 100644 --- a/rn/ReceberProcedimentoRN.php +++ b/rn/ReceberProcedimentoRN.php @@ -237,7 +237,8 @@ class ReceberProcedimentoRN extends InfraRN $objComponenteDigitalDTO->retStrNumeroRegistro(); $objComponenteDigitalDTO->retNumIdTramite(); $objComponenteDigitalDTO->retStrNome(); - + $objComponenteDigitalDTO->retStrStaEstadoProtocolo(); + $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco()); $arrObjComponentesDigitaisDTO = $objComponenteDigitalBD->listar($objComponenteDigitalDTO); @@ -248,14 +249,16 @@ class ReceberProcedimentoRN extends InfraRN $objReceberComponenteDigitalRN = $receberComponenteDigitalRN; foreach($arrObjComponentesDigitaisDTO as $objComponenteDigitalDTOEnviado) { + if($objComponenteDigitalDTOEnviado->getStrStaEstadoProtocolo() != ProtocoloRN::$TE_DOCUMENTO_CANCELADO){ + $strHash = $objComponenteDigitalDTOEnviado->getStrHashConteudo(); + $strNomeDocumento = (array_key_exists($strHash, $arrStrNomeDocumento)) ? $arrStrNomeDocumento[$strHash]['especieNome'] : '[Desconhecido]'; - $strHash = $objComponenteDigitalDTOEnviado->getStrHashConteudo(); - $strNomeDocumento = (array_key_exists($strHash, $arrStrNomeDocumento)) ? $arrStrNomeDocumento[$strHash]['especieNome'] : '[Desconhecido]'; - - $objReceberComponenteDigitalRN->receberComponenteDigital($objComponenteDigitalDTOEnviado); + $objReceberComponenteDigitalRN->receberComponenteDigital($objComponenteDigitalDTOEnviado); - // @join_tec US008.09 (#23092) - $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Recebendo %s %s', $strNomeDocumento, $objComponenteDigitalDTOEnviado->getStrProtocoloDocumentoFormatado()), 'S'); + // @join_tec US008.09 (#23092) + $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Recebendo %s %s', $strNomeDocumento, $objComponenteDigitalDTOEnviado->getStrProtocoloDocumentoFormatado()), 'S'); + } + } // @join_tec US008.10 (#23092) $this->objProcedimentoAndamentoRN->cadastrar('Todos os componentes digitais foram recebidos', 'S'); diff --git a/sip_atualizar_versao_modulo_pen.php b/sip_atualizar_versao_modulo_pen.php index c26bdc5..b8d0285 100644 --- a/sip_atualizar_versao_modulo_pen.php +++ b/sip_atualizar_versao_modulo_pen.php @@ -967,8 +967,8 @@ class PenAtualizarSipRN extends PenAtualizadorRN { //---------------------------------------------------------------------- $this->criarRecurso('pen_procedimento_expedir', 'Expedir Procedimento', $numIdSistema); $this->criarRecurso('apensados_selecionar_expedir_procedimento', 'Processos Apensados', $numIdSistema); - $numIdRecurso = $this->criarRecurso('pen_procedimento_expedido_listar', 'Processos Expedidos', $numIdSistema); - $this->criarMenu('Processos Expedidos', 55, null, $numIdMenu, $numIdRecurso, $numIdSistema); + $numIdRecurso = $this->criarRecurso('pen_procedimento_expedido_listar', 'Processos Trâmitados Externamente', $numIdSistema); + $this->criarMenu('Processos Trâmitados Externamente', 55, null, $numIdMenu, $numIdRecurso, $numIdSistema); //---------------------------------------------------------------------- // Mapeamento de documentos enviados //---------------------------------------------------------------------- -- libgit2 0.21.2