Skip to content

Commit

Permalink
feat: validação de tamite com processo incluido e bloco, validação pa…
Browse files Browse the repository at this point in the history
…ra visualização detalhada (pengovbr#639)

Co-authored-by: Mauro Costa <[email protected]>
  • Loading branch information
Mauro1706 and Mauro Costa authored Sep 25, 2024
1 parent 381e591 commit ac97be1
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/pen_tramite_processo_em_bloco_cadastrar.php
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,11 @@
}
break;
case 'pen_tramita_em_bloco_adicionar':
$arrProtocolosOrigem = array_merge($objPaginaSEI->getArrStrItensSelecionados('Gerados'), $objPaginaSEI->getArrStrItensSelecionados('Recebidos'));
$arrProtocolosOrigem = array_merge(
$objPaginaSEI->getArrStrItensSelecionados('Gerados'),
$objPaginaSEI->getArrStrItensSelecionados('Recebidos'),
$objPaginaSEI->getArrStrItensSelecionados('Detalhado')
);
$strIdItensSelecionados = $strIdItensSelecionados ?: $_GET['processos'];
$strTitulo = 'Incluir Processo(s) no Bloco de Trâmite';

Expand Down Expand Up @@ -270,7 +274,9 @@
$objTramiteEmBlocoDTO->retNumOrdem();
$objTramiteEmBlocoDTO->retNumIdUnidade();
$objTramiteEmBlocoDTO->retStrDescricao();
PaginaSEI::getInstance()->prepararOrdenacao($objTramiteEmBlocoDTO, 'Id', InfraDTO::$TIPO_ORDENACAO_DESC);
if ($_GET['acao'] != 'pen_tramita_em_bloco_adicionar') {
PaginaSEI::getInstance()->prepararOrdenacao($objTramiteEmBlocoDTO, 'Id', InfraDTO::$TIPO_ORDENACAO_DESC);
}

$objTramiteEmBlocoRN = new TramiteEmBlocoRN();
foreach ($objTramiteEmBlocoRN->listar($objTramiteEmBlocoDTO) as $dados) {
Expand Down
38 changes: 38 additions & 0 deletions src/rn/ExpedirProcedimentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -2466,6 +2466,43 @@ private function validarProcessoAbertoUnidade(InfraException $objInfraException,
}
}

private function validarProcessoIncluidoEmBlocoEmAndamento(InfraException $objInfraException, ProcedimentoDTO $objProcedimentoDTO, $strAtributoValidacao)
{
$concluido = array(
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE
);

$objPenBlocoProcessoDTO = new PenBlocoProcessoDTO();
$objPenBlocoProcessoDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento());
$objPenBlocoProcessoDTO->retNumIdAtividade();
$objPenBlocoProcessoDTO->retStrProtocoloFormatadoProtocolo();
$objPenBlocoProcessoDTO->retNumIdBloco();

$objPenBlocoProcessoRN = new PenBlocoProcessoRN();
$arrPenBlocoProcessoDTO = $objPenBlocoProcessoRN->listar($objPenBlocoProcessoDTO);

foreach ($arrPenBlocoProcessoDTO as $objPenBlocoProcessoDTO) {
if (!in_array($objPenBlocoProcessoDTO->getNumIdAtividade(), $concluido)) {
$objTramiteEmBlocoDTO = new TramiteEmBlocoDTO();
$objTramiteEmBlocoDTO->setNumId($objPenBlocoProcessoDTO->getNumIdBloco());
$objTramiteEmBlocoDTO->retNumOrdem();
$objTramiteEmBlocoDTO->retStrSiglaUnidade();
$objTramiteEmBlocoDTO->retStrDescricao();

$objTramiteEmBlocoRN = new TramiteEmBlocoRN();
$objTramiteEmBlocoDTO = $objTramiteEmBlocoRN->consultar($objTramiteEmBlocoDTO);

$mensagem = "Prezado(a) usuário(a), o processo {$objPenBlocoProcessoDTO->getStrProtocoloFormatadoProtocolo()} encontra-se inserido no bloco {$objTramiteEmBlocoDTO->getNumOrdem()} - "
. " {$objTramiteEmBlocoDTO->getStrDescricao()} da unidade {$objTramiteEmBlocoDTO->getStrSiglaUnidade()}."
. " Para continuar com essa ação é necessário que o processo seja removido do bloco em questão.";
$objInfraException->adicionarValidacao($mensagem, $strAtributoValidacao);
}
}
}

private function validarNivelAcessoProcesso(InfraException $objInfraException, ProcedimentoDTO $objProcedimentoDTO, $strAtributoValidacao)
{
if ($objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_SIGILOSO) {
Expand Down Expand Up @@ -2594,6 +2631,7 @@ public function validarPreCondicoesExpedirProcedimento(InfraException $objInfraE
$this->validarDadosDocumentos($objInfraException, $objProcedimentoDTO->getArrObjDocumentoDTO(), $strAtributoValidacao);
$this->validarDocumentacaoExistende($objInfraException, $objProcedimentoDTO, $strAtributoValidacao);
$this->validarProcessoAbertoUnidade($objInfraException, $objProcedimentoDTO, $strAtributoValidacao);
$this->validarProcessoIncluidoEmBlocoEmAndamento($objInfraException, $objProcedimentoDTO, $strAtributoValidacao);
$this->validarNivelAcessoProcesso($objInfraException, $objProcedimentoDTO, $strAtributoValidacao);
$this->validarHipoteseLegalEnvio($objInfraException, $objProcedimentoDTO, $strAtributoValidacao);
$this->validarAssinaturas($objInfraException, $objProcedimentoDTO, $strAtributoValidacao);
Expand Down

0 comments on commit ac97be1

Please sign in to comment.