Skip to content

Commit

Permalink
fix: reabrir processo para cancelar documento
Browse files Browse the repository at this point in the history
Caso o processo esteja fechado o mesmo é reaberto na unidade que criou o mesmo para cancelar o documento

Closes #379
  • Loading branch information
caduvieira committed Feb 1, 2024
1 parent 95a498f commit fb0d0b5
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion src/rn/ReceberProcedimentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -1896,8 +1896,14 @@ private function cancelarDocumentosProcesso($parDblIdProcedimento, $parArrIdDocu
$objDocumentoRN = new DocumentoRN();
$objDocumentoDTO = $objDocumentoRN->consultarRN0005($objDocumentoDTO);
SessaoSEI::getInstance()->setNumIdUnidadeAtual($objDocumentoDTO->getNumIdUnidadeGeradoraProtocolo());

//Para cancelar o documento é preciso que esteja aberto o processo na unidade que ele foi gerado.
$this->abrirProcessoSeNaoAberto($parDblIdProcedimento);

$this->objSeiRN->cancelarDocumento($objEntradaCancelarDocumentoAPI);

$objEntradaConcluirProcessoAPI = new EntradaConcluirProcessoAPI();
$objEntradaConcluirProcessoAPI->setIdProcedimento($parDblIdProcedimento);
$this->objSeiRN->concluirProcesso($objEntradaConcluirProcessoAPI);
}
}
} catch(Exception $e) {
Expand All @@ -1910,6 +1916,25 @@ private function cancelarDocumentosProcesso($parDblIdProcedimento, $parArrIdDocu
}
}

//Cópia de parte do SeiRN. Esse método deveria estar lá e não aqui no módulo.
private function abrirProcessoSeNaoAberto($parDblIdProcedimento){
$objAtividadeDTO = new AtividadeDTO();
$objAtividadeDTO->retNumIdAtividade();
$objAtividadeDTO->setNumMaxRegistrosRetorno(1);
$objAtividadeDTO->setDblIdProtocolo($parDblIdProcedimento);
$objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
$objAtividadeDTO->setDthConclusao(null);
$objAtividadeRN = new AtividadeRN();

if ($objAtividadeRN->consultarRN0033($objAtividadeDTO)==null){
$objReabrirProcessoDTO = new ReabrirProcessoDTO();
$objReabrirProcessoDTO->setDblIdProcedimento($parDblIdProcedimento);
$objReabrirProcessoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
$objReabrirProcessoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario());
$objProcedimentoRN = new ProcedimentoRN();
$objProcedimentoRN->reabrirRN0966($objReabrirProcessoDTO);
}
}

private function atribuirComponentesDigitais(DocumentoDTO $parObjDocumentoDTO, $parArrObjComponentesDigitais)
{
Expand Down

0 comments on commit fb0d0b5

Please sign in to comment.