Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

261 melhoria da mensagem alteração na ordem de documentos do processo indicar ordem #269

Closed
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
b085220
feat: melhoria na mensagem de alteração de ordem de documentos do pro…
Mauro1706 Dec 30, 2022
571a886
Merge branch 'master' into 81-melhoria-da-mensagem-alteração-na-ordem…
Mauro1706 Feb 7, 2023
7043eb5
feat: correções para validações de tramite de ordem alterada
Mauro1706 Feb 7, 2023
b4f7e32
fix: correção de arquivo diferente
Mauro1706 Feb 7, 2023
024e065
feat: melhoria na mensagem de alteração de ordem de documentos do pro…
Mauro1706 Feb 7, 2023
46c343a
feat: melhoria de código para melhoria da mensagem para alteração na …
Mauro1706 Feb 20, 2023
1ab9aa0
feat: complementacao da mensagem de indicacao de ordem do documento
mic-oliveira Apr 23, 2023
d6ac79a
Merge branch 'master' into 261-melhoria-da-mensagem-alteração-na-orde…
mic-oliveira Apr 24, 2023
cf70752
fix: quebra de linhas na mensagem
mic-oliveira Apr 26, 2023
eebdd96
fix: quebra de linhas na mensagem
mic-oliveira Apr 27, 2023
5152d9a
mensagem atualizada
mic-oliveira May 4, 2023
4ded980
chore: correcao texto
mic-oliveira May 12, 2023
8a15df0
chore: correcao texto
mic-oliveira May 12, 2023
e55d727
Merge remote-tracking branch 'origin/master' into 261-melhoria-da-men…
michael-ferreira2022 May 15, 2023
0ca53ac
chore: correcao da mensagem de documento alterado
michael-ferreira2022 Jun 14, 2023
fa95cc5
chore: correcao da mensagem de documento alterado
michael-ferreira2022 Jun 14, 2023
9152cf3
chore: correcao da mensagem de documento alterado
michael-ferreira2022 Jun 14, 2023
0014f08
fix: correcao pr
michael-ferreira2022 Jun 22, 2023
5732ec3
fix: correcao exibicao mensagem de alteracao de ordem de documento do…
michael-ferreira2022 Jun 29, 2023
e81ff05
feat: mensagem excecao ao mudar ordem processo
michael-ferreira2022 Jul 17, 2023
5c7454c
Merge branch 'master' into 261-melhoria-da-mensagem-alteração-na-orde…
michael-ferreira2022 Aug 4, 2023
2157dd8
chore: descricao do teste
michael-ferreira2022 Aug 4, 2023
880005e
fix: test funcional
michael-ferreira2022 Sep 28, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions src/rn/ExpedirProcedimentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -212,11 +212,12 @@ protected function expedirProcedimentoControlado(ExpedirProcedimentoDTO $objExpe
$this->objProcessoEletronicoRN->cancelarTramite($objTramiteInconsistente->IDT);
}

$param = new stdClass();
$param->novoTramiteDeProcesso = new stdClass();
$param->novoTramiteDeProcesso->cabecalho = $objCabecalho;
$param->novoTramiteDeProcesso->processo = $objProcesso;
$novoTramite = $this->objProcessoEletronicoRN->enviarProcesso($param);
$param = new stdClass();
$param->novoTramiteDeProcesso = new stdClass();
$param->novoTramiteDeProcesso->cabecalho = $objCabecalho;
$param->novoTramiteDeProcesso->processo = $objProcesso;
$param->dblIdProcedimento = $dblIdProcedimento;
$novoTramite = $this->objProcessoEletronicoRN->enviarProcesso($param);

$numIdTramite = $novoTramite->dadosTramiteDeProcessoCriado->IDT;
$this->lancarEventoEnvioMetadados($numIdTramite);
Expand Down Expand Up @@ -2483,13 +2484,13 @@ private function validarHipoteseLegalEnvio(InfraException $objInfraException, Pr
$objInfraException->adicionarValidacao('N�o � poss�vel tramitar um processo de n�vel restrito sem a hip�tese legal mapeada.', $strAtributoValidacao);
}

$objHipoteseLegalDTO = new HipoteseLegalDTO();
$objHipoteseLegalDTO->setNumIdHipoteseLegal($objProcedimentoDTO->getNumIdHipoteseLegalProtocolo());
$objHipoteseLegalDTO->setBolExclusaoLogica(false);
$objHipoteseLegalDTO->retStrNome();
$objHipoteseLegalDTO->retStrSinAtivo();
$objHipoteseLegalRN = new HipoteseLegalRN();
$dados = $objHipoteseLegalRN->consultar($objHipoteseLegalDTO);
$objHipoteseLegalDTO = new HipoteseLegalDTO();
$objHipoteseLegalDTO->setNumIdHipoteseLegal($objProcedimentoDTO->getNumIdHipoteseLegalProtocolo());
$objHipoteseLegalDTO->setBolExclusaoLogica(false);
$objHipoteseLegalDTO->retStrNome();
$objHipoteseLegalDTO->retStrSinAtivo();
$objHipoteseLegalRN = new HipoteseLegalRN();
$dados = $objHipoteseLegalRN->consultar($objHipoteseLegalDTO);

$objPenRelHipoteseLegalEnvioRN = new PenRelHipoteseLegalEnvioRN();
if(!empty($dados)){
Expand Down
91 changes: 78 additions & 13 deletions src/rn/ProcessoEletronicoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -547,22 +547,87 @@ public function enviarProcesso($parametros)
return $objPenWs->enviarProcesso($parametros);
});

} catch (\SoapFault $e) {
$strMensagem = str_replace(array("\n", "\r"), ' ', InfraString::formatarJavaScript(utf8_decode($e->faultstring)));
if ($e instanceof \SoapFault && !empty($e->detail->interoperabilidadeException->codigoErro) && $e->detail->interoperabilidadeException->codigoErro == '0005') {
$$strMensagem .= 'O c�digo mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' est� incorreto.';
}
} catch (\SoapFault $e) {
$strMensagem = str_replace(array("\n", "\r"), ' ', InfraString::formatarJavaScript(utf8_decode($e->faultstring)));
if ($e instanceof \SoapFault && !empty($e->detail->interoperabilidadeException->codigoErro) && $e->detail->interoperabilidadeException->codigoErro == '0005') {
$strMensagem .= 'O c�digo mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' est� incorreto.';
}

$strDetalhes = str_replace(array("\n", "\r"), ' ', InfraString::formatarJavaScript($this->tratarFalhaWebService($e)));
throw new InfraException($strMensagem, $e, $strDetalhes);
} catch (\Exception $e) {
$mensagem = "Falha no envio externo do processo. Verifique log de erros do sistema para maiores informa��es.";
$detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
throw new InfraException($mensagem, $e, $detalhes);
$strDetalhes = str_replace(array("\n", "\r"), ' ', InfraString::formatarJavaScript($this->tratarFalhaWebService($e)));
$detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
if (strpos(strtolower($strMensagem), "hash de ao menos um componente digital n�o confere")) {
$strMensagem = $this->validarMudancaOrdemDocumentos($parametros->dblIdProcedimento, $strMensagem, $parametros);
}
throw new InfraException($strMensagem, $e, $strDetalhes);
} catch (\Exception $e) {
$mensagem = "Falha no envio externo do processo. Verifique log de erros do sistema para maiores informa��es.";
$detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
throw new InfraException($mensagem, $e, $detalhes);
}
}

private function validarMudancaOrdemDocumentos($dblIdProcedimento, $strMensagem, $params = null)
{
$objProcessoEletronicoDTO = new ProcessoEletronicoDTO();
$objProcessoEletronicoDTO->setDblIdProcedimento($dblIdProcedimento);

$objProcessoEletronicoRN = new ProcessoEletronicoRN();
$objUltimoTramiteDTO = $objProcessoEletronicoRN->consultarUltimoTramite($objProcessoEletronicoDTO);
$numIdTramite = $objUltimoTramiteDTO->getNumIdTramite();

if (!is_null($numIdTramite) && $numIdTramite > 0) {
$objAtividadeDTO = new AtividadeDTO();
$objAtividadeDTO->setDblIdProtocolo($dblIdProcedimento);
$objAtividadeDTO->setNumIdTarefa(TarefaRN::$TI_PROCESSO_ALTERACAO_ORDEM_ARVORE);
$objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC);
$objAtividadeDTO->retNumIdAtividade();
$objAtividadeDTO->retDblIdProcedimentoProtocolo();

$objAtividadeRN = new AtividadeRN();
$arrObjAtividadeDTO = $objAtividadeRN->contarRN0035($objAtividadeDTO);

$objProtocoloDTO = new RelProtocoloProtocoloDTO();
$objProtocoloDTO->setDblIdProtocolo1($objAtividadeDTO->getDblIdProtocolo());
$objProtocoloDTO->setOrd('IdRelProtocoloProtocolo', InfraDTO::$TIPO_ORDENACAO_ASC);
$objProtocoloDTO->retNumSequencia();
$objProtocoloDTO->retDblIdProtocolo2();
$objProtocoloBD = new RelProtocoloProtocoloBD(BancoSEI::getInstance());
$arrProtocolos = $objProtocoloBD->listar($objProtocoloDTO);

# PROTOCOLO
$objProtocoloDTO = new ProtocoloDTO();
$objProtocoloDTO->setDblIdProtocolo($objAtividadeDTO->getDblIdProtocolo());
$objProtocoloDTO->setOrd('IdProtocolo', InfraDTO::$TIPO_ORDENACAO_ASC);
$objProtocoloDTO->retDblIdProtocolo();
$objProtocoloDTO->retStrProtocoloFormatado();
$objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance());
$protocolo = $objProtocoloBD->consultar($objProtocoloDTO);


$msg = "N�o foi poss�vel enviar o processo '".$protocolo->getStrProtocoloFormatado()."' por meio do Tramita.GOV.BR, em decorr�ncia de altera��o da ordem de um ou mais documentos na �rvore do processo. A seguir, a lista dos documentos com ordem alterada:";
foreach ($arrProtocolos as $index => $protocolo) {
if ($index != $protocolo->getNumSequencia() && $index == 0){
$documento = str_pad($protocolo->getDblIdProtocolo2(), 6, '0', STR_PAD_LEFT);
$pos = $index + 1;
$sequencia = $protocolo->getNumSequencia() + 1;
$msg .= " A ordem do documento $documento foi modificada na �rvore do processo, mudando da posi��o $pos para a posi��o $sequencia.";
}
}
$msg .= " Sugere-se desfazer as altera��es acima listadas antes de realizar nova tentativa de tr�mite. Mantenha sempre a ordem original dos documentos de processos recebidos pelo Tramita.GOV.BR, uma vez que sua instru��o foi realizada por outro �rg�o. Tenha em mente que qualquer altera��o nessa ordem pode impedir um novo tr�mite do processo.";

if ($arrObjAtividadeDTO > 0) {
$strMensagem = str_replace(
'hash de ao menos um componente digital n�o confere',
$msg,
$strMensagem
);
}
}

return $strMensagem;
}
}

public function listarPendencias($bolTodasPendencias)
public function listarPendencias($bolTodasPendencias)
{
$arrObjPendenciaDTO = array();

Expand Down