Commit 03e7958d5bd30bb57421cbc82bab80066238186f

Authored by Guilherme Andrade Del Cantoni
1 parent 30df2ea4

Ajuste em procedimentos de atualização e correção de versão do módulo

rn/PenAtualizarSeiRN.php
@@ -6,7 +6,8 @@ @@ -6,7 +6,8 @@
6 */ 6 */
7 class PenAtualizarSeiRN extends PenAtualizadorRN { 7 class PenAtualizarSeiRN extends PenAtualizadorRN {
8 8
9 - private $nomeParametroModulo = 'PEN_VERSAO_MODULO_SEI'; 9 + const PARAMETRO_VERSAO_MODULO_ANTIGO = 'PEN_VERSAO_MODULO_SEI';
  10 + const PARAMETRO_VERSAO_MODULO = 'VERSAO_MODULO_PEN';
10 11
11 public function __construct() { 12 public function __construct() {
12 parent::__construct(); 13 parent::__construct();
@@ -32,31 +33,26 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -32,31 +33,26 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
32 } 33 }
33 BancoSEI::getInstance()->executarSql('DROP TABLE pen_sei_teste'); 34 BancoSEI::getInstance()->executarSql('DROP TABLE pen_sei_teste');
34 35
35 -  
36 - $objInfraParametro = new InfraParametro($this->objInfraBanco);  
37 -  
38 - //$strVersaoAtual = $objInfraParametro->getValor('SEI_VERSAO', false);  
39 - $strVersaoModuloPen = $objInfraParametro->getValor($this->nomeParametroModulo, false); 36 + $objInfraParametro = new InfraParametro($this->objInfraBanco);
40 37
41 - //VERIFICANDO QUAL VERSAO DEVE SER INSTALADA NESTA EXECUCAO  
42 - if (InfraString::isBolVazia($strVersaoModuloPen)) {  
43 - //nao tem nenhuma versao ainda, instalar todas  
44 - $this->instalarV100();  
45 - $this->instalarV101();  
46 - $this->instalarV102();  
47 - } else if ($strVersaoModuloPen == '1.0.0') {  
48 - $this->instalarV101();  
49 - $this->instalarV102();  
50 - } else if ($strVersaoModuloPen == '1.0.1') {  
51 - $this->instalarV102();  
52 - } else if ($strVersaoModuloPen == '1.1.0') {  
53 - 38 + // Aplicação de scripts de atualização de forma incremental
  39 + // Ausência de [break;] proposital para realizar a atualização incremental de versões
  40 + $strVersaoModuloPen = $objInfraParametro->getValor(self::PARAMETRO_VERSAO_MODULO_ANTIGO, false);
  41 + switch ($strVersaoModuloPen) {
  42 + case '': $this->instalarV100(); // Nenhuma versão instalada
  43 + case '1.0.0': $this->instalarV101();
  44 + case '1.0.1': $this->instalarV110();
  45 + case '1.1.0': $this->instalarV111();
  46 +
  47 + break;
  48 + default:
  49 + $this->finalizar('VERSAO DO MÓDULO JÁ CONSTA COMO ATUALIZADA');
  50 + break;
54 } 51 }
55 52
56 $this->finalizar('FIM'); 53 $this->finalizar('FIM');
57 InfraDebug::getInstance()->setBolDebugInfra(true); 54 InfraDebug::getInstance()->setBolDebugInfra(true);
58 } catch (Exception $e) { 55 } catch (Exception $e) {
59 -  
60 InfraDebug::getInstance()->setBolLigado(false); 56 InfraDebug::getInstance()->setBolLigado(false);
61 InfraDebug::getInstance()->setBolDebugInfra(false); 57 InfraDebug::getInstance()->setBolDebugInfra(false);
62 InfraDebug::getInstance()->setBolEcho(false); 58 InfraDebug::getInstance()->setBolEcho(false);
@@ -64,7 +60,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -64,7 +60,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
64 } 60 }
65 } 61 }
66 62
67 -  
68 /** 63 /**
69 * Cria um novo parâmetro 64 * Cria um novo parâmetro
70 * @return int Código do Parametro gerado 65 * @return int Código do Parametro gerado
@@ -918,15 +913,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -918,15 +913,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
918 913
919 $objInfraSequencia->criarSequencia('md_pen_recibo_tramite_hash', '1', '1', '9999999999'); 914 $objInfraSequencia->criarSequencia('md_pen_recibo_tramite_hash', '1', '1', '9999999999');
920 } 915 }
921 -  
922 - /* ---------- antigo método (instalarV008R004S006WI001) ---------- */  
923 -// $objMetaBD = $this->inicializarObjMetaBanco();  
924 -// $objMetaBD->alterarColuna('md_pen_recibo_tramite', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO);  
925 -// $objMetaBD->alterarColuna('md_pen_recibo_tramite_enviado', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO);  
926 -// $objMetaBD->alterarColuna('md_pen_recibo_tramite_recebido', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO);  
927 - 916 +
928 $objInfraParametroDTO = new InfraParametroDTO(); 917 $objInfraParametroDTO = new InfraParametroDTO();
929 - $objInfraParametroDTO->setStrNome($this->nomeParametroModulo); 918 + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO);
930 $objInfraParametroDTO->setStrValor('1.0.0'); 919 $objInfraParametroDTO->setStrValor('1.0.0');
931 920
932 $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); 921 $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco());
@@ -997,33 +986,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -997,33 +986,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
997 $objHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); 986 $objHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC);
998 $objHipoteseLegalDTO->retNumIdHipoteseLegal(); 987 $objHipoteseLegalDTO->retNumIdHipoteseLegal();
999 $objHipoteseLegalDTO->retStrNome(); 988 $objHipoteseLegalDTO->retStrNome();
1000 -  
1001 - /* $objHipoteseLegalBD = new HipoteseLegalBD($this->inicializarObjInfraIBanco());  
1002 - $arrMapIdHipoteseLegal = InfraArray::converterArrInfraDTO($objHipoteseLegalBD->listar($objHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal');  
1003 -  
1004 - if(!empty($arrMapIdHipoteseLegal)) {  
1005 -  
1006 - $objPenHipoteseLegalDTO = new PenHipoteseLegalDTO();  
1007 - $objPenHipoteseLegalBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco());  
1008 -  
1009 - $fnCadastrar = function($numIdHipoteseLegal, $strNome = '') use($objPenHipoteseLegalDTO, $objPenHipoteseLegalBD){  
1010 -  
1011 - $objPenHipoteseLegalDTO->unSetTodos();  
1012 - $objPenHipoteseLegalDTO->setNumIdHipoteseLegal($numIdHipoteseLegal);  
1013 -  
1014 - if($objPenHipoteseLegalBD->contar($objPenHipoteseLegalDTO) == 0){  
1015 -  
1016 - $objPenHipoteseLegalDTO->setStrAtivo('S');  
1017 - $objPenHipoteseLegalDTO->setStrNome($strNome);  
1018 - $objPenHipoteseLegalBD->cadastrar($objPenHipoteseLegalDTO);  
1019 - }  
1020 - };  
1021 -  
1022 - foreach($arrMapIdHipoteseLegal as $numIdHipoteseLegal => $strNome) {  
1023 -  
1024 - $fnCadastrar($numIdHipoteseLegal, $strNome);  
1025 - }  
1026 - }*/  
1027 989
1028 $objMetaBD = $this->inicializarObjMetaBanco(); 990 $objMetaBD = $this->inicializarObjMetaBanco();
1029 991
@@ -1060,7 +1022,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -1060,7 +1022,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
1060 1022
1061 /* altera o parâmetro da versão de banco */ 1023 /* altera o parâmetro da versão de banco */
1062 $objInfraParametroDTO = new InfraParametroDTO(); 1024 $objInfraParametroDTO = new InfraParametroDTO();
1063 - $objInfraParametroDTO->setStrNome($this->nomeParametroModulo); 1025 + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO);
1064 $objInfraParametroDTO->setStrValor('1.0.0'); 1026 $objInfraParametroDTO->setStrValor('1.0.0');
1065 $objInfraParametroDTO->retTodos(); 1027 $objInfraParametroDTO->retTodos();
1066 1028
@@ -1071,7 +1033,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -1071,7 +1033,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
1071 } 1033 }
1072 1034
1073 /* Contem atualizações da versao 1.1.0 do modulo */ 1035 /* Contem atualizações da versao 1.1.0 do modulo */
1074 - protected function instalarV102() { 1036 + protected function instalarV110() {
1075 $objMetaBD = $this->objMeta; 1037 $objMetaBD = $this->objMeta;
1076 1038
1077 //Adiciona a coluna de indentificação nas hipóteses que vem do barramento 1039 //Adiciona a coluna de indentificação nas hipóteses que vem do barramento
@@ -1123,7 +1085,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -1123,7 +1085,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
1123 1085
1124 /* altera o parâmetro da versão de banco */ 1086 /* altera o parâmetro da versão de banco */
1125 $objInfraParametroDTO = new InfraParametroDTO(); 1087 $objInfraParametroDTO = new InfraParametroDTO();
1126 - $objInfraParametroDTO->setStrNome($this->nomeParametroModulo); 1088 + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO);
1127 $objInfraParametroDTO->setStrValor('1.0.1'); 1089 $objInfraParametroDTO->setStrValor('1.0.1');
1128 $objInfraParametroDTO->retTodos(); 1090 $objInfraParametroDTO->retTodos();
1129 $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); 1091 $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco());
@@ -1132,4 +1094,18 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -1132,4 +1094,18 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
1132 $objInfraParametroBD->alterar($objInfraParametroDTO); 1094 $objInfraParametroBD->alterar($objInfraParametroDTO);
1133 } 1095 }
1134 1096
  1097 + /* Contem atualizações da versao 1.1.1 do módulo */
  1098 + protected function instalarV111() {
  1099 +
  1100 +
  1101 + /* altera o parâmetro da versão de banco */
  1102 + $objInfraParametroDTO = new InfraParametroDTO();
  1103 + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO);
  1104 + $objInfraParametroDTO->retTodos();
  1105 + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco());
  1106 + $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO);
  1107 + $objInfraParametroDTO->setStrValor('1.1.1');
  1108 + $objInfraParametroBD->alterar($objInfraParametroDTO);
  1109 + }
  1110 +
1135 } 1111 }
sip_atualizar_versao_modulo_pen.php
@@ -530,12 +530,6 @@ class PenAtualizarSipRN extends PenAtualizadorRN { @@ -530,12 +530,6 @@ class PenAtualizarSipRN extends PenAtualizadorRN {
530 try { 530 try {
531 $this->inicializar('INICIANDO ATUALIZACAO DO MODULO PEN NO SIP VERSAO 1.0.0'); 531 $this->inicializar('INICIANDO ATUALIZACAO DO MODULO PEN NO SIP VERSAO 1.0.0');
532 532
533 - //testando versao do framework  
534 -// $numVersaoInfraRequerida = '1.415';  
535 -// if (VERSAO_INFRA >= $numVersaoInfraRequerida) {  
536 -// $this->finalizar('VERSAO DO FRAMEWORK PHP INCOMPATIVEL (VERSAO ATUAL ' . VERSAO_INFRA . ', VERSAO REQUERIDA ' . $numVersaoInfraRequerida . ')', true);  
537 -// }  
538 -  
539 //testando se esta usando BDs suportados 533 //testando se esta usando BDs suportados
540 if (!(BancoSip::getInstance() instanceof InfraMySql) && 534 if (!(BancoSip::getInstance() instanceof InfraMySql) &&
541 !(BancoSip::getInstance() instanceof InfraSqlServer) && 535 !(BancoSip::getInstance() instanceof InfraSqlServer) &&
@@ -556,39 +550,24 @@ class PenAtualizarSipRN extends PenAtualizadorRN { @@ -556,39 +550,24 @@ class PenAtualizarSipRN extends PenAtualizadorRN {
556 550
557 $objInfraParametro = new InfraParametro($this->objInfraBanco); 551 $objInfraParametro = new InfraParametro($this->objInfraBanco);
558 552
559 - //$strVersaoAtual = $objInfraParametro->getValor('SEI_VERSAO', false);  
560 - $strVersaoModuloPen = $objInfraParametro->getValor($this->sip_versao, false);  
561 -  
562 - //VERIFICANDO QUAL VERSAO DEVE SER INSTALADA NESTA EXECUCAO  
563 - if (InfraString::isBolVazia($strVersaoModuloPen)) {  
564 - $this->instalarV100();  
565 - $this->instalarV101();  
566 - $this->instalarV102();  
567 - $this->instalarV103();  
568 - $this->instalarV104();  
569 - } else {  
570 - switch ($strVersaoModuloPen) {  
571 - case '1.0.0':  
572 - $this->instalarV101();  
573 - $this->instalarV102();  
574 - $this->instalarV103();  
575 - $this->instalarV104();  
576 - break;  
577 553
578 - case '1.0.1':  
579 - $this->instalarV102();  
580 - $this->instalarV103();  
581 - $this->instalarV104();  
582 - break;  
583 -  
584 - case '1.0.2': //Remover depois de usar  
585 - $this->instalarV103();  
586 - $this->instalarV104();  
587 - break;  
588 - case '1.0.3': //Remover depois de usar  
589 - $this->instalarV104();  
590 - break;  
591 - } 554 + // Aplicação de scripts de atualização de forma incremental
  555 + // Ausência de [break;] proposital para realizar a atualização incremental de versões
  556 + $strVersaoModuloPen = $objInfraParametro->getValor($this->nomeParametroModulo, false);
  557 + switch ($strVersaoModuloPen) {
  558 + //case '' - Nenhuma versão instalada
  559 + case '': $this->instalarV100();
  560 + case '1.0.0': $this->instalarV101();
  561 + case '1.0.1': $this->instalarV102();
  562 + case '1.0.2': $this->instalarV103();
  563 + case '1.0.3': $this->instalarV104();
  564 + case '1.0.4': $this->instalarV111();
  565 +
  566 + break;
  567 + default:
  568 + $this->finalizar('VERSAO DO MÓDULO JÁ CONSTA COMO ATUALIZADA');
  569 + break;
  570 +
592 } 571 }
593 572
594 $this->finalizar('FIM'); 573 $this->finalizar('FIM');
@@ -1348,6 +1327,25 @@ class PenAtualizarSipRN extends PenAtualizadorRN { @@ -1348,6 +1327,25 @@ class PenAtualizarSipRN extends PenAtualizadorRN {
1348 $objInfraParametroDTO->setStrValor('1.0.4'); 1327 $objInfraParametroDTO->setStrValor('1.0.4');
1349 $objInfraParametroBD->alterar($objInfraParametroDTO); 1328 $objInfraParametroBD->alterar($objInfraParametroDTO);
1350 } 1329 }
  1330 +
  1331 + /**
  1332 + * Instala/Atualiza os módulo PEN para versão 1.1.1
  1333 + */
  1334 + protected function instalarV111() {
  1335 +
  1336 + //Ajuste em nome da variável de versão do módulo VERSAO_MODULO_PEN
  1337 + //...
  1338 +
  1339 +
  1340 + /* Corrigir a versão do módulo no banco de dados */
  1341 + $objInfraParametroDTO = new InfraParametroDTO();
  1342 + $objInfraParametroDTO->setStrNome($this->sip_versao);
  1343 + $objInfraParametroDTO->retTodos();
  1344 + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco());
  1345 + $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO);
  1346 + $objInfraParametroDTO->setStrValor('1.1.1');
  1347 + $objInfraParametroBD->alterar($objInfraParametroDTO);
  1348 + }
1351 } 1349 }
1352 1350
1353 try { 1351 try {