Commit cf1258bbd1101676c080ec03d18de25ca7018820

Authored by Guilherme Andrade Del Cantoni
1 parent 159d6c79

[Fixed #13] Correção de erro no tratamento de transação do andamento do trâmite

Showing 1 changed file with 23 additions and 13 deletions   Show diff stats
rn/ProcedimentoAndamentoRN.php
@@ -62,27 +62,37 @@ class ProcedimentoAndamentoRN extends InfraRN { @@ -62,27 +62,37 @@ class ProcedimentoAndamentoRN extends InfraRN {
62 * @param string $strSituacao Tipo ENUM(S,N) 62 * @param string $strSituacao Tipo ENUM(S,N)
63 * @return null 63 * @return null
64 */ 64 */
65 - protected function cadastrarControlado($strMensagem = 'Não informado', $strSituacao = 'N'){ 65 + public function cadastrar($strMensagem = 'Não informado', $strSituacao = 'N'){
66 66
67 if($this->isSetOpts === false) { 67 if($this->isSetOpts === false) {
68 throw new InfraException('Log do cadastro de procedimento não foi configurado'); 68 throw new InfraException('Log do cadastro de procedimento não foi configurado');
69 } 69 }
70 70
71 $objInfraIBanco = $this->inicializarObjInfraIBanco(); 71 $objInfraIBanco = $this->inicializarObjInfraIBanco();
  72 + $objInfraIBanco->abrirTransacao();
72 73
73 - $hash = md5($this->dblIdProcedimento.$strMensagem); 74 + try{
  75 + $hash = md5($this->dblIdProcedimento.$strMensagem);
74 76
75 - $objProcedimentoAndamentoDTO = new ProcedimentoAndamentoDTO();  
76 - $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao);  
77 - $objProcedimentoAndamentoDTO->setDthData(date('d/m/Y H:i:s'));  
78 - $objProcedimentoAndamentoDTO->setDblIdProcedimento($this->dblIdProcedimento);  
79 - $objProcedimentoAndamentoDTO->setDblIdTramite($this->dblIdTramit);  
80 - $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao);  
81 - $objProcedimentoAndamentoDTO->setStrMensagem($strMensagem);  
82 - $objProcedimentoAndamentoDTO->setStrHash($hash);  
83 - $objProcedimentoAndamentoDTO->setNumTarefa($this->numTarefa); 77 + $objProcedimentoAndamentoDTO = new ProcedimentoAndamentoDTO();
  78 + $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao);
  79 + $objProcedimentoAndamentoDTO->setDthData(date('d/m/Y H:i:s'));
  80 + $objProcedimentoAndamentoDTO->setDblIdProcedimento($this->dblIdProcedimento);
  81 + $objProcedimentoAndamentoDTO->setDblIdTramite($this->dblIdTramit);
  82 + $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao);
  83 + $objProcedimentoAndamentoDTO->setStrMensagem($strMensagem);
  84 + $objProcedimentoAndamentoDTO->setStrHash($hash);
  85 + $objProcedimentoAndamentoDTO->setNumTarefa($this->numTarefa);
84 86
85 - $objProcedimentoAndamentoBD = new ProcedimentoAndamentoBD($objInfraIBanco);  
86 - $objProcedimentoAndamentoBD->cadastrar($objProcedimentoAndamentoDTO); 87 + $objProcedimentoAndamentoBD = new ProcedimentoAndamentoBD($objInfraIBanco);
  88 + $objProcedimentoAndamentoBD->cadastrar($objProcedimentoAndamentoDTO);
  89 +
  90 + $objInfraIBanco->confirmarTransacao();
  91 +
  92 + } catch (Exception $e) {
  93 + $objInfraIBanco->cancelarTransacao();
  94 + throw $e;
  95 +
  96 + }
87 } 97 }
88 } 98 }