Commit 2fc5620fe59c036218b93e4a53a063b9b9475729

Authored by Guilherme Andrade Del Cantoni
1 parent d2ba572a

[Fixed #47] Correção de problema com mapeamento de espécies documentais

fixed #32
dto/ComponenteDigitalDTO.php
... ... @@ -23,11 +23,13 @@ class ComponenteDigitalDTO extends InfraDTO {
23 23 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'MimeType', 'mime_type');
24 24 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'DadosComplementares', 'dados_complementares');
25 25 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'Tamanho', 'tamanho');
  26 + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'CodigoEspecie', 'codigo_especie');
  27 + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'NomeEspecieProdutor', 'nome_especie_produtor');
26 28 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'Ordem', 'ordem');
27   - $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'SinEnviar', 'sin_enviar');
  29 + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'SinEnviar', 'sin_enviar');
28 30  
29 31 $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, 'TicketEnvioComponentes', 'ticket_envio_componentes', 'md_pen_tramite');
30   - $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'ConteudoAssinaturaDocumento', 'conteudo_assinatura', 'documento_conteudo');
  32 + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'ConteudoAssinaturaDocumento', 'conteudo_assinatura', 'documento_conteudo');
31 33 $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'ProtocoloDocumentoFormatado', 'protocolo_formatado', 'protocolo');
32 34 $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'StaEstadoProtocolo', 'sta_estado', 'protocolo');
33 35  
... ... @@ -35,9 +37,9 @@ class ComponenteDigitalDTO extends InfraDTO {
35 37 $this->configurarPK('IdDocumento', InfraDTO::$TIPO_PK_INFORMADO);
36 38  
37 39 $this->configurarFK('NumeroRegistro', 'md_pen_tramite', 'numero_registro', InfraDTO::$TIPO_FK_OBRIGATORIA);
38   - $this->configurarFK('IdTramite', 'md_pen_tramite', 'id_tramite', InfraDTO::$TIPO_FK_OBRIGATORIA);
  40 + $this->configurarFK('IdTramite', 'md_pen_tramite', 'id_tramite', InfraDTO::$TIPO_FK_OBRIGATORIA);
39 41 $this->configurarFK('IdDocumento', 'documento', 'id_documento', InfraDTO::$TIPO_FK_OBRIGATORIA);
40 42 $this->configurarFK('IdDocumento', 'protocolo', 'id_protocolo', InfraDTO::$TIPO_FK_OBRIGATORIA);
41 43 $this->configurarFK('IdDocumento', 'documento_conteudo', 'id_documento', InfraDTO::$TIPO_FK_OBRIGATORIA);
42 44 }
43   -}
44 45 \ No newline at end of file
  46 +}
... ...
dto/TramiteDTO.php
... ... @@ -30,7 +30,7 @@ class TramiteDTO extends InfraDTO {
30 30 $this->configurarPK('IdTramite', InfraDTO::$TIPO_PK_INFORMADO);
31 31  
32 32 $this->configurarFK('NumeroRegistro', 'md_pen_tramite', 'numero_registro', InfraDTO::$TIPO_FK_OBRIGATORIA);
33   - $this->configurarFK('NumeroRegistro', 'md_pen_processo_eletronico pe', 'pe.numero_registro');
  33 + $this->configurarFK('NumeroRegistro', 'md_pen_processo_eletronico', 'numero_registro');
34 34 $this->configurarFK('IdUsuario', 'usuario u', 'u.id_usuario');
35 35 $this->configurarFK('IdUnidade', 'unidade u', 'u.id_unidade');
36 36 }
... ...
rn/ExpedirProcedimentoRN.php
... ... @@ -114,6 +114,7 @@ class ExpedirProcedimentoRN extends InfraRN {
114 114 $this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_VALIDACAO);
115 115 $this->barraProgresso->setStrRotulo(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_VALIDACAO);
116 116  
  117 +
117 118 //Valida regras de negócio
118 119 $objInfraException = new InfraException();
119 120 //Carregamento dos dados de processo e documento para validação e envio externo
... ... @@ -133,11 +134,14 @@ class ExpedirProcedimentoRN extends InfraRN {
133 134 $this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_PROCEDIMENTO);
134 135 $this->barraProgresso->setStrRotulo(sprintf(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_PROCEDIMENTO, $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado()));
135 136  
  137 + //Busca metadados do processo registrado em trâmite anterior
  138 + $objMetadadosProcessoTramiteAnterior = $this->consultarMetadadosPEN($dblIdProcedimento);
  139 +
136 140 //Construo dos cabecalho para envio do processo
137 141 $objCabecalho = $this->construirCabecalho($objExpedirProcedimentoDTO);
138 142  
139 143 //Construção do processo para envio
140   - $objProcesso = $this->construirProcesso($dblIdProcedimento, $objExpedirProcedimentoDTO->getArrIdProcessoApensado());
  144 + $objProcesso = $this->construirProcesso($dblIdProcedimento, $objExpedirProcedimentoDTO->getArrIdProcessoApensado(), $objMetadadosProcessoTramiteAnterior);
141 145  
142 146 $param = new stdClass();
143 147 $param->novoTramiteDeProcesso = new stdClass();
... ... @@ -237,6 +241,43 @@ class ExpedirProcedimentoRN extends InfraRN {
237 241 }
238 242 }
239 243  
  244 + /**
  245 + * Busca metadados do processo registrado no Barramento de Serviços do PEN em trâmites anteriores
  246 + * @return stdClass Metadados do Processo
  247 + */
  248 + private function consultarMetadadosPEN($parDblIdProcedimento)
  249 + {
  250 + $objMetadadosProtocolo = null;
  251 +
  252 + try{
  253 + $objTramiteDTO = new TramiteDTO();
  254 + $objTramiteDTO->setNumIdProcedimento($parDblIdProcedimento);
  255 + $objTramiteDTO->setStrStaTipoTramite(ProcessoEletronicoRN::$STA_TIPO_TRAMITE_RECEBIMENTO);
  256 + $objTramiteDTO->setOrd('IdTramite', InfraDTO::$TIPO_ORDENACAO_DESC);
  257 + $objTramiteDTO->setNumMaxRegistrosRetorno(1);
  258 + $objTramiteDTO->retNumIdTramite();
  259 +
  260 + $objTramiteBD = new TramiteBD($this->getObjInfraIBanco());
  261 + $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO);
  262 + if(isset($objTramiteDTO)) {
  263 + $parNumIdentificacaoTramite = $objTramiteDTO->getNumIdTramite();
  264 + $objRetorno = $this->objProcessoEletronicoRN->solicitarMetadados($parNumIdentificacaoTramite);
  265 +
  266 + if(isset($objRetorno)){
  267 + $objMetadadosProtocolo = $objRetorno->metadados;
  268 + }
  269 + }
  270 + }
  271 + catch(Exception $e){
  272 + //Em caso de falha na comunicação com o barramento neste ponto, o procedimento deve serguir em frente considerando
  273 + //que os metadados do protocolo não pode ser obtida
  274 + $objMetadadosProtocolo = null;
  275 + LogSEI::getInstance()->gravar("Falha na obtenção dos metadados de trâmites anteriores do processo ($parDblIdProcedimento) durante trâmite externo.");
  276 + throw $e;
  277 + }
  278 +
  279 + return $objMetadadosProtocolo;
  280 + }
240 281  
241 282 public function listarRepositoriosDeEstruturas()
242 283 {
... ... @@ -363,13 +404,12 @@ class ExpedirProcedimentoRN extends InfraRN {
363 404 );
364 405 }
365 406  
366   - private function construirProcesso($dblIdProcedimento, $arrIdProcessoApensado = null)
  407 + private function construirProcesso($dblIdProcedimento, $arrIdProcessoApensado=null, $parObjMetadadosTramiteAnterior=null)
367 408 {
368 409 if(!isset($dblIdProcedimento)){
369 410 throw new InfraException('Parâmetro $dblIdProcedimento não informado.');
370 411 }
371 412  
372   - //TODO: Passar dados do ProcedimentoDTO via parâmetro j carregado anteriormente
373 413 $objProcedimentoDTO = $this->consultarProcedimento($dblIdProcedimento);
374 414 $objPenRelHipoteseLegalRN = new PenRelHipoteseLegalEnvioRN();
375 415  
... ... @@ -386,7 +426,7 @@ class ExpedirProcedimentoRN extends InfraRN {
386 426  
387 427 $this->atribuirProdutorProcesso($objProcesso, $objProcedimentoDTO->getNumIdUsuarioGeradorProtocolo(), $objProcedimentoDTO->getNumIdUnidadeGeradoraProtocolo());
388 428 $this->atribuirDataHoraDeRegistro($objProcesso, $objProcedimentoDTO->getDblIdProcedimento());
389   - $this->atribuirDocumentos($objProcesso, $dblIdProcedimento);
  429 + $this->atribuirDocumentos($objProcesso, $dblIdProcedimento, $parObjMetadadosTramiteAnterior);
390 430 $this->atribuirDadosInteressados($objProcesso, $dblIdProcedimento);
391 431 $this->adicionarProcessosApensados($objProcesso, $arrIdProcessoApensado);
392 432  
... ... @@ -754,7 +794,7 @@ class ExpedirProcedimentoRN extends InfraRN {
754 794 }
755 795 }
756 796  
757   - private function atribuirDocumentos($objProcesso, $dblIdProcedimento)
  797 + private function atribuirDocumentos($objProcesso, $dblIdProcedimento, $parObjMetadadosTramiteAnterior)
758 798 {
759 799 if(!isset($objProcesso)) {
760 800 throw new InfraException('Parâmetro $objProcesso não informado.');
... ... @@ -827,10 +867,8 @@ class ExpedirProcedimentoRN extends InfraRN {
827 867 $documento->produtor->numeroDeIdentificacao = $documentoDTO->getStrProtocoloDocumentoFormatado(); //TODO: Avaliar se informação está correta
828 868  
829 869 $this->atribuirDataHoraDeRegistro($documento, $documentoDTO->getDblIdProcedimento(), $documentoDTO->getDblIdDocumento());
830   - //TODO: Implementar mapeamento de espécies documentais
831   - $documento->especie = new stdClass();
832   - $documento->especie->codigo = $this->obterEspecieMapeada($documentoDTO->getNumIdSerie());
833   - $documento->especie->nomeNoProdutor = utf8_encode($documentoDTO->getStrNomeSerie());
  870 + $this->atribuirEspecieDocumental($documento, $documentoDTO, $parObjMetadadosTramiteAnterior);
  871 +
834 872 //TODO: Tratar campos adicionais do documento
835 873 //Identificao do documento
836 874 $this->atribuirNumeracaoDocumento($documento, $documentoDTO);
... ... @@ -888,6 +926,91 @@ class ExpedirProcedimentoRN extends InfraRN {
888 926  
889 927 }
890 928  
  929 + /**
  930 + * Obtém a espécie documental relacionada ao documento do processo.
  931 + * A espécie documental, por padrão, é obtida do mapeamento de espécies realizado pelo administrador
  932 + * nas configurações do módulo.
  933 + * Caso o documento tenha sido produzido por outro órgão externamente, a espécie a ser considerada será
  934 + * aquela definida originalmente pelo seu produtor
  935 + *
  936 + * @param int $parDblIdProcedimento Identificador do processo
  937 + * @param int $parDblIdDocumento Identificador do documento
  938 + * @return int Código da espécie documental
  939 + *
  940 + */
  941 + private function atribuirEspecieDocumental($parMetaDocumento, $parDocumentoDTO, $parObjMetadadosTramiteAnterior)
  942 + {
  943 + //Validação dos parâmetros da função
  944 + if(!isset($parDocumentoDTO)){
  945 + throw new InfraException('Parâmetro $parDocumentoDTO não informado.');
  946 + }
  947 +
  948 + if(!isset($parMetaDocumento)){
  949 + throw new InfraException('Parâmetro $parMetaDocumento não informado.');
  950 + }
  951 +
  952 + $numCodigoEspecie = null;
  953 + $strNomeEspecieProdutor = null;
  954 + $dblIdProcedimento = $parDocumentoDTO->getDblIdProcedimento();
  955 + $dblIdDocumento = $parDocumentoDTO->getDblIdDocumento();
  956 +
  957 + //Inicialmente, busca espécie documental atribuida pelo produtor em trâmite realizado anteriormente
  958 + $objComponenteDigitalDTO = new ComponenteDigitalDTO();
  959 + $objComponenteDigitalDTO->retNumCodigoEspecie();
  960 + $objComponenteDigitalDTO->retStrNomeEspecieProdutor();
  961 + $objComponenteDigitalDTO->setDblIdProcedimento($dblIdProcedimento);
  962 + $objComponenteDigitalDTO->setDblIdDocumento($dblIdDocumento);
  963 + $objComponenteDigitalDTO->setNumMaxRegistrosRetorno(1);
  964 + $objComponenteDigitalDTO->setOrd('IdTramite', InfraDTO::$TIPO_ORDENACAO_DESC);
  965 +
  966 + $objComponenteDigitalBD = new ComponenteDigitalBD(BancoSEI::getInstance());
  967 + $objComponenteDigitalDTO = $objComponenteDigitalBD->consultar($objComponenteDigitalDTO);
  968 +
  969 + if($objComponenteDigitalDTO != null){
  970 + $numCodigoEspecie = $objComponenteDigitalDTO->getNumCodigoEspecie();
  971 + $strNomeEspecieProdutor = $objComponenteDigitalDTO->getStrNomeEspecieProdutor();
  972 + }
  973 +
  974 + //Caso a informação sobre mapeamento esteja nulo, necessário buscar tal informação no Barramento
  975 + //A lista de documentos recuperada do trâmite anterior será indexada pela sua ordem no protocolo e
  976 + //a espécie documental e o nome no produtar serão obtidos para atribuição ao documento
  977 + if($objComponenteDigitalDTO != null && $numCodigoEspecie == null) {
  978 + if(isset($parObjMetadadosTramiteAnterior)){
  979 + $arrObjMetaDocumentosTramiteAnterior = [];
  980 +
  981 + //Obtenção de lista de documentos do processo
  982 + $arrObjMetaDocumentosTramiteAnterior = $parObjMetadadosTramiteAnterior->processo->documento;
  983 + if(isset($arrObjMetaDocumentosTramiteAnterior) && !is_array($arrObjMetaDocumentosTramiteAnterior)){
  984 + $arrObjMetaDocumentosTramiteAnterior = array($arrObjMetaDocumentosTramiteAnterior);
  985 + }
  986 +
  987 + //Indexação dos documentos pela sua ordem
  988 + $arrMetaDocumentosAnteriorIndexado = [];
  989 + foreach ($arrObjMetaDocumentosTramiteAnterior as $objMetaDoc) {
  990 + $arrMetaDocumentosAnteriorIndexado[$objMetaDoc->ordem] = $objMetaDoc;
  991 + }
  992 +
  993 + //Atribui espécie documental definida pelo produtor do documento e registrado no PEN, caso exista
  994 + if(count($arrMetaDocumentosAnteriorIndexado) > 0 && array_key_exists($parMetaDocumento->ordem, $arrMetaDocumentosAnteriorIndexado)){
  995 + $numCodigoEspecie = $arrMetaDocumentosAnteriorIndexado[$parMetaDocumento->ordem]->especie->codigo;
  996 + $strNomeEspecieProdutor = utf8_encode($arrMetaDocumentosAnteriorIndexado[$parMetaDocumento->ordem]->especie->nomeNoProdutor);
  997 + }
  998 + }
  999 + }
  1000 +
  1001 + //Aplica o mapeamento de espécies definida pelo administrador para os novos documentos
  1002 + if($numCodigoEspecie == null) {
  1003 + $numCodigoEspecie = $this->obterEspecieMapeada($parDocumentoDTO->getNumIdSerie());
  1004 + $strNomeEspecieProdutor = utf8_encode($parDocumentoDTO->getStrNomeSerie());
  1005 + }
  1006 +
  1007 + $parMetaDocumento->especie = new stdClass();
  1008 + $parMetaDocumento->especie->codigo = $numCodigoEspecie;
  1009 + $parMetaDocumento->especie->nomeNoProdutor = $strNomeEspecieProdutor;
  1010 +
  1011 + return $parMetaDocumento;
  1012 + }
  1013 +
891 1014 private function obterEspecieMapeada($parNumIdSerie)
892 1015 {
893 1016 if(!isset($parNumIdSerie) || $parNumIdSerie == 0) {
... ...
rn/PenAtualizarSeiRN.php
... ... @@ -66,6 +66,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
66 66 case '1.1.15': $this->instalarV1116();
67 67 case '1.1.16': $this->instalarV1117();
68 68 case '1.1.17': $this->instalarV1200();
  69 + case '1.2.0': $this->instalarV1201();
69 70  
70 71 break;
71 72 default:
... ... @@ -1533,4 +1534,22 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
1533 1534 $objInfraParametroDTO->setStrValor('1.2.0');
1534 1535 $objInfraParametroBD->alterar($objInfraParametroDTO);
1535 1536 }
  1537 +
  1538 + /* Contêm atualizações da versao 1.2.1 do módulo */
  1539 + protected function instalarV1201()
  1540 + {
  1541 + //Fix-47 - Corrigir erro com mapeamento de espécies documentais da origem
  1542 + $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
  1543 + $objInfraMetaBD->adicionarColuna('md_pen_componente_digital', 'codigo_especie', $objInfraMetaBD->tipoNumero(), 'null');
  1544 + $objInfraMetaBD->adicionarColuna('md_pen_componente_digital', 'nome_especie_produtor', $objInfraMetaBD->tipoTextoVariavel(255), 'null');
  1545 +
  1546 +
  1547 + //altera o parâmetro da versão de banco
  1548 + $objInfraParametroBD = new InfraParametroBD(BancoSEI::getInstance());
  1549 + $objInfraParametroDTO = new InfraParametroDTO();
  1550 + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO);
  1551 + $objInfraParametroDTO->setStrValor('1.2.1');
  1552 + $objInfraParametroBD->alterar($objInfraParametroDTO);
  1553 + }
  1554 +
1536 1555 }
... ...
rn/ProcessoEletronicoRN.php
... ... @@ -60,7 +60,7 @@ class ProcessoEletronicoRN extends InfraRN {
60 60 /**
61 61 * Espécie documentoal não mapeada
62 62 */
63   - const MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA = '03';
  63 + const MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA = '04';
64 64  
65 65 /**
66 66 * Motivo para recusar de tramite de componente digital
... ... @@ -404,13 +404,18 @@ class ProcessoEletronicoRN extends InfraRN {
404 404 {
405 405 try {
406 406 return $this->getObjPenWs()->enviarProcesso($parametros);
407   - } catch (\Exception $e) {
408   - $mensagem = "Falha no envio externo do processo. Verifique log de erros do sistema para maiores informações.";
409   - $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  407 +
  408 + } catch (\SoapFault $e) {
  409 + $mensagem = "Falha no envio externo do processo: ";
  410 + $mensagem .= InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
410 411 if ($e instanceof \SoapFault && !empty($e->detail->interoperabilidadeException->codigoErro) && $e->detail->interoperabilidadeException->codigoErro == '0005') {
411   - $detalhes = 'O código mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' está incorreto.';
  412 + $mensagem .= 'O código mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' está incorreto.';
412 413 }
413 414  
  415 + throw new InfraException($mensagem, $e);
  416 + } catch (\Exception $e) {
  417 + $mensagem = "Falha no envio externo do processo. Verifique log de erros do sistema para maiores informações.";
  418 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
414 419 throw new InfraException($mensagem, $e, $detalhes);
415 420 }
416 421 }
... ... @@ -807,6 +812,11 @@ class ProcessoEletronicoRN extends InfraRN {
807 812 $objComponenteDigital = $objDocumento->componenteDigital;
808 813 $objComponenteDigitalDTO->setStrNome($objComponenteDigital->nome);
809 814  
  815 + if(isset($objDocumento->especie)){
  816 + $objComponenteDigitalDTO->setNumCodigoEspecie(intval($objDocumento->especie->codigo));
  817 + $objComponenteDigitalDTO->setStrNomeEspecieProdutor($objDocumento->especie->nomeNoProdutor);
  818 + }
  819 +
810 820 $strHashConteudo = static::getHashFromMetaDados($objComponenteDigital->hash);
811 821  
812 822 $objComponenteDigitalDTO->setStrHashConteudo($strHashConteudo);
... ...
rn/ReceberComponenteDigitalRN.php
... ... @@ -28,7 +28,7 @@ class ReceberComponenteDigitalRN extends InfraRN
28 28 return BancoSEI::getInstance();
29 29 }
30 30  
31   - protected function receberComponenteDigitalConectado(ComponenteDigitalDTO $parObjComponenteDigitalDTO)
  31 + protected function receberComponenteDigitalControlado(ComponenteDigitalDTO $parObjComponenteDigitalDTO)
32 32 {
33 33  
34 34 if(!isset($parObjComponenteDigitalDTO) || !isset($parObjComponenteDigitalDTO)) {
... ... @@ -120,7 +120,7 @@ class ReceberComponenteDigitalRN extends InfraRN
120 120 $objDocumentoDTO = $objDocumentoRN->consultarRN0005($objDocumentoDTO);
121 121  
122 122 if ($objDocumentoDTO==null){
123   - throw new InfraException("Registro não encontrado.");
  123 + throw new InfraException("Documento não pode ser localizado (".$parObjComponenteDigitalDTO->getDblIdDocumento().")");
124 124 }
125 125  
126 126 $objProtocoloDTO = new ProtocoloDTO();
... ...
rn/ReceberProcedimentoRN.php
... ... @@ -421,15 +421,6 @@ class ReceberProcedimentoRN extends InfraRN
421 421 $objComponenteDigitalDTO->setStrNumeroRegistro($parStrNumeroRegistro);
422 422 $objComponenteDigitalDTO->setNumIdTramite($parNumIdentificacaoTramite);
423 423 $objComponenteDigitalDTO->setStrHashConteudo($parStrHashComponenteDigital);
424   - // $objComponenteDigitalDTO->retDblIdDocumento();
425   - // $objComponenteDigitalDTO->retNumTicketEnvioComponentes();
426   - // $objComponenteDigitalDTO->retStrProtocoloDocumentoFormatado();
427   - // $objComponenteDigitalDTO->retStrHashConteudo();
428   - // $objComponenteDigitalDTO->retStrProtocolo();
429   - // $objComponenteDigitalDTO->retStrNumeroRegistro();
430   - // $objComponenteDigitalDTO->retNumIdTramite();
431   - // $objComponenteDigitalDTO->retStrNome();
432   - // $objComponenteDigitalDTO->retStrStaEstadoProtocolo();
433 424  
434 425 $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco());
435 426 return $objComponenteDigitalBD->contar($objComponenteDigitalDTO) > 0;
... ...
sip_atualizar_versao_modulo_pen.php
... ... @@ -101,6 +101,7 @@ class PenAtualizarSipRN extends InfraRN {
101 101 case '1.1.15': $this->instalarV1116();
102 102 case '1.1.16': $this->instalarV1117();
103 103 case '1.1.17': $this->instalarV1200();
  104 + case '1.1.20': $this->instalarV1201();
104 105  
105 106 break;
106 107 default:
... ... @@ -1135,6 +1136,21 @@ class PenAtualizarSipRN extends InfraRN {
1135 1136 $objInfraParametroDTO->setStrValor('1.2.0');
1136 1137 $objInfraParametroBD->alterar($objInfraParametroDTO);
1137 1138 }
  1139 +
  1140 + /**
  1141 + * Instala/Atualiza os módulo PEN para versão 1.2.1
  1142 + */
  1143 + protected function instalarV1201()
  1144 + {
  1145 + //Corrigir a versão do módulo no banco de dados
  1146 + $objInfraParametroDTO = new InfraParametroDTO();
  1147 + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO);
  1148 + $objInfraParametroDTO->retTodos();
  1149 + $objInfraParametroBD = new InfraParametroBD(BancoSip::getInstance());
  1150 + $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO);
  1151 + $objInfraParametroDTO->setStrValor('1.2.1');
  1152 + $objInfraParametroBD->alterar($objInfraParametroDTO);
  1153 + }
1138 1154 }
1139 1155  
1140 1156 try {
... ...