From cf1258bbd1101676c080ec03d18de25ca7018820 Mon Sep 17 00:00:00 2001 From: Guilherme Andrade Del Cantoni Date: Tue, 22 Jan 2019 10:01:09 -0200 Subject: [PATCH] [Fixed #13] Correção de erro no tratamento de transação do andamento do trâmite --- rn/ProcedimentoAndamentoRN.php | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/rn/ProcedimentoAndamentoRN.php b/rn/ProcedimentoAndamentoRN.php index 23425cc..bc61186 100644 --- a/rn/ProcedimentoAndamentoRN.php +++ b/rn/ProcedimentoAndamentoRN.php @@ -62,27 +62,37 @@ class ProcedimentoAndamentoRN extends InfraRN { * @param string $strSituacao Tipo ENUM(S,N) * @return null */ - protected function cadastrarControlado($strMensagem = 'Não informado', $strSituacao = 'N'){ + public function cadastrar($strMensagem = 'Não informado', $strSituacao = 'N'){ if($this->isSetOpts === false) { throw new InfraException('Log do cadastro de procedimento não foi configurado'); } $objInfraIBanco = $this->inicializarObjInfraIBanco(); + $objInfraIBanco->abrirTransacao(); - $hash = md5($this->dblIdProcedimento.$strMensagem); + try{ + $hash = md5($this->dblIdProcedimento.$strMensagem); - $objProcedimentoAndamentoDTO = new ProcedimentoAndamentoDTO(); - $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao); - $objProcedimentoAndamentoDTO->setDthData(date('d/m/Y H:i:s')); - $objProcedimentoAndamentoDTO->setDblIdProcedimento($this->dblIdProcedimento); - $objProcedimentoAndamentoDTO->setDblIdTramite($this->dblIdTramit); - $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao); - $objProcedimentoAndamentoDTO->setStrMensagem($strMensagem); - $objProcedimentoAndamentoDTO->setStrHash($hash); - $objProcedimentoAndamentoDTO->setNumTarefa($this->numTarefa); + $objProcedimentoAndamentoDTO = new ProcedimentoAndamentoDTO(); + $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao); + $objProcedimentoAndamentoDTO->setDthData(date('d/m/Y H:i:s')); + $objProcedimentoAndamentoDTO->setDblIdProcedimento($this->dblIdProcedimento); + $objProcedimentoAndamentoDTO->setDblIdTramite($this->dblIdTramit); + $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao); + $objProcedimentoAndamentoDTO->setStrMensagem($strMensagem); + $objProcedimentoAndamentoDTO->setStrHash($hash); + $objProcedimentoAndamentoDTO->setNumTarefa($this->numTarefa); - $objProcedimentoAndamentoBD = new ProcedimentoAndamentoBD($objInfraIBanco); - $objProcedimentoAndamentoBD->cadastrar($objProcedimentoAndamentoDTO); + $objProcedimentoAndamentoBD = new ProcedimentoAndamentoBD($objInfraIBanco); + $objProcedimentoAndamentoBD->cadastrar($objProcedimentoAndamentoDTO); + + $objInfraIBanco->confirmarTransacao(); + + } catch (Exception $e) { + $objInfraIBanco->cancelarTransacao(); + throw $e; + + } } } -- libgit2 0.21.2