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 6 */
7 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 12 public function __construct() {
12 13 parent::__construct();
... ... @@ -32,31 +33,26 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
32 33 }
33 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 53 $this->finalizar('FIM');
57 54 InfraDebug::getInstance()->setBolDebugInfra(true);
58 55 } catch (Exception $e) {
59   -
60 56 InfraDebug::getInstance()->setBolLigado(false);
61 57 InfraDebug::getInstance()->setBolDebugInfra(false);
62 58 InfraDebug::getInstance()->setBolEcho(false);
... ... @@ -64,7 +60,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
64 60 }
65 61 }
66 62  
67   -
68 63 /**
69 64 * Cria um novo parâmetro
70 65 * @return int Código do Parametro gerado
... ... @@ -918,15 +913,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
918 913  
919 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 917 $objInfraParametroDTO = new InfraParametroDTO();
929   - $objInfraParametroDTO->setStrNome($this->nomeParametroModulo);
  918 + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO);
930 919 $objInfraParametroDTO->setStrValor('1.0.0');
931 920  
932 921 $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco());
... ... @@ -997,33 +986,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
997 986 $objHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC);
998 987 $objHipoteseLegalDTO->retNumIdHipoteseLegal();
999 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 990 $objMetaBD = $this->inicializarObjMetaBanco();
1029 991  
... ... @@ -1060,7 +1022,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
1060 1022  
1061 1023 /* altera o parâmetro da versão de banco */
1062 1024 $objInfraParametroDTO = new InfraParametroDTO();
1063   - $objInfraParametroDTO->setStrNome($this->nomeParametroModulo);
  1025 + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO);
1064 1026 $objInfraParametroDTO->setStrValor('1.0.0');
1065 1027 $objInfraParametroDTO->retTodos();
1066 1028  
... ... @@ -1071,7 +1033,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
1071 1033 }
1072 1034  
1073 1035 /* Contem atualizações da versao 1.1.0 do modulo */
1074   - protected function instalarV102() {
  1036 + protected function instalarV110() {
1075 1037 $objMetaBD = $this->objMeta;
1076 1038  
1077 1039 //Adiciona a coluna de indentificação nas hipóteses que vem do barramento
... ... @@ -1123,7 +1085,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
1123 1085  
1124 1086 /* altera o parâmetro da versão de banco */
1125 1087 $objInfraParametroDTO = new InfraParametroDTO();
1126   - $objInfraParametroDTO->setStrNome($this->nomeParametroModulo);
  1088 + $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO);
1127 1089 $objInfraParametroDTO->setStrValor('1.0.1');
1128 1090 $objInfraParametroDTO->retTodos();
1129 1091 $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco());
... ... @@ -1132,4 +1094,18 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
1132 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 530 try {
531 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 533 //testando se esta usando BDs suportados
540 534 if (!(BancoSip::getInstance() instanceof InfraMySql) &&
541 535 !(BancoSip::getInstance() instanceof InfraSqlServer) &&
... ... @@ -556,39 +550,24 @@ class PenAtualizarSipRN extends PenAtualizadorRN {
556 550  
557 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 573 $this->finalizar('FIM');
... ... @@ -1348,6 +1327,25 @@ class PenAtualizarSipRN extends PenAtualizadorRN {
1348 1327 $objInfraParametroDTO->setStrValor('1.0.4');
1349 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 1351 try {
... ...