From 03e7958d5bd30bb57421cbc82bab80066238186f Mon Sep 17 00:00:00 2001 From: Guilherme Andrade Del Cantoni Date: Tue, 13 Mar 2018 08:41:47 -0300 Subject: [PATCH] Ajuste em procedimentos de atualização e correção de versão do módulo --- rn/PenAtualizarSeiRN.php | 94 +++++++++++++++++++++++++++++++++++----------------------------------------------------------- sip_atualizar_versao_modulo_pen.php | 74 ++++++++++++++++++++++++++++++++++++-------------------------------------- 2 files changed, 71 insertions(+), 97 deletions(-) diff --git a/rn/PenAtualizarSeiRN.php b/rn/PenAtualizarSeiRN.php index 8b5312a..773e2b1 100644 --- a/rn/PenAtualizarSeiRN.php +++ b/rn/PenAtualizarSeiRN.php @@ -6,7 +6,8 @@ */ class PenAtualizarSeiRN extends PenAtualizadorRN { - private $nomeParametroModulo = 'PEN_VERSAO_MODULO_SEI'; + const PARAMETRO_VERSAO_MODULO_ANTIGO = 'PEN_VERSAO_MODULO_SEI'; + const PARAMETRO_VERSAO_MODULO = 'VERSAO_MODULO_PEN'; public function __construct() { parent::__construct(); @@ -32,31 +33,26 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { } BancoSEI::getInstance()->executarSql('DROP TABLE pen_sei_teste'); - - $objInfraParametro = new InfraParametro($this->objInfraBanco); - - //$strVersaoAtual = $objInfraParametro->getValor('SEI_VERSAO', false); - $strVersaoModuloPen = $objInfraParametro->getValor($this->nomeParametroModulo, false); + $objInfraParametro = new InfraParametro($this->objInfraBanco); - //VERIFICANDO QUAL VERSAO DEVE SER INSTALADA NESTA EXECUCAO - if (InfraString::isBolVazia($strVersaoModuloPen)) { - //nao tem nenhuma versao ainda, instalar todas - $this->instalarV100(); - $this->instalarV101(); - $this->instalarV102(); - } else if ($strVersaoModuloPen == '1.0.0') { - $this->instalarV101(); - $this->instalarV102(); - } else if ($strVersaoModuloPen == '1.0.1') { - $this->instalarV102(); - } else if ($strVersaoModuloPen == '1.1.0') { - + // Aplicação de scripts de atualização de forma incremental + // Ausência de [break;] proposital para realizar a atualização incremental de versões + $strVersaoModuloPen = $objInfraParametro->getValor(self::PARAMETRO_VERSAO_MODULO_ANTIGO, false); + switch ($strVersaoModuloPen) { + case '': $this->instalarV100(); // Nenhuma versão instalada + case '1.0.0': $this->instalarV101(); + case '1.0.1': $this->instalarV110(); + case '1.1.0': $this->instalarV111(); + + break; + default: + $this->finalizar('VERSAO DO MÓDULO JÁ CONSTA COMO ATUALIZADA'); + break; } $this->finalizar('FIM'); InfraDebug::getInstance()->setBolDebugInfra(true); } catch (Exception $e) { - InfraDebug::getInstance()->setBolLigado(false); InfraDebug::getInstance()->setBolDebugInfra(false); InfraDebug::getInstance()->setBolEcho(false); @@ -64,7 +60,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { } } - /** * Cria um novo parâmetro * @return int Código do Parametro gerado @@ -918,15 +913,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objInfraSequencia->criarSequencia('md_pen_recibo_tramite_hash', '1', '1', '9999999999'); } - - /* ---------- antigo método (instalarV008R004S006WI001) ---------- */ -// $objMetaBD = $this->inicializarObjMetaBanco(); -// $objMetaBD->alterarColuna('md_pen_recibo_tramite', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO); -// $objMetaBD->alterarColuna('md_pen_recibo_tramite_enviado', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO); -// $objMetaBD->alterarColuna('md_pen_recibo_tramite_recebido', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO); - + $objInfraParametroDTO = new InfraParametroDTO(); - $objInfraParametroDTO->setStrNome($this->nomeParametroModulo); + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO); $objInfraParametroDTO->setStrValor('1.0.0'); $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); @@ -997,33 +986,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); $objHipoteseLegalDTO->retNumIdHipoteseLegal(); $objHipoteseLegalDTO->retStrNome(); - - /* $objHipoteseLegalBD = new HipoteseLegalBD($this->inicializarObjInfraIBanco()); - $arrMapIdHipoteseLegal = InfraArray::converterArrInfraDTO($objHipoteseLegalBD->listar($objHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); - - if(!empty($arrMapIdHipoteseLegal)) { - - $objPenHipoteseLegalDTO = new PenHipoteseLegalDTO(); - $objPenHipoteseLegalBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco()); - - $fnCadastrar = function($numIdHipoteseLegal, $strNome = '') use($objPenHipoteseLegalDTO, $objPenHipoteseLegalBD){ - - $objPenHipoteseLegalDTO->unSetTodos(); - $objPenHipoteseLegalDTO->setNumIdHipoteseLegal($numIdHipoteseLegal); - - if($objPenHipoteseLegalBD->contar($objPenHipoteseLegalDTO) == 0){ - - $objPenHipoteseLegalDTO->setStrAtivo('S'); - $objPenHipoteseLegalDTO->setStrNome($strNome); - $objPenHipoteseLegalBD->cadastrar($objPenHipoteseLegalDTO); - } - }; - - foreach($arrMapIdHipoteseLegal as $numIdHipoteseLegal => $strNome) { - - $fnCadastrar($numIdHipoteseLegal, $strNome); - } - }*/ $objMetaBD = $this->inicializarObjMetaBanco(); @@ -1060,7 +1022,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { /* altera o parâmetro da versão de banco */ $objInfraParametroDTO = new InfraParametroDTO(); - $objInfraParametroDTO->setStrNome($this->nomeParametroModulo); + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO); $objInfraParametroDTO->setStrValor('1.0.0'); $objInfraParametroDTO->retTodos(); @@ -1071,7 +1033,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { } /* Contem atualizações da versao 1.1.0 do modulo */ - protected function instalarV102() { + protected function instalarV110() { $objMetaBD = $this->objMeta; //Adiciona a coluna de indentificação nas hipóteses que vem do barramento @@ -1123,7 +1085,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { /* altera o parâmetro da versão de banco */ $objInfraParametroDTO = new InfraParametroDTO(); - $objInfraParametroDTO->setStrNome($this->nomeParametroModulo); + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO); $objInfraParametroDTO->setStrValor('1.0.1'); $objInfraParametroDTO->retTodos(); $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); @@ -1132,4 +1094,18 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objInfraParametroBD->alterar($objInfraParametroDTO); } + /* Contem atualizações da versao 1.1.1 do módulo */ + protected function instalarV111() { + + + /* altera o parâmetro da versão de banco */ + $objInfraParametroDTO = new InfraParametroDTO(); + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO); + $objInfraParametroDTO->retTodos(); + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); + $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO); + $objInfraParametroDTO->setStrValor('1.1.1'); + $objInfraParametroBD->alterar($objInfraParametroDTO); + } + } diff --git a/sip_atualizar_versao_modulo_pen.php b/sip_atualizar_versao_modulo_pen.php index a9bfecf..6cd9bae 100644 --- a/sip_atualizar_versao_modulo_pen.php +++ b/sip_atualizar_versao_modulo_pen.php @@ -530,12 +530,6 @@ class PenAtualizarSipRN extends PenAtualizadorRN { try { $this->inicializar('INICIANDO ATUALIZACAO DO MODULO PEN NO SIP VERSAO 1.0.0'); - //testando versao do framework -// $numVersaoInfraRequerida = '1.415'; -// if (VERSAO_INFRA >= $numVersaoInfraRequerida) { -// $this->finalizar('VERSAO DO FRAMEWORK PHP INCOMPATIVEL (VERSAO ATUAL ' . VERSAO_INFRA . ', VERSAO REQUERIDA ' . $numVersaoInfraRequerida . ')', true); -// } - //testando se esta usando BDs suportados if (!(BancoSip::getInstance() instanceof InfraMySql) && !(BancoSip::getInstance() instanceof InfraSqlServer) && @@ -556,39 +550,24 @@ class PenAtualizarSipRN extends PenAtualizadorRN { $objInfraParametro = new InfraParametro($this->objInfraBanco); - //$strVersaoAtual = $objInfraParametro->getValor('SEI_VERSAO', false); - $strVersaoModuloPen = $objInfraParametro->getValor($this->sip_versao, false); - - //VERIFICANDO QUAL VERSAO DEVE SER INSTALADA NESTA EXECUCAO - if (InfraString::isBolVazia($strVersaoModuloPen)) { - $this->instalarV100(); - $this->instalarV101(); - $this->instalarV102(); - $this->instalarV103(); - $this->instalarV104(); - } else { - switch ($strVersaoModuloPen) { - case '1.0.0': - $this->instalarV101(); - $this->instalarV102(); - $this->instalarV103(); - $this->instalarV104(); - break; - case '1.0.1': - $this->instalarV102(); - $this->instalarV103(); - $this->instalarV104(); - break; - - case '1.0.2': //Remover depois de usar - $this->instalarV103(); - $this->instalarV104(); - break; - case '1.0.3': //Remover depois de usar - $this->instalarV104(); - break; - } + // Aplicação de scripts de atualização de forma incremental + // Ausência de [break;] proposital para realizar a atualização incremental de versões + $strVersaoModuloPen = $objInfraParametro->getValor($this->nomeParametroModulo, false); + switch ($strVersaoModuloPen) { + //case '' - Nenhuma versão instalada + case '': $this->instalarV100(); + case '1.0.0': $this->instalarV101(); + case '1.0.1': $this->instalarV102(); + case '1.0.2': $this->instalarV103(); + case '1.0.3': $this->instalarV104(); + case '1.0.4': $this->instalarV111(); + + break; + default: + $this->finalizar('VERSAO DO MÓDULO JÁ CONSTA COMO ATUALIZADA'); + break; + } $this->finalizar('FIM'); @@ -1348,6 +1327,25 @@ class PenAtualizarSipRN extends PenAtualizadorRN { $objInfraParametroDTO->setStrValor('1.0.4'); $objInfraParametroBD->alterar($objInfraParametroDTO); } + + /** + * Instala/Atualiza os módulo PEN para versão 1.1.1 + */ + protected function instalarV111() { + + //Ajuste em nome da variável de versão do módulo VERSAO_MODULO_PEN + //... + + + /* Corrigir a versão do módulo no banco de dados */ + $objInfraParametroDTO = new InfraParametroDTO(); + $objInfraParametroDTO->setStrNome($this->sip_versao); + $objInfraParametroDTO->retTodos(); + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); + $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO); + $objInfraParametroDTO->setStrValor('1.1.1'); + $objInfraParametroBD->alterar($objInfraParametroDTO); + } } try { -- libgit2 0.21.2