Commit a6016a7f5744ec5f6ff217e13585f58d83d656cf

Authored by Eduardo Heinske
1 parent e4fa2a7c

Correções na validação de assinatura digital, cancelar trâmite e validação de ta…

…manho de arquivo na expedição
rn/ExpedirProcedimentoRN.php
@@ -173,12 +173,9 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -173,12 +173,9 @@ class ExpedirProcedimentoRN extends InfraRN {
173 173
174 $objTramite = $novoTramite->dadosTramiteDeProcessoCriado; 174 $objTramite = $novoTramite->dadosTramiteDeProcessoCriado;
175 175
176 -  
177 $this->objProcedimentoAndamentoRN->setOpts($dblIdProcedimento, $objTramite->IDT, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)); 176 $this->objProcedimentoAndamentoRN->setOpts($dblIdProcedimento, $objTramite->IDT, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO));
178 -  
179 try { 177 try {
180 178
181 -  
182 $this->objProcedimentoAndamentoRN->cadastrar('Envio do metadados do processo', 'S'); 179 $this->objProcedimentoAndamentoRN->cadastrar('Envio do metadados do processo', 'S');
183 180
184 $idAtividadeExpedicao = $this->bloquearProcedimentoExpedicao($objExpedirProcedimentoDTO, $objProcesso->idProcedimentoSEI); 181 $idAtividadeExpedicao = $this->bloquearProcedimentoExpedicao($objExpedirProcedimentoDTO, $objProcesso->idProcedimentoSEI);
@@ -239,7 +236,7 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -239,7 +236,7 @@ class ExpedirProcedimentoRN extends InfraRN {
239 } 236 }
240 catch (\Exception $e) { 237 catch (\Exception $e) {
241 $this->desbloquearProcessoExpedicao($objProcesso->idProcedimentoSEI); 238 $this->desbloquearProcessoExpedicao($objProcesso->idProcedimentoSEI);
242 - $this->registrarAndamentoExpedicaoAbortada($objProtocolo->idProcedimentoSEI); 239 + $this->registrarAndamentoExpedicaoAbortada($objProcesso->idProcedimentoSEI);
243 240
244 // @join_tec US008.06 (#23092) 241 // @join_tec US008.06 (#23092)
245 $this->objProcedimentoAndamentoRN->cadastrar('Concluído envio dos componentes do processo', 'N'); 242 $this->objProcedimentoAndamentoRN->cadastrar('Concluído envio dos componentes do processo', 'N');
@@ -1046,6 +1043,11 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -1046,6 +1043,11 @@ class ExpedirProcedimentoRN extends InfraRN {
1046 if(!isset($objAnexoDTO)){ 1043 if(!isset($objAnexoDTO)){
1047 throw new InfraException("Componente digital do documento {$strProtocoloDocumentoFormatado} não pode ser localizado."); 1044 throw new InfraException("Componente digital do documento {$strProtocoloDocumentoFormatado} não pode ser localizado.");
1048 } 1045 }
  1046 +
  1047 + //VALIDAÇÃO DE TAMANHO DE DOCUMENTOS EXTERNOS PARA A EXPEDIÇÃO
  1048 + if($objAnexoDTO->getNumTamanho() > ($objInfraParametro->getValor('PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO') * 1024 * 1024) ){
  1049 + throw new InfraException("O tamanho do documento {$objAnexoDTO->getStrProtocoloFormatadoProtocolo()} é maior que os {$objInfraParametro->getValor('PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO')} MB permitidos para a expedição de documentos externos.");
  1050 + }
1049 1051
1050 //Obtenção do conteudo do documento externo 1052 //Obtenção do conteudo do documento externo
1051 //TODO: Particionar o documento em tamanho menor caso ultrapasse XX megabytes 1053 //TODO: Particionar o documento em tamanho menor caso ultrapasse XX megabytes
@@ -1251,6 +1253,7 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -1251,6 +1253,7 @@ class ExpedirProcedimentoRN extends InfraRN {
1251 $objAnexoDTO->retDblIdProtocolo(); 1253 $objAnexoDTO->retDblIdProtocolo();
1252 $objAnexoDTO->retDthInclusao(); 1254 $objAnexoDTO->retDthInclusao();
1253 $objAnexoDTO->retNumTamanho(); 1255 $objAnexoDTO->retNumTamanho();
  1256 + $objAnexoDTO->retStrProtocoloFormatadoProtocolo();
1254 $objAnexoDTO->setDblIdProtocolo($dblIdDocumento); 1257 $objAnexoDTO->setDblIdProtocolo($dblIdDocumento);
1255 1258
1256 return $this->objAnexoRN->consultarRN0736($objAnexoDTO); 1259 return $this->objAnexoRN->consultarRN0736($objAnexoDTO);
@@ -2024,99 +2027,98 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -2024,99 +2027,98 @@ class ExpedirProcedimentoRN extends InfraRN {
2024 */ 2027 */
2025 public function cancelarTramite($dblIdProcedimento) { 2028 public function cancelarTramite($dblIdProcedimento) {
2026 2029
2027 - $objDTOFiltro = new ProcessoEletronicoDTO();  
2028 - $objDTOFiltro->setDblIdProcedimento($dblIdProcedimento);  
2029 - $objDTOFiltro->retStrNumeroRegistro();  
2030 - $objDTOFiltro->setNumMaxRegistrosRetorno(1);  
2031 -  
2032 - $objBD = new ProcessoEletronicoBD($this->getObjInfraIBanco());  
2033 - $objProcessoEletronicoDTO = $objBD->consultar($objDTOFiltro);  
2034 -  
2035 - if(empty($objProcessoEletronicoDTO)) {  
2036 - throw new InfraException('Não foi Encontrado o Processo pelo ID '. $dblIdProcedimento);  
2037 - }  
2038 - 2030 + //Busca os dados do protocolo
2039 $objDtoProtocolo = new ProtocoloDTO(); 2031 $objDtoProtocolo = new ProtocoloDTO();
2040 $objDtoProtocolo->retStrProtocoloFormatado(); 2032 $objDtoProtocolo->retStrProtocoloFormatado();
  2033 + $objDtoProtocolo->retDblIdProtocolo();
2041 $objDtoProtocolo->setDblIdProtocolo($dblIdProcedimento); 2034 $objDtoProtocolo->setDblIdProtocolo($dblIdProcedimento);
2042 2035
2043 $objProtocoloBD = new ProtocoloBD($this->getObjInfraIBanco()); 2036 $objProtocoloBD = new ProtocoloBD($this->getObjInfraIBanco());
2044 $objDtoProtocolo = $objProtocoloBD->consultar($objDtoProtocolo); 2037 $objDtoProtocolo = $objProtocoloBD->consultar($objDtoProtocolo);
2045 -  
2046 2038
2047 -// $objDTOFiltro = new TramiteDTO();  
2048 -// $objDTOFiltro->setStrNumeroRegistro($objProcessoEletronicoDTO->getStrNumeroRegistro());  
2049 -// $objDTOFiltro->setNumMaxRegistrosRetorno(1);  
2050 -// $objDTOFiltro->setOrdNumIdTramite(InfraDTO::$TIPO_ORDENACAO_DESC);  
2051 -// $objDTOFiltro->retTodos();  
2052 -//  
2053 -// $objTramiteBD = new TramiteBD($this->getObjInfraIBanco());  
2054 -// $objTramiteDTO = $objTramiteBD->consultar($objDTOFiltro);  
2055 -//  
2056 -// if(empty($objTramiteDTO)) {  
2057 -// throw new InfraException('Não foi Encontrado Trâmite para Esse Processo!');  
2058 -// } 2039 + $this->cancelarTramiteInternoControlado($objDtoProtocolo);
2059 2040
2060 -  
2061 - $arrObjMetaTramite = $this->objProcessoEletronicoRN->consultarTramitesProtocolo($objDtoProtocolo->getStrProtocoloFormatado()); 2041 + }
  2042 +
  2043 + protected function cancelarTramiteInternoControlado(ProtocoloDTO $objDtoProtocolo) {
2062 2044
2063 - if(empty($arrObjMetaTramite)) {  
2064 - throw new InfraException('Não foi Encontrado Trâmite para Esse Processo!'); 2045 + //Armazena o id do protocolo
  2046 + $dblIdProcedimento = $objDtoProtocolo->getDblIdProtocolo();
  2047 +
  2048 + $tramites = $this->objProcessoEletronicoRN->consultarTramitesProtocolo($objDtoProtocolo->getStrProtocoloFormatado());
  2049 + $tramite = $tramites ? array_pop($tramites) : null;
  2050 +
  2051 + if (!$tramite) {
  2052 + throw new InfraException('Trâmite não encontrado para esse processo. ');
2065 } 2053 }
2066 -  
2067 - $numSituacaoAtual = 0;  
2068 -  
2069 - // Se o barramento possui alguma situação do tramite verificamos se o precedimento  
2070 - // já esta em recebimento  
2071 - if(!empty($arrObjMetaTramite)) {  
2072 -  
2073 - $objMetaTramite = array_pop($arrObjMetaTramite);  
2074 -  
2075 - switch($objMetaTramite->situacaoAtual) {  
2076 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO:  
2077 - throw new InfraException("O sistema destinatário já iniciou o recebimento desse processo, portanto não é possivel realizar o cancelamento");  
2078 - break;  
2079 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE:  
2080 - throw new InfraException("O sistema destinatário já recebeu esse processo, portanto não é possivel realizar o cancelamento");  
2081 - break;  
2082 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO:  
2083 - throw new InfraException("O processo já se encontra cancelado");  
2084 - break;  
2085 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO:  
2086 - throw new InfraException("O processo se encontra recusado");  
2087 - break;  
2088 - }  
2089 - $numSituacaoAtual = $objMetaTramite->situacaoAtual; 2054 +
  2055 + //Verifica se o trâmite está com o status de iniciado
  2056 + if ($tramite->situacaoAtual == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO) {
  2057 + $this->objProcessoEletronicoRN->cancelarTramite($tramite->IDT);
  2058 +
  2059 + return true;
2090 } 2060 }
2091 2061
2092 - $this->objProcessoEletronicoRN->cancelarTramite($objMetaTramite->IDT); 2062 + //Busca o processo eletrônico
  2063 + $objDTOFiltro = new ProcessoEletronicoDTO();
  2064 + $objDTOFiltro->setDblIdProcedimento($dblIdProcedimento);
  2065 + $objDTOFiltro->retStrNumeroRegistro();
  2066 + $objDTOFiltro->setNumMaxRegistrosRetorno(1);
  2067 +
  2068 + $objBD = new ProcessoEletronicoBD($this->getObjInfraIBanco());
  2069 + $objProcessoEletronicoDTO = $objBD->consultar($objDTOFiltro);
  2070 +
  2071 + if (empty($objProcessoEletronicoDTO)) {
  2072 + throw new InfraException('Não foi Encontrado o Processo pelo ID ' . $dblIdProcedimento);
  2073 + }
  2074 +
  2075 + //Armazena a situação atual
  2076 + $numSituacaoAtual = $tramite->situacaoAtual;
  2077 +
  2078 + //Valida os status
  2079 + switch ($numSituacaoAtual) {
  2080 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO:
  2081 + throw new InfraException("O sistema destinatário já iniciou o recebimento desse processo, portanto não é possivel realizar o cancelamento");
  2082 + break;
  2083 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE:
  2084 + throw new InfraException("O sistema destinatário já recebeu esse processo, portanto não é possivel realizar o cancelamento");
  2085 + break;
  2086 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO:
  2087 + throw new InfraException("O processo já se encontra cancelado");
  2088 + break;
  2089 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO:
  2090 + throw new InfraException("O processo se encontra recusado");
  2091 + break;
  2092 + }
  2093 +
  2094 + $this->objProcessoEletronicoRN->cancelarTramite($tramite->IDT);
2093 2095
2094 //Desbloqueia o processo 2096 //Desbloqueia o processo
2095 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI(); 2097 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI();
2096 - $objEntradaDesbloquearProcessoAPI->setIdProcedimento($dblIdProcedimento); 2098 + $objEntradaDesbloquearProcessoAPI->setIdProcedimento($dblIdProcedimento);
  2099 +
2097 $objSeiRN = new SeiRN(); 2100 $objSeiRN = new SeiRN();
2098 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI); 2101 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI);
2099 - 2102 +
2100 $objDTOFiltro = new TramiteDTO(); 2103 $objDTOFiltro = new TramiteDTO();
2101 - $objDTOFiltro->setNumIdTramite($objMetaTramite->IDT); 2104 + $objDTOFiltro->setNumIdTramite($tramite->IDT);
2102 $objDTOFiltro->setNumMaxRegistrosRetorno(1); 2105 $objDTOFiltro->setNumMaxRegistrosRetorno(1);
2103 $objDTOFiltro->setOrdNumIdTramite(InfraDTO::$TIPO_ORDENACAO_DESC); 2106 $objDTOFiltro->setOrdNumIdTramite(InfraDTO::$TIPO_ORDENACAO_DESC);
2104 $objDTOFiltro->retNumIdTramite(); 2107 $objDTOFiltro->retNumIdTramite();
2105 $objDTOFiltro->retStrNumeroRegistro(); 2108 $objDTOFiltro->retStrNumeroRegistro();
2106 - 2109 +
2107 $objTramiteBD = new TramiteBD($this->getObjInfraIBanco()); 2110 $objTramiteBD = new TramiteBD($this->getObjInfraIBanco());
2108 $objTramiteDTO = $objTramiteBD->consultar($objDTOFiltro); 2111 $objTramiteDTO = $objTramiteBD->consultar($objDTOFiltro);
2109 2112
2110 $objTramiteDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO); 2113 $objTramiteDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO);
2111 $objTramiteDTO = $objTramiteBD->alterar($objTramiteDTO); 2114 $objTramiteDTO = $objTramiteBD->alterar($objTramiteDTO);
2112 - 2115 +
2113 //Cria o Objeto que registrará a Atividade de cancelamento 2116 //Cria o Objeto que registrará a Atividade de cancelamento
2114 $objAtividadeDTO = new AtividadeDTO(); 2117 $objAtividadeDTO = new AtividadeDTO();
2115 $objAtividadeDTO->setDblIdProtocolo($dblIdProcedimento); 2118 $objAtividadeDTO->setDblIdProtocolo($dblIdProcedimento);
2116 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 2119 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
2117 $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_CANCELADO)); 2120 $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_CANCELADO));
2118 2121
2119 -  
2120 //Seta os atributos do tamplate de descrição dessa atividade 2122 //Seta os atributos do tamplate de descrição dessa atividade
2121 $objAtributoAndamentoDTOHora = new AtributoAndamentoDTO(); 2123 $objAtributoAndamentoDTOHora = new AtributoAndamentoDTO();
2122 $objAtributoAndamentoDTOHora->setStrNome('DATA_HORA'); 2124 $objAtributoAndamentoDTOHora->setStrNome('DATA_HORA');
@@ -2132,13 +2134,8 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -2132,13 +2134,8 @@ class ExpedirProcedimentoRN extends InfraRN {
2132 2134
2133 $objAtividadeRN = new AtividadeRN(); 2135 $objAtividadeRN = new AtividadeRN();
2134 $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); 2136 $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO);
2135 -  
2136 -  
2137 } 2137 }
2138 2138
2139 -  
2140 -  
2141 -  
2142 // // private function validarStrSinGerarPendenciaRN0901(ProcedimentoDTO $objProcedimentoDTO, InfraException $objInfraException){ 2139 // // private function validarStrSinGerarPendenciaRN0901(ProcedimentoDTO $objProcedimentoDTO, InfraException $objInfraException){
2143 // // if (InfraString::isBolVazia($objProcedimentoDTO->getStrSinGerarPendencia())){ 2140 // // if (InfraString::isBolVazia($objProcedimentoDTO->getStrSinGerarPendencia())){
2144 // // $objInfraException->adicionarValidacao('Sinalizador de geração de andamento automático não informado.'); 2141 // // $objInfraException->adicionarValidacao('Sinalizador de geração de andamento automático não informado.');
rn/PenAtualizadorRN.php
@@ -12,7 +12,8 @@ abstract class PenAtualizadorRN extends InfraRN { @@ -12,7 +12,8 @@ abstract class PenAtualizadorRN extends InfraRN {
12 const VER_003 = '0.0.3'; 12 const VER_003 = '0.0.3';
13 const VER_004 = '0.0.4'; 13 const VER_004 = '0.0.4';
14 const VER_005 = '0.0.5'; 14 const VER_005 = '0.0.5';
15 - 15 + const VER_006 = '0.0.6';
  16 +
16 protected $sei_versao; 17 protected $sei_versao;
17 18
18 /** 19 /**
rn/PenAtualizarSeiRN.php
@@ -893,4 +893,11 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -893,4 +893,11 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
893 $fnAtualizar('PEN_PROCESSO_RECEBIDO', 'Processo recebido da unidade externa @ENTIDADE_ORIGEM@ - @ENTIDADE_ORIGEM_HIRARQUIA@ - @REPOSITORIO_ORIGEM@'); 893 $fnAtualizar('PEN_PROCESSO_RECEBIDO', 'Processo recebido da unidade externa @ENTIDADE_ORIGEM@ - @ENTIDADE_ORIGEM_HIRARQUIA@ - @REPOSITORIO_ORIGEM@');
894 $fnAtualizar('PEN_OPERACAO_EXTERNA', 'Tramitação externa do processo @PROTOCOLO_FORMATADO@ concluída com sucesso. Recebido em @UNIDADE_DESTINO@ - @UNIDADE_DESTINO_HIRARQUIA@ - @REPOSITORIO_DESTINO@'); 894 $fnAtualizar('PEN_OPERACAO_EXTERNA', 'Tramitação externa do processo @PROTOCOLO_FORMATADO@ concluída com sucesso. Recebido em @UNIDADE_DESTINO@ - @UNIDADE_DESTINO_HIRARQUIA@ - @REPOSITORIO_DESTINO@');
895 } 895 }
  896 +
  897 + protected function instalarV006R004S004WI001() {
  898 + $objInfraParametro = new InfraParametro($this->getObjInfraIBanco());
  899 + $objInfraParametro->setValor('PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO', 50);
  900 +
  901 + }
  902 +
896 } 903 }
897 \ No newline at end of file 904 \ No newline at end of file
rn/ProcedimentoAndamentoRN.php
@@ -75,36 +75,17 @@ class ProcedimentoAndamentoRN extends InfraRN { @@ -75,36 +75,17 @@ class ProcedimentoAndamentoRN extends InfraRN {
75 $hash = md5($this->dblIdProcedimento.$strMensagem); 75 $hash = md5($this->dblIdProcedimento.$strMensagem);
76 76
77 $objProcedimentoAndamentoDTO = new ProcedimentoAndamentoDTO(); 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);
78 $objProcedimentoAndamentoDTO->setStrHash($hash); 84 $objProcedimentoAndamentoDTO->setStrHash($hash);
79 - $objProcedimentoAndamentoDTO->retTodos();  
80 -  
81 - $objProcedimentoAndamentoBD = new ProcedimentoAndamentoBD($objInfraIBanco);  
82 - $objProcedimentoAndamentoDTO = $objProcedimentoAndamentoBD->consultar($objProcedimentoAndamentoDTO);  
83 - 85 + $objProcedimentoAndamentoDTO->setNumTarefa($this->numTarefa);
84 86
85 - // achou um registro, então atualiza o log  
86 - /* if(!empty($objProcedimentoAndamentoDTO)) {  
87 -  
88 - $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao);  
89 - $objProcedimentoAndamentoDTO->setDthData(date('d/m/Y H:i:s'));  
90 -  
91 - $objProcedimentoAndamentoBD->alterar($objProcedimentoAndamentoDTO);  
92 - }  
93 - // Senão cadastra um novo log  
94 - else { */  
95 -  
96 - $objProcedimentoAndamentoDTO = new ProcedimentoAndamentoDTO();  
97 - $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao);  
98 - $objProcedimentoAndamentoDTO->setDthData(date('d/m/Y H:i:s'));  
99 - $objProcedimentoAndamentoDTO->setDblIdProcedimento($this->dblIdProcedimento);  
100 - $objProcedimentoAndamentoDTO->setDblIdTramite($this->dblIdTramit);  
101 - $objProcedimentoAndamentoDTO->setStrSituacao($strSituacao);  
102 - $objProcedimentoAndamentoDTO->setStrMensagem($strMensagem);  
103 - $objProcedimentoAndamentoDTO->setStrHash($hash);  
104 - $objProcedimentoAndamentoDTO->setNumTarefa($this->numTarefa);  
105 -  
106 - $objProcedimentoAndamentoBD->cadastrar($objProcedimentoAndamentoDTO);  
107 - // } 87 + $objProcedimentoAndamentoBD = new ProcedimentoAndamentoBD($objInfraIBanco);
  88 + $objProcedimentoAndamentoBD->cadastrar($objProcedimentoAndamentoDTO);
108 89
109 $objInfraIBanco->confirmarTransacao(); 90 $objInfraIBanco->confirmarTransacao();
110 } 91 }