Skip to content

Commit

Permalink
feat: incluir alteração do tipo de processo no andamento do processo (#…
Browse files Browse the repository at this point in the history
…515)

* feat: incluir alteração do tipo de processo no andamento do processo

* feat: incluir alteração do tipo de processo no andamento do processo
  • Loading branch information
mrglaydson authored Jun 6, 2024
1 parent 31b1115 commit 80e3af2
Showing 1 changed file with 47 additions and 2 deletions.
49 changes: 47 additions & 2 deletions src/rn/ReceberProcedimentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -1081,7 +1081,7 @@ private function gerarProcedimento($objMetadadosProcedimento, $parObjProtocolo)
$numIdTipoProcedimento = $this->objPenParametroRN->getParametro('PEN_TIPO_PROCESSO_EXTERNO');
$remetente = $objMetadadosProcedimento->metadados->remetente;
$destinatario = $objMetadadosProcedimento->metadados->destinatario;
$this->atribuirTipoProcedimento(
$alterouTipoProcesso = $this->atribuirTipoProcedimento(
$objProcedimentoDTO,
$remetente,
$destinatario,
Expand Down Expand Up @@ -1116,6 +1116,10 @@ private function gerarProcedimento($objMetadadosProcedimento, $parObjProtocolo)
$objInfraParametro->setValor('SEI_FEDERACAO_NUMERO_PROCESSO', 0);
$objProcedimentoDTOGerado = $objProcedimentoRN->gerarRN0156($objProcedimentoDTO);

if ($alterouTipoProcesso) {
$this->atribuirTipoProcedimentoRelacinado($objProcedimentoDTO->getNumIdTipoProcedimento(), $objProcedimentoDTOGerado->getDblIdProcedimento(), $strProcessoNegocio);
}

$objProcedimentoDTO->setDblIdProcedimento($objProcedimentoDTOGerado->getDblIdProcedimento());
$objProcedimentoDTO->setStrProtocoloProcedimentoFormatado($objProcedimentoDTO->getObjProtocoloDTO()->getStrProtocoloFormatado());

Expand Down Expand Up @@ -1465,11 +1469,13 @@ private function obterTipoProcessoPeloNomeOrgaoUnidade($strNomeTipoProcesso, $nu
* @param \stdClass $destinatario
* @param string|int $numIdTipoProcedimento
* @param string|int $strProcessoNegocio
* @return ProcedimentoDTO
* @return bool
* @throws InfraException
*/
private function atribuirTipoProcedimento(ProcedimentoDTO $objProcedimentoDTO, $remetente, $destinatario, $numIdTipoProcedimento, $strProcessoNegocio)
{

$dblAlterouTipoProcesso = false;
if(!empty(trim($strProcessoNegocio))){
// Verifica se existe relacionamento entre orgãos
$objTipoProcedimentoDTO = $this->obterMapeamentoTipoProcesso($remetente, $destinatario, $strProcessoNegocio);
Expand All @@ -1481,11 +1487,14 @@ private function atribuirTipoProcedimento(ProcedimentoDTO $objProcedimentoDTO, $
SessaoSEI::getInstance()->getNumIdOrgaoUnidadeAtual(),
SessaoSEI::getInstance()->getNumIdUnidadeAtual()
);
} else {
$dblAlterouTipoProcesso = true;
}
}

if(is_null($objTipoProcedimentoDTO)){
// Verifica tipo de processo padrão cadastrado
$dblAlterouTipoProcesso = true;
$objTipoProcedimentoDTO = $this->obterTipoProcessoPadrao($numIdTipoProcedimento);
}

Expand Down Expand Up @@ -1514,6 +1523,8 @@ private function atribuirTipoProcedimento(ProcedimentoDTO $objProcedimentoDTO, $
}

$objProcedimentoDTO->getObjProtocoloDTO()->setArrObjRelProtocoloAssuntoDTO($arrObjAssuntoDTO);

return $dblAlterouTipoProcesso;
}

/**
Expand Down Expand Up @@ -2895,4 +2906,38 @@ private static function validaTamanhoMaximoAnexo($nomeArquivo, $nrTamanhMegaByte
}
}
}


private function atribuirTipoProcedimentoRelacinado($numIdTipoProcedimento, $numIdProcedimento, $strProcessoNegocio) {

$objAtributoAndamentoDTOAnterior = new AtributoAndamentoDTO();
$objAtributoAndamentoDTOAnterior->setStrNome('TIPO_PROCESSO_ANTERIOR');
$objAtributoAndamentoDTOAnterior->setStrValor($strProcessoNegocio);
$objAtributoAndamentoDTOAnterior->setStrIdOrigem($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura);
$arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTOAnterior;

$objTipoProcedimentoRN = new TipoProcedimentoRN();
$objTipoProcedimentoDTO = new TipoProcedimentoDTO();
$objTipoProcedimentoDTO->setBolExclusaoLogica(false);
$objTipoProcedimentoDTO->retNumIdTipoProcedimento();
$objTipoProcedimentoDTO->retStrNome();
$objTipoProcedimentoDTO->setNumIdTipoProcedimento($numIdTipoProcedimento);
$objTipoProcedimentoDTO = $objTipoProcedimentoRN->consultarRN0267($objTipoProcedimentoDTO);

$objAtributoAndamentoDTOAtual = new AtributoAndamentoDTO();
$objAtributoAndamentoDTOAtual->setStrNome('TIPO_PROCESSO_ATUAL');
$objAtributoAndamentoDTOAtual->setStrValor($objTipoProcedimentoDTO->getStrNome());
$objAtributoAndamentoDTOAtual->setStrIdOrigem($objTipoProcedimentoDTO->getNumIdTipoProcedimento());
$arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTOAtual;

$objAtividadeDTO = new AtividadeDTO();
$objAtividadeDTO->setDblIdProtocolo($numIdProcedimento);
$objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
$objAtividadeDTO->setNumIdTarefa(TarefaRN::$TI_ALTERACAO_TIPO_PROCESSO);
$objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO);

// Gerar a atividade
$objAtividadeRN = new AtividadeRN();
$objAtividadeRN->gerarInternaRN0727($objAtividadeDTO);
}
}

0 comments on commit 80e3af2

Please sign in to comment.