Skip to content

Commit

Permalink
feat: Correção de recusa por motivo: Documento não foi recebido pela …
Browse files Browse the repository at this point in the history
…unidade atual

Close #379
  • Loading branch information
higodf authored and caduvieira committed Feb 1, 2024
1 parent 1de5063 commit 6e57078
Showing 1 changed file with 39 additions and 20 deletions.
59 changes: 39 additions & 20 deletions src/rn/ReceberProcedimentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -1863,28 +1863,47 @@ private function clonarComponentesJaExistentesNoProcesso($objDocumentoDTO, $dblI
* @param array $parArrIdDocumentosCancelamento Lista de documentos que ser<E3>o cancelados
* @return void
*/
private function cancelarDocumentosProcesso($parDblIdProcedimento, $parArrIdDocumentosCancelamento)
{
foreach($parArrIdDocumentosCancelamento as $numIdDocumento){
$objProtocoloDTO = new ProtocoloDTO();
$objProtocoloDTO->setDblIdProtocolo($numIdDocumento);
$objProtocoloDTO->retStrStaEstado();
$objProtocoloDTO = $this->objProtocoloRN->consultarRN0186($objProtocoloDTO);
private function cancelarDocumentosProcesso($parDblIdProcedimento, $parArrIdDocumentosCancelamento){

// Verifica se documento está atualmente associado ao processo e não foi movido para outro
$objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO();
$objRelProtocoloProtocoloDTO->retNumSequencia();
$objRelProtocoloProtocoloDTO->setStrStaAssociacao(RelProtocoloProtocoloRN::$TA_DOCUMENTO_MOVIDO);
$objRelProtocoloProtocoloDTO->setDblIdProtocolo1($parDblIdProcedimento);
$objRelProtocoloProtocoloDTO->setDblIdProtocolo2($numIdDocumento);
$bolDocumentoMovidoProcesso = $this->objRelProtocoloProtocoloRN->contarRN0843($objRelProtocoloProtocoloDTO) > 0;

if(!$bolDocumentoMovidoProcesso && ($objProtocoloDTO->getStrStaEstado() != ProtocoloRN::$TE_DOCUMENTO_CANCELADO)){
$objEntradaCancelarDocumentoAPI = new EntradaCancelarDocumentoAPI();
$objEntradaCancelarDocumentoAPI->setIdDocumento($numIdDocumento);
$objEntradaCancelarDocumentoAPI->setMotivo('Documento retirado do processo pelo remetente');
$this->objSeiRN->cancelarDocumento($objEntradaCancelarDocumentoAPI);
try{
$numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual();

foreach($parArrIdDocumentosCancelamento as $numIdDocumento){
$objProtocoloDTO = new ProtocoloDTO();
$objProtocoloDTO->setDblIdProtocolo($numIdDocumento);
$objProtocoloDTO->retStrStaEstado();
$objProtocoloDTO = $this->objProtocoloRN->consultarRN0186($objProtocoloDTO);

// Verifica se documento está atualmente associado ao processo e não foi movido para outro
$objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO();
$objRelProtocoloProtocoloDTO->retNumSequencia();
$objRelProtocoloProtocoloDTO->setStrStaAssociacao(RelProtocoloProtocoloRN::$TA_DOCUMENTO_MOVIDO);
$objRelProtocoloProtocoloDTO->setDblIdProtocolo1($parDblIdProcedimento);
$objRelProtocoloProtocoloDTO->setDblIdProtocolo2($numIdDocumento);
$bolDocumentoMovidoProcesso = $this->objRelProtocoloProtocoloRN->contarRN0843($objRelProtocoloProtocoloDTO) > 0;

if(!$bolDocumentoMovidoProcesso && ($objProtocoloDTO->getStrStaEstado() != ProtocoloRN::$TE_DOCUMENTO_CANCELADO)){
$objEntradaCancelarDocumentoAPI = new EntradaCancelarDocumentoAPI();
$objEntradaCancelarDocumentoAPI->setIdDocumento($numIdDocumento);
$objEntradaCancelarDocumentoAPI->setMotivo('Documento retirado do processo pelo remetente');

$objDocumentoDTO = new DocumentoDTO();
$objDocumentoDTO->retNumIdUnidadeGeradoraProtocolo();
$objDocumentoDTO->setDblIdDocumento($numIdDocumento);
$objDocumentoRN = new DocumentoRN();
$objDocumentoDTO = $objDocumentoRN->consultarRN0005($objDocumentoDTO);
SessaoSEI::getInstance()->setNumIdUnidadeAtual($objDocumentoDTO->getNumIdUnidadeGeradoraProtocolo());

$this->objSeiRN->cancelarDocumento($objEntradaCancelarDocumentoAPI);
}
}
} catch(Exception $e) {
$mensagemErro = InfraException::inspecionar($e);
$this->gravarLogDebug($mensagemErro);
LogSEI::getInstance()->gravar($mensagemErro);
throw $e;
}finally{
SessaoSEI::getInstance()->setNumIdUnidadeAtual($numIdUnidadeAtual);
}
}

Expand Down

0 comments on commit 6e57078

Please sign in to comment.