Commit 5bb28e987a53a46329dbcc53f1146bf1b8247e04
1 parent
c8c6f5e3
Exists in
master
and in
19 other branches
Correção de script de instalação do módulo para banco de dados Oracle
Showing
3 changed files
with
181 additions
and
270 deletions
Show diff stats
bd/PenMetaBD.php
| ... | ... | @@ -8,71 +8,71 @@ require_once dirname(__FILE__) . '/../../../SEI.php'; |
| 8 | 8 | * @author Join Tecnologia |
| 9 | 9 | */ |
| 10 | 10 | class PenMetaBD extends InfraMetaBD { |
| 11 | - | |
| 11 | + | |
| 12 | 12 | const NNULLO = 'NOT NULL'; |
| 13 | 13 | const SNULLO = 'NULL'; |
| 14 | 14 | |
| 15 | 15 | /** |
| 16 | - * | |
| 16 | + * | |
| 17 | 17 | * @return string |
| 18 | 18 | */ |
| 19 | 19 | public function adicionarValorPadraoParaColuna($strNomeTabela, $strNomeColuna, $strValorPadrao, $bolRetornarQuery = false){ |
| 20 | - | |
| 20 | + | |
| 21 | 21 | $objInfraBanco = $this->getObjInfraIBanco(); |
| 22 | - | |
| 22 | + | |
| 23 | 23 | $strTableDrive = get_parent_class($objInfraBanco); |
| 24 | 24 | $strQuery = ''; |
| 25 | - | |
| 25 | + | |
| 26 | 26 | switch($strTableDrive) { |
| 27 | 27 | |
| 28 | 28 | case 'InfraMySqli': |
| 29 | 29 | $strQuery = sprintf("ALTER TABLE `%s` ALTER COLUMN `%s` SET DEFAULT '%s'", $strNomeTabela, $strNomeColuna, $strValorPadrao); |
| 30 | 30 | break; |
| 31 | - | |
| 31 | + | |
| 32 | 32 | case 'InfraSqlServer': |
| 33 | 33 | $strQuery = sprintf("ALTER TABLE [%s] ADD DEFAULT('%s') FOR [%s]", $strNomeTabela, $strValorPadrao, $strNomeColuna); |
| 34 | - | |
| 34 | + | |
| 35 | 35 | case 'InfraOracle': |
| 36 | 36 | break; |
| 37 | 37 | } |
| 38 | - | |
| 38 | + | |
| 39 | 39 | if($bolRetornarQuery === false) { |
| 40 | - | |
| 40 | + | |
| 41 | 41 | $objInfraBanco->executarSql($strQuery); |
| 42 | 42 | } |
| 43 | 43 | else { |
| 44 | - | |
| 44 | + | |
| 45 | 45 | return $strQuery; |
| 46 | 46 | } |
| 47 | 47 | } |
| 48 | - | |
| 48 | + | |
| 49 | 49 | /** |
| 50 | 50 | * Verifica se o usuário do drive de conexão possui permissão para criar/ remover |
| 51 | 51 | * estruturas |
| 52 | - * | |
| 52 | + * | |
| 53 | 53 | * @return PenMetaBD |
| 54 | 54 | */ |
| 55 | 55 | public function isDriverPermissao(){ |
| 56 | - | |
| 56 | + | |
| 57 | 57 | $objInfraBanco = $this->getObjInfraIBanco(); |
| 58 | 58 | |
| 59 | 59 | if(count($this->obterTabelas('sei_teste'))==0){ |
| 60 | 60 | $objInfraBanco->executarSql('CREATE TABLE sei_teste (id '.$this->tipoNumero().' NULL)'); |
| 61 | 61 | } |
| 62 | - | |
| 62 | + | |
| 63 | 63 | $objInfraBanco->executarSql('DROP TABLE sei_teste'); |
| 64 | - | |
| 64 | + | |
| 65 | 65 | return $this; |
| 66 | 66 | } |
| 67 | - | |
| 67 | + | |
| 68 | 68 | /** |
| 69 | 69 | * Verifica se o banco do SEI é suportador pelo atualizador |
| 70 | - * | |
| 70 | + * | |
| 71 | 71 | * @throws InfraException |
| 72 | 72 | * @return PenMetaBD |
| 73 | 73 | */ |
| 74 | 74 | public function isDriverSuportado(){ |
| 75 | - | |
| 75 | + | |
| 76 | 76 | $strTableDrive = get_parent_class($this->getObjInfraIBanco()); |
| 77 | 77 | |
| 78 | 78 | switch($strTableDrive) { |
| ... | ... | @@ -84,7 +84,7 @@ class PenMetaBD extends InfraMetaBD { |
| 84 | 84 | $version = $version[0]['versao']; |
| 85 | 85 | $arrVersion = explode('.', $version); |
| 86 | 86 | if($arrVersion[0].$arrVersion[1] < 56){ |
| 87 | - $this->getObjInfraIBanco()->executarSql('@SET STORAGE_ENGINE=InnoDB'); | |
| 87 | + $this->getObjInfraIBanco()->executarSql('@SET STORAGE_ENGINE=InnoDB'); | |
| 88 | 88 | } |
| 89 | 89 | case 'InfraSqlServer': |
| 90 | 90 | case 'InfraOracle': |
| ... | ... | @@ -94,38 +94,38 @@ class PenMetaBD extends InfraMetaBD { |
| 94 | 94 | throw new InfraException('BANCO DE DADOS NAO SUPORTADO: ' . $strTableDrive); |
| 95 | 95 | |
| 96 | 96 | } |
| 97 | - | |
| 97 | + | |
| 98 | 98 | return $this; |
| 99 | 99 | } |
| 100 | - | |
| 100 | + | |
| 101 | 101 | /** |
| 102 | 102 | * Verifica se a versão sistema é compativel com a versão do módulo PEN |
| 103 | - * | |
| 103 | + * | |
| 104 | 104 | * @throws InfraException |
| 105 | 105 | * @return PenMetaBD |
| 106 | 106 | */ |
| 107 | 107 | public function isVersaoSuportada($strRegexVersaoSistema, $strVerMinRequirida){ |
| 108 | - | |
| 108 | + | |
| 109 | 109 | $numVersaoRequerida = intval(preg_replace('/\D+/', '', $strVerMinRequirida)); |
| 110 | 110 | $numVersaoSistema = intval(preg_replace('/\D+/', '', $strRegexVersaoSistema)); |
| 111 | - | |
| 111 | + | |
| 112 | 112 | if($numVersaoRequerida > $numVersaoSistema){ |
| 113 | 113 | throw new InfraException('VERSAO DO FRAMEWORK PHP INCOMPATIVEL (VERSAO ATUAL '.$strRegexVersaoSistema.', VERSAO REQUERIDA '.$strVerMinRequirida.')'); |
| 114 | 114 | } |
| 115 | - | |
| 115 | + | |
| 116 | 116 | return $this; |
| 117 | 117 | } |
| 118 | - | |
| 118 | + | |
| 119 | 119 | /** |
| 120 | 120 | * Apaga a chave primária da tabela |
| 121 | - * | |
| 121 | + * | |
| 122 | 122 | * @throws InfraException |
| 123 | 123 | * @return PenMetaBD |
| 124 | 124 | */ |
| 125 | 125 | public function removerChavePrimaria($strNomeTabela, $strNomeChave){ |
| 126 | - | |
| 126 | + | |
| 127 | 127 | if($this->isChaveExiste($strNomeTabela, $strNomeChave)) { |
| 128 | - | |
| 128 | + | |
| 129 | 129 | $strTableDrive = get_parent_class($this->getObjInfraIBanco()); |
| 130 | 130 | |
| 131 | 131 | switch($strTableDrive) { |
| ... | ... | @@ -144,54 +144,19 @@ class PenMetaBD extends InfraMetaBD { |
| 144 | 144 | } |
| 145 | 145 | return $this; |
| 146 | 146 | } |
| 147 | - | |
| 148 | - public function isChaveExiste($strNomeTabela = '', $strNomeChave = ''){ | |
| 149 | - | |
| 150 | - $objInfraBanco = $this->getObjInfraIBanco(); | |
| 151 | - $strTableDrive = get_parent_class($objInfraBanco); | |
| 152 | - | |
| 153 | - switch($strTableDrive) { | |
| 154 | - | |
| 155 | - case 'InfraMySqli': | |
| 156 | - $strSql = " SELECT COUNT(CONSTRAINT_NAME) AS EXISTE | |
| 157 | - FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS | |
| 158 | - WHERE CONSTRAINT_SCHEMA = '".$objInfraBanco->getBanco()."' | |
| 159 | - AND TABLE_NAME = '".$strNomeTabela."' | |
| 160 | - AND CONSTRAINT_NAME = '".$strNomeChave."'"; | |
| 161 | - break; | |
| 162 | - | |
| 163 | - case 'InfraSqlServer': | |
| 164 | - | |
| 165 | - $strSql = " SELECT COUNT(CONSTRAINT_NAME) AS EXISTE | |
| 166 | - FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS | |
| 167 | - WHERE CONSTRAINT_CATALOG = '".$objInfraBanco->getBanco()."' | |
| 168 | - AND TABLE_NAME = '".$strNomeTabela."' | |
| 169 | - AND CONSTRAINT_NAME = '".$strNomeChave."'"; | |
| 170 | - break; | |
| 171 | - | |
| 172 | - case 'InfraOracle': | |
| 173 | - $strSql = "SELECT 0 AS EXISTE"; | |
| 174 | - break; | |
| 175 | - } | |
| 176 | - | |
| 177 | - $strSql = preg_replace('/\s+/', ' ', $strSql); | |
| 178 | - $arrDados = $objInfraBanco->consultarSql($strSql); | |
| 179 | 147 | |
| 180 | - return (intval($arrDados[0]['EXISTE']) > 0) ? true : false; | |
| 181 | - } | |
| 182 | - | |
| 183 | 148 | public function adicionarChaveUnica($strNomeTabela = '', $arrNomeChave = array()){ |
| 184 | - | |
| 149 | + | |
| 185 | 150 | $this->getObjInfraIBanco() |
| 186 | 151 | ->executarSql('ALTER TABLE '.$strNomeTabela.' ADD CONSTRAINT UK_'.$strNomeTabela.' UNIQUE('.implode(', ', $arrNomeChave).')'); |
| 187 | 152 | } |
| 188 | - | |
| 153 | + | |
| 189 | 154 | public function renomearTabela($strNomeTabelaAtual, $strNomeTabelaNovo){ |
| 190 | - | |
| 155 | + | |
| 191 | 156 | if($this->isTabelaExiste($strNomeTabelaAtual)) { |
| 192 | - | |
| 157 | + | |
| 193 | 158 | $objInfraBanco = $this->getObjInfraIBanco(); |
| 194 | - | |
| 159 | + | |
| 195 | 160 | $strTableDrive = get_parent_class($objInfraBanco); |
| 196 | 161 | $strQuery = ''; |
| 197 | 162 | |
| ... | ... | @@ -208,210 +173,167 @@ class PenMetaBD extends InfraMetaBD { |
| 208 | 173 | $strQuery = sprintf("RENAME TABLE %s TO %s", $strNomeTabelaAtual, $strNomeTabelaNovo); |
| 209 | 174 | break; |
| 210 | 175 | } |
| 211 | - | |
| 176 | + | |
| 212 | 177 | $objInfraBanco->executarSql($strQuery); |
| 213 | 178 | } |
| 214 | 179 | } |
| 215 | - | |
| 216 | - | |
| 180 | + | |
| 181 | + | |
| 217 | 182 | /** |
| 218 | 183 | * Verifica se uma tabela existe no banco |
| 219 | - * | |
| 184 | + * | |
| 220 | 185 | * @throws InfraException |
| 221 | 186 | * @return bool |
| 222 | 187 | */ |
| 223 | 188 | public function isTabelaExiste($strNomeTabela = ''){ |
| 224 | - | |
| 225 | - $objInfraBanco = $this->getObjInfraIBanco(); | |
| 226 | - $strTableDrive = get_parent_class($objInfraBanco); | |
| 227 | - | |
| 228 | - switch($strTableDrive) { | |
| 229 | 189 | |
| 230 | - case 'InfraMySqli': | |
| 231 | - $strSql = "SELECT COUNT(TABLE_NAME) AS EXISTE | |
| 232 | - FROM INFORMATION_SCHEMA.TABLES | |
| 233 | - WHERE TABLE_SCHEMA = '".$objInfraBanco->getBanco()."' | |
| 234 | - AND TABLE_NAME = '".$strNomeTabela."'"; | |
| 235 | - break; | |
| 236 | - | |
| 237 | - case 'InfraSqlServer': | |
| 238 | - | |
| 239 | - $strSql = "SELECT COUNT(TABLE_NAME) AS EXISTE | |
| 240 | - FROM INFORMATION_SCHEMA.TABLES | |
| 241 | - WHERE TABLE_CATALOG = '".$objInfraBanco->getBanco()."' | |
| 242 | - AND TABLE_NAME = '".$strNomeTabela."'"; | |
| 243 | - break; | |
| 244 | - | |
| 245 | - case 'InfraOracle': | |
| 246 | - $strSql = "SELECT 0 AS EXISTE"; | |
| 247 | - break; | |
| 190 | + return count($this->obterTabelas($strNomeTabela)) != 0; | |
| 191 | + } | |
| 192 | + | |
| 193 | + public function isColuna($strNomeTabela = '', $strNomeColuna = ''){ | |
| 194 | + | |
| 195 | + $arrColunas = $this->obterColunasTabela($strNomeTabela); | |
| 196 | + foreach ($arrColunas as $objColuna) { | |
| 197 | + if($objColuna['column_name'] == $strNomeColuna){ | |
| 198 | + return true; | |
| 199 | + } | |
| 248 | 200 | } |
| 249 | - | |
| 250 | - $strSql = preg_replace('/\s+/', ' ', $strSql); | |
| 251 | - $arrDados = $objInfraBanco->consultarSql($strSql); | |
| 252 | 201 | |
| 253 | - return (intval($arrDados[0]['EXISTE']) > 0) ? true : false; | |
| 202 | + return false; | |
| 254 | 203 | } |
| 255 | - | |
| 256 | - public function isColuna($strNomeTabela = '', $strNomeColuna = ''){ | |
| 257 | - | |
| 258 | - $objInfraBanco = $this->getObjInfraIBanco(); | |
| 259 | - $strTableDrive = get_parent_class($objInfraBanco); | |
| 260 | - | |
| 261 | - switch($strTableDrive) { | |
| 262 | 204 | |
| 263 | - case 'InfraMySqli': | |
| 264 | - $strSql = "SELECT COUNT(TABLE_NAME) AS EXISTE | |
| 265 | - FROM INFORMATION_SCHEMA.COLUMNS | |
| 266 | - WHERE TABLE_SCHEMA = '".$objInfraBanco->getBanco()."' | |
| 267 | - AND TABLE_NAME = '".$strNomeTabela."' | |
| 268 | - AND COLUMN_NAME = '".$strNomeColuna."'"; | |
| 269 | - break; | |
| 270 | - | |
| 271 | - case 'InfraSqlServer': | |
| 272 | - | |
| 273 | - $strSql = "SELECT COUNT(COLUMN_NAME) AS EXISTE | |
| 274 | - FROM INFORMATION_SCHEMA.COLUMNS | |
| 275 | - WHERE TABLE_CATALOG = '".$objInfraBanco->getBanco()."' | |
| 276 | - AND TABLE_NAME = '".$strNomeTabela."' | |
| 277 | - AND COLUMN_NAME = '".$strNomeColuna."'"; | |
| 278 | - break; | |
| 279 | - | |
| 280 | - case 'InfraOracle': | |
| 281 | - $strSql = "SELECT 0 AS EXISTE"; | |
| 282 | - break; | |
| 205 | + public function isChaveExiste($strNomeTabela = '', $strNomeChave = ''){ | |
| 206 | + | |
| 207 | + $arrConstraints = $this->obterConstraints($strNomeTabela); | |
| 208 | + foreach ($arrConstraints as $objConstraint) { | |
| 209 | + if($objConstraint['constraint_name'] == $strNomeChave){ | |
| 210 | + return true; | |
| 211 | + } | |
| 283 | 212 | } |
| 284 | - | |
| 285 | - $strSql = preg_replace('/\s+/', ' ', $strSql); | |
| 286 | - $arrDados = $objInfraBanco->consultarSql($strSql); | |
| 287 | 213 | |
| 288 | - return (intval($arrDados[0]['EXISTE']) > 0) ? true : false; | |
| 289 | - | |
| 290 | - | |
| 214 | + return false; | |
| 291 | 215 | } |
| 292 | - | |
| 216 | + | |
| 293 | 217 | /** |
| 294 | 218 | * Cria a estrutura da tabela no padrão ANSI |
| 295 | - * | |
| 219 | + * | |
| 296 | 220 | * @throws InfraException |
| 297 | 221 | * @return PenMetaBD |
| 298 | 222 | */ |
| 299 | 223 | public function criarTabela($arrSchema = array()){ |
| 300 | - | |
| 224 | + | |
| 301 | 225 | $strNomeTabela = $arrSchema['tabela']; |
| 302 | - | |
| 303 | - | |
| 226 | + | |
| 304 | 227 | if($this->isTabelaExiste($strNomeTabela)) { |
| 305 | 228 | return $this; |
| 306 | 229 | } |
| 307 | - | |
| 230 | + | |
| 308 | 231 | $objInfraBanco = $this->getObjInfraIBanco(); |
| 309 | 232 | $arrColunas = array(); |
| 310 | 233 | $arrStrQuery = array(); |
| 311 | 234 | |
| 312 | 235 | foreach($arrSchema['cols'] as $strNomeColuna => $arrColunaConfig) { |
| 313 | - | |
| 236 | + | |
| 314 | 237 | list($strTipoDado, $strValorPadrao) = $arrColunaConfig; |
| 315 | - | |
| 238 | + | |
| 316 | 239 | if($strValorPadrao != self::SNULLO && $strValorPadrao != self::NNULLO) { |
| 317 | - | |
| 240 | + | |
| 318 | 241 | $arrStrQuery[] = $this->adicionarValorPadraoParaColuna($strNomeTabela, $strNomeColuna, $strValorPadrao, true); |
| 319 | 242 | $strValorPadrao = self::NNULLO; |
| 320 | 243 | } |
| 321 | 244 | |
| 322 | 245 | $arrColunas[] = $strNomeColuna.' '.$strTipoDado.' '.$strValorPadrao; |
| 323 | 246 | } |
| 324 | - | |
| 247 | + | |
| 325 | 248 | $objInfraBanco->executarSql('CREATE TABLE '.$strNomeTabela.' ('.implode(', ', $arrColunas).')'); |
| 326 | - | |
| 249 | + | |
| 327 | 250 | if(!empty($arrSchema['pk'])) { |
| 328 | - | |
| 329 | - $this->adicionarChavePrimaria($strNomeTabela, 'pk_'.$strNomeTabela, $arrSchema['pk']); | |
| 330 | - | |
| 331 | - if(count($arrSchema['pk']) > 1) { | |
| 332 | - | |
| 333 | - foreach($arrSchema['pk'] as $strPk) { | |
| 334 | - | |
| 335 | - $objInfraBanco->executarSql('CREATE INDEX idx_'.$strNomeTabela.'_'.$strPk.' ON '.$strNomeTabela.'('.$strPk.')'); | |
| 336 | - } | |
| 251 | + $strNomePK = array_key_exists('nome', $arrSchema['pk']) ? $arrSchema['pk']['nome'] : 'pk_' . $strNomeTabela; | |
| 252 | + $arrColunas = array_key_exists('cols', $arrSchema['pk']) ? $arrSchema['pk']['cols'] : $arrSchema['pk']; | |
| 253 | + $this->adicionarChavePrimaria($strNomeTabela, $strNomePK, $arrColunas); | |
| 254 | + if(count($arrColunas) > 1) { | |
| 255 | + for ($i=0; $i < count($arrColunas); $i++) { | |
| 256 | + $strPk = $arrColunas[$i]; | |
| 257 | + $strNomeIndex = substr("i" . str_pad($i + 1, 2, "0", STR_PAD_LEFT) . '_' . $strNomeTabela, 0, 30); | |
| 258 | + $objInfraBanco->executarSql('CREATE INDEX '.$strNomeIndex.' ON '.$strNomeTabela.'('.$strPk.')'); | |
| 259 | + } | |
| 337 | 260 | } |
| 338 | 261 | } |
| 339 | - | |
| 262 | + | |
| 340 | 263 | if(array_key_exists('uk', $arrSchema) && !empty($arrSchema['uk'])) { |
| 341 | - | |
| 342 | 264 | $this->adicionarChaveUnica($strNomeTabela, $arrSchema['uk']); |
| 343 | 265 | } |
| 344 | - | |
| 266 | + | |
| 345 | 267 | if(!empty($arrSchema['fks'])) { |
| 346 | - | |
| 268 | + | |
| 347 | 269 | foreach($arrSchema['fks'] as $strTabelaOrigem => $array) { |
| 348 | - | |
| 349 | - $strNomeFK = 'fk_'.$strNomeTabela.'_'.$strTabelaOrigem; | |
| 350 | - $arrCamposOrigem = (array)array_shift($array); | |
| 270 | + $strNomeFK = array_key_exists('nome', $array) ? $array['nome'] : 'fk_'.$strNomeTabela.'_'.$strTabelaOrigem; | |
| 271 | + $arrayColumns = array_key_exists('cols', $array) ? $array['cols'] : $array; | |
| 272 | + $arrCamposOrigem = (array)array_shift($arrayColumns); | |
| 351 | 273 | $arrCampos = $arrCamposOrigem; |
| 352 | 274 | |
| 353 | - if(!empty($array)) { | |
| 354 | - $arrCampos = (array)array_shift($array); | |
| 275 | + if(!empty($arrayColumns)) { | |
| 276 | + $arrCampos = (array)array_shift($arrayColumns); | |
| 355 | 277 | } |
| 356 | 278 | |
| 357 | - $this->adicionarChaveEstrangeira($strNomeFK, $strNomeTabela, $arrCampos, $strTabelaOrigem, $arrCamposOrigem); | |
| 279 | + $this->adicionarChaveEstrangeira($strNomeFK, $strNomeTabela, $arrCampos, $strTabelaOrigem, $arrCamposOrigem); | |
| 358 | 280 | } |
| 359 | 281 | } |
| 360 | - | |
| 282 | + | |
| 361 | 283 | if(!empty($arrStrQuery)) { |
| 362 | - | |
| 363 | - foreach($arrStrQuery as $strQuery) { | |
| 284 | + | |
| 285 | + foreach($arrStrQuery as $strQuery) { | |
| 364 | 286 | $objInfraBanco->executarSql($strQuery); |
| 365 | 287 | } |
| 366 | 288 | } |
| 367 | - | |
| 289 | + | |
| 368 | 290 | return $this; |
| 369 | 291 | } |
| 370 | - | |
| 292 | + | |
| 371 | 293 | /** |
| 372 | 294 | * Apagar a estrutura da tabela no banco de dados |
| 373 | - * | |
| 295 | + * | |
| 374 | 296 | * @throws InfraException |
| 375 | 297 | * @return PenMetaBD |
| 376 | 298 | */ |
| 377 | 299 | public function removerTabela($strNomeTabela = ''){ |
| 378 | - | |
| 300 | + | |
| 379 | 301 | $this->getObjInfraIBanco()->executarSql('DROP TABLE '.$strNomeTabela); |
| 380 | 302 | return $this; |
| 381 | 303 | } |
| 382 | - | |
| 304 | + | |
| 383 | 305 | public function adicionarChaveEstrangeira($strNomeFK, $strTabela, $arrCampos, $strTabelaOrigem, $arrCamposOrigem) { |
| 384 | - | |
| 306 | + | |
| 385 | 307 | if(!$this->isChaveExiste($strTabela, $strNomeFK)) { |
| 386 | 308 | parent::adicionarChaveEstrangeira($strNomeFK, $strTabela, $arrCampos, $strTabelaOrigem, $arrCamposOrigem); |
| 387 | 309 | } |
| 388 | 310 | return $this; |
| 389 | 311 | } |
| 390 | - | |
| 312 | + | |
| 391 | 313 | public function adicionarChavePrimaria($strTabela, $strNomePK, $arrCampos) { |
| 392 | - | |
| 314 | + | |
| 393 | 315 | if(!$this->isChaveExiste($strTabela, $strNomePK)) { |
| 394 | 316 | parent::adicionarChavePrimaria($strTabela, $strNomePK, $arrCampos); |
| 395 | 317 | } |
| 396 | 318 | return $this; |
| 397 | 319 | } |
| 398 | - | |
| 320 | + | |
| 399 | 321 | public function alterarColuna($strTabela, $strColuna, $strTipo, $strNull = '') { |
| 400 | 322 | parent::alterarColuna($strTabela, $strColuna, $strTipo, $strNull); |
| 401 | 323 | return $this; |
| 402 | 324 | } |
| 403 | - | |
| 325 | + | |
| 404 | 326 | public function excluirIndice($strTabela, $strIndex) { |
| 405 | 327 | if($this->isChaveExiste($strTabela, $strFk)) { |
| 406 | 328 | parent::excluirIndice($strTabela, $strIndex); |
| 407 | 329 | } |
| 408 | 330 | return $this; |
| 409 | 331 | } |
| 410 | - | |
| 332 | + | |
| 411 | 333 | public function excluirChaveEstrangeira($strTabela, $strFk) { |
| 412 | 334 | if($this->isChaveExiste($strTabela, $strFk)) { |
| 413 | 335 | parent::excluirChaveEstrangeira($strTabela, $strFk); |
| 414 | 336 | } |
| 415 | 337 | return $this; |
| 416 | 338 | } |
| 417 | -} | |
| 418 | 339 | \ No newline at end of file |
| 340 | +} | ... | ... |
rn/PenAtualizarSeiRN.php
| ... | ... | @@ -107,13 +107,15 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 107 | 107 | 'numero_registro' => array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), |
| 108 | 108 | 'id_procedimento' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO) |
| 109 | 109 | ), |
| 110 | - 'pk' => array('numero_registro'), | |
| 110 | + 'pk' => array('cols'=>array('numero_registro')), | |
| 111 | 111 | 'uk' => array('numero_registro', 'id_procedimento'), |
| 112 | 112 | 'fks' => array( |
| 113 | - 'procedimento' => array('id_procedimento', 'id_procedimento') | |
| 113 | + 'procedimento' => array('nome' => 'fk_md_pen_proc_eletr_procedim', | |
| 114 | + 'cols' => array('id_procedimento', 'id_procedimento')), | |
| 114 | 115 | ) |
| 115 | 116 | )); |
| 116 | 117 | |
| 118 | + | |
| 117 | 119 | $objMetaBD->criarTabela(array( |
| 118 | 120 | 'tabela' => 'md_pen_tramite', |
| 119 | 121 | 'cols' => array( |
| ... | ... | @@ -125,15 +127,17 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 125 | 127 | 'id_usuario' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), |
| 126 | 128 | 'id_unidade' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO) |
| 127 | 129 | ), |
| 128 | - 'pk' => array('id_tramite'), | |
| 130 | + 'pk' => array('cols'=>array('id_tramite')), | |
| 129 | 131 | 'uk' => array('numero_registro', 'id_tramite'), |
| 130 | 132 | 'fks' => array( |
| 131 | - 'md_pen_processo_eletronico' => array('numero_registro', 'numero_registro'), | |
| 133 | + 'md_pen_processo_eletronico' => array('nome'=>'fk_md_pen_tramite_proc_eletr', | |
| 134 | + 'cols' => array('numero_registro', 'numero_registro')), | |
| 132 | 135 | 'usuario' => array('id_usuario', 'id_usuario'), |
| 133 | - 'unidade' => array('id_unidade', 'id_unidade') | |
| 136 | + 'unidade' => array('id_unidade', 'id_unidade'), | |
| 134 | 137 | ) |
| 135 | 138 | )); |
| 136 | 139 | |
| 140 | + | |
| 137 | 141 | $objMetaBD->criarTabela(array( |
| 138 | 142 | 'tabela' => 'md_pen_especie_documental', |
| 139 | 143 | 'cols' => array( |
| ... | ... | @@ -141,9 +145,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 141 | 145 | 'nome_especie' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO), |
| 142 | 146 | 'descricao' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) |
| 143 | 147 | ), |
| 144 | - 'pk' => array('id_especie') | |
| 148 | + 'pk' => array('cols'=>array('id_especie')), | |
| 145 | 149 | )); |
| 146 | 150 | |
| 151 | + | |
| 147 | 152 | $objMetaBD->criarTabela(array( |
| 148 | 153 | 'tabela' => 'md_pen_tramite_pendente', |
| 149 | 154 | 'cols' => array( |
| ... | ... | @@ -151,7 +156,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 151 | 156 | 'numero_tramite' => array($objMetaBD->tipoTextoVariavel(255)), |
| 152 | 157 | 'id_atividade_expedicao' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO) |
| 153 | 158 | ), |
| 154 | - 'pk' => array('id') | |
| 159 | + 'pk' => array('cols'=>array('id')), | |
| 155 | 160 | )); |
| 156 | 161 | |
| 157 | 162 | $objMetaBD->criarTabela(array( |
| ... | ... | @@ -162,7 +167,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 162 | 167 | 'dth_recebimento' => array($objMetaBD->tipoDataHora(), PenMetaBD::NNULLO), |
| 163 | 168 | 'hash_assinatura' => array($objMetaBD->tipoTextoVariavel(345), PenMetaBD::NNULLO) |
| 164 | 169 | ), |
| 165 | - 'pk' => array('numero_registro', 'id_tramite') | |
| 170 | + 'pk' => array('cols'=>array('numero_registro', 'id_tramite')), | |
| 166 | 171 | )); |
| 167 | 172 | |
| 168 | 173 | |
| ... | ... | @@ -178,7 +183,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 178 | 183 | 'hash' => array($objMetaBD->tipoTextoFixo(32), PenMetaBD::NNULLO), |
| 179 | 184 | 'id_tarefa' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) |
| 180 | 185 | ), |
| 181 | - 'pk' => array('id_andamento') | |
| 186 | + 'pk' => array('nome' => 'pk_md_pen_procedim_andamen', 'cols'=>array('id_andamento')), | |
| 182 | 187 | )); |
| 183 | 188 | |
| 184 | 189 | $objMetaBD->criarTabela(array( |
| ... | ... | @@ -187,20 +192,12 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 187 | 192 | 'id_protocolo' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), |
| 188 | 193 | 'sin_obteve_recusa' => array($objMetaBD->tipoTextoFixo(1), 'N') |
| 189 | 194 | ), |
| 190 | - 'pk' => array('id_protocolo'), | |
| 195 | + 'pk' => array('cols'=>array('id_protocolo')), | |
| 191 | 196 | 'fks' => array( |
| 192 | 197 | 'protocolo' => array('id_protocolo', 'id_protocolo') |
| 193 | 198 | ) |
| 194 | 199 | )); |
| 195 | 200 | |
| 196 | - /* $objMetaBD->criarTabela(array( | |
| 197 | - 'tabela' => 'md_pen_tramite_recusado', | |
| 198 | - 'cols' => array( | |
| 199 | - 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), | |
| 200 | - 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO) | |
| 201 | - ), | |
| 202 | - 'pk' => array('id_tramite') | |
| 203 | - )); */ | |
| 204 | 201 | |
| 205 | 202 | $objMetaBD->criarTabela(array( |
| 206 | 203 | 'tabela' => 'md_pen_recibo_tramite', |
| ... | ... | @@ -211,9 +208,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 211 | 208 | 'hash_assinatura' => array($objMetaBD->tipoTextoVariavel(345), PenMetaBD::NNULLO), |
| 212 | 209 | 'cadeia_certificado' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) |
| 213 | 210 | ), |
| 214 | - 'pk' => array('numero_registro', 'id_tramite'), | |
| 211 | + 'pk' => array('cols'=>array('numero_registro', 'id_tramite')), | |
| 215 | 212 | 'fks' => array( |
| 216 | - 'md_pen_tramite' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite')) | |
| 213 | + 'md_pen_tramite' => array('nome' => 'fk_md_pen_rec_tramite_tramite', | |
| 214 | + 'cols' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite'))) | |
| 217 | 215 | ) |
| 218 | 216 | )); |
| 219 | 217 | |
| ... | ... | @@ -226,12 +224,14 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 226 | 224 | 'hash_assinatura' => array($objMetaBD->tipoTextoVariavel(345), PenMetaBD::NNULLO), |
| 227 | 225 | 'cadeia_certificado ' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) |
| 228 | 226 | ), |
| 229 | - 'pk' => array('numero_registro', 'id_tramite'), | |
| 227 | + 'pk' => array('nome' => 'pk_md_pen_recibo_tram_envia', 'cols'=>array('numero_registro', 'id_tramite')), | |
| 230 | 228 | 'fks' => array( |
| 231 | - 'md_pen_tramite' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite')) | |
| 229 | + 'md_pen_tramite' => array('nome' => 'fk_md_pen_rec_tram_env_tram', | |
| 230 | + 'cols' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite'))) | |
| 232 | 231 | ) |
| 233 | 232 | )); |
| 234 | 233 | |
| 234 | + | |
| 235 | 235 | $objMetaBD->criarTabela(array( |
| 236 | 236 | 'tabela' => 'md_pen_recibo_tramite_recebido', |
| 237 | 237 | 'cols' => array( |
| ... | ... | @@ -240,12 +240,14 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 240 | 240 | 'dth_recebimento' => array($objMetaBD->tipoDataHora(), PenMetaBD::NNULLO), |
| 241 | 241 | 'hash_assinatura' => array($objMetaBD->tipoTextoVariavel(345), PenMetaBD::NNULLO) |
| 242 | 242 | ), |
| 243 | - 'pk' => array('numero_registro', 'id_tramite', 'hash_assinatura'), | |
| 243 | + 'pk' => array('nome' => 'pk_md_pen_recibo_tramite_receb', 'cols'=>array('numero_registro', 'id_tramite', 'hash_assinatura')), | |
| 244 | 244 | 'fks' => array( |
| 245 | - 'md_pen_tramite' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite')) | |
| 245 | + 'md_pen_tramite' => array('nome' => 'fk_md_pen_recibo_receb_tram', | |
| 246 | + 'cols' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite'))) | |
| 246 | 247 | ) |
| 247 | 248 | )); |
| 248 | 249 | |
| 250 | + | |
| 249 | 251 | $objMetaBD->criarTabela(array( |
| 250 | 252 | 'tabela' => 'md_pen_rel_processo_apensado', |
| 251 | 253 | 'cols' => array( |
| ... | ... | @@ -253,9 +255,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 253 | 255 | 'id_procedimento_apensado' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), |
| 254 | 256 | 'protocolo' => array($objMetaBD->tipoTextoVariavel(50), PenMetaBD::NNULLO) |
| 255 | 257 | ), |
| 256 | - 'pk' => array('numero_registro', 'id_procedimento_apensado'), | |
| 258 | + 'pk' => array('nome' => 'pk_md_pen_rel_processo_apensad', 'cols'=>array('numero_registro', 'id_procedimento_apensado')), | |
| 257 | 259 | 'fks' => array( |
| 258 | - 'md_pen_processo_eletronico' => array('numero_registro', 'numero_registro') | |
| 260 | + 'md_pen_processo_eletronico' => array('nome' => 'fk_md_pen_proc_eletr_apensado', | |
| 261 | + 'cols' => array('numero_registro', 'numero_registro')) | |
| 259 | 262 | ) |
| 260 | 263 | )); |
| 261 | 264 | |
| ... | ... | @@ -266,10 +269,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 266 | 269 | 'id_serie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), |
| 267 | 270 | 'sin_padrao' => array($objMetaBD->tipoTextoFixo(1), 'N') |
| 268 | 271 | ), |
| 269 | - 'pk' => array('id_serie'), | |
| 272 | + 'pk' => array('cols'=>array('id_serie')), | |
| 270 | 273 | 'uk' => array('codigo_especie', 'id_serie'), |
| 271 | 274 | 'fks' => array( |
| 272 | - 'serie' => array('id_serie', 'id_serie') | |
| 275 | + 'serie' => array('nome' => ' fk_md_pen_rel_serie_especie', 'cols' => array('id_serie', 'id_serie')) | |
| 273 | 276 | ) |
| 274 | 277 | )); |
| 275 | 278 | |
| ... | ... | @@ -279,22 +282,23 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 279 | 282 | 'id_tarefa' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), |
| 280 | 283 | 'codigo_operacao' => array($objMetaBD->tipoTextoFixo(2), PenMetaBD::NNULLO) |
| 281 | 284 | ), |
| 282 | - 'pk' => array('id_tarefa', 'codigo_operacao'), | |
| 285 | + 'pk' => array('cols'=>array('id_tarefa', 'codigo_operacao')), | |
| 283 | 286 | 'fks' => array( |
| 284 | - 'tarefa' => array('id_tarefa', 'id_tarefa') | |
| 287 | + 'tarefa' => array('nome' => 'fk_md_pen_rel_operacao_tarefa', 'cols' => array('id_tarefa', 'id_tarefa')) | |
| 285 | 288 | ) |
| 286 | 289 | )); |
| 287 | 290 | |
| 291 | + | |
| 288 | 292 | $objMetaBD->criarTabela(array( |
| 289 | - 'tabela' => 'md_pen_rel_tipo_documento_mapeamento_recebido', | |
| 293 | + 'tabela' => 'md_pen_rel_tipo_doc_map_rec', | |
| 290 | 294 | 'cols' => array( |
| 291 | 295 | 'codigo_especie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), |
| 292 | 296 | 'id_serie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), |
| 293 | 297 | 'sin_padrao' => array($objMetaBD->tipoTextoFixo(2), PenMetaBD::NNULLO) |
| 294 | 298 | ), |
| 295 | - 'pk' => array('codigo_especie', 'id_serie'), | |
| 299 | + 'pk' => array('cols'=>array('codigo_especie', 'id_serie')), | |
| 296 | 300 | 'fks' => array( |
| 297 | - 'serie' => array('id_serie', 'id_serie') | |
| 301 | + 'serie' => array('nome' =>'fk_md_pen_rel_tipo_doc_serie', 'cols' => array('id_serie', 'id_serie')) | |
| 298 | 302 | ) |
| 299 | 303 | )); |
| 300 | 304 | |
| ... | ... | @@ -317,13 +321,13 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 317 | 321 | 'ordem' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), |
| 318 | 322 | 'sin_enviar' => array($objMetaBD->tipoTextoFixo(1), 'N') |
| 319 | 323 | ), |
| 320 | - 'pk' => array('numero_registro', 'id_procedimento', 'id_documento', 'id_tramite'), | |
| 324 | + 'pk' => array('cols'=>array('numero_registro', 'id_procedimento', 'id_documento', 'id_tramite')), | |
| 321 | 325 | 'fks' => array( |
| 322 | - 'anexo' => array('id_anexo', 'id_anexo'), | |
| 323 | - 'documento' => array('id_documento', 'id_documento'), | |
| 324 | - 'procedimento' => array('id_procedimento', 'id_procedimento'), | |
| 325 | - 'md_pen_processo_eletronico' => array('numero_registro', 'numero_registro'), | |
| 326 | - 'md_pen_tramite' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite')) | |
| 326 | + 'anexo' => array('nome' => 'fk_md_pen_comp_dig_anexo', 'cols' => array('id_anexo', 'id_anexo')), | |
| 327 | + 'documento' => array('nome' => 'fk_md_pen_comp_dig_documento', 'cols' => array('id_documento', 'id_documento')), | |
| 328 | + 'procedimento' => array('nome' => 'fk_md_pen_comp_dig_procediment', 'cols' => array('id_procedimento', 'id_procedimento')), | |
| 329 | + 'md_pen_processo_eletronico' => array('nome' => 'fk_md_pen_comp_dig_proc_eletr', 'cols' => array('numero_registro', 'numero_registro')), | |
| 330 | + 'md_pen_tramite' => array('nome' => 'fk_md_pen_comp_dig_tramite', 'cols' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite'))) | |
| 327 | 331 | ) |
| 328 | 332 | )); |
| 329 | 333 | |
| ... | ... | @@ -333,12 +337,13 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 333 | 337 | 'id_unidade' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), |
| 334 | 338 | 'id_unidade_rh' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO) |
| 335 | 339 | ), |
| 336 | - 'pk' => array('id_unidade'), | |
| 340 | + 'pk' => array('cols'=>array('id_unidade')), | |
| 337 | 341 | 'fks' => array( |
| 338 | 342 | 'unidade' => array('id_unidade', 'id_unidade') |
| 339 | 343 | ) |
| 340 | 344 | )); |
| 341 | 345 | |
| 346 | + | |
| 342 | 347 | //---------------------------------------------------------------------- |
| 343 | 348 | // Novas sequências |
| 344 | 349 | //---------------------------------------------------------------------- |
| ... | ... | @@ -670,7 +675,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 670 | 675 | 'numero_tentativas' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), |
| 671 | 676 | 'sin_recebimento_concluido' => array($objMetaBD->tipoTextoFixo(1), PenMetaBD::NNULLO) |
| 672 | 677 | ), |
| 673 | - 'pk' => array('id_tramite') | |
| 678 | + 'pk' => array('cols'=>array('id_tramite')), | |
| 674 | 679 | )); |
| 675 | 680 | |
| 676 | 681 | $objInfraParametro = new InfraParametro($objInfraBanco); |
| ... | ... | @@ -742,11 +747,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 742 | 747 | 'id_serie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), |
| 743 | 748 | 'sin_padrao' => array($objMetaBD->tipoTextoFixo(1), 'S') |
| 744 | 749 | ), |
| 745 | - 'pk' => array('id_mapeamento'), | |
| 746 | - //'uk' => array('codigo_especie', 'id_serie'), | |
| 750 | + 'pk' => array('cols'=>array('id_mapeamento')), | |
| 747 | 751 | 'fks' => array( |
| 748 | - 'serie' => array('id_serie', 'id_serie'), | |
| 749 | - 'md_pen_especie_documental' => array('id_especie', 'codigo_especie'), | |
| 752 | + 'serie' => array('nome' => 'fk_md_pen_rel_doc_map_env_seri', 'cols' => array('id_serie', 'id_serie')), | |
| 753 | + 'md_pen_especie_documental' => array('nome' => 'fk_md_pen_rel_doc_map_env_espe', 'cols' => array('id_especie', 'codigo_especie')), | |
| 750 | 754 | ) |
| 751 | 755 | )); |
| 752 | 756 | |
| ... | ... | @@ -758,22 +762,17 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 758 | 762 | 'id_serie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), |
| 759 | 763 | 'sin_padrao' => array($objMetaBD->tipoTextoFixo(1), 'S') |
| 760 | 764 | ), |
| 761 | - 'pk' => array('id_mapeamento'), | |
| 762 | - //'uk' => array('codigo_especie', 'id_serie'), | |
| 765 | + 'pk' => array('cols'=>array('id_mapeamento')), | |
| 763 | 766 | 'fks' => array( |
| 764 | - 'serie' => array('id_serie', 'id_serie'), | |
| 765 | - 'md_pen_especie_documental' => array('id_especie', 'codigo_especie'), | |
| 767 | + 'serie' => array('nome' => 'fk_md_pen_rel_doc_map_rec_seri', 'cols' => array('id_serie', 'id_serie')), | |
| 768 | + 'md_pen_especie_documental' => array('nome' => 'fk_md_pen_rel_doc_map_rec_espe', 'cols' => array('id_especie', 'codigo_especie')), | |
| 766 | 769 | ) |
| 767 | 770 | )); |
| 768 | 771 | |
| 769 | 772 | $objBD = new GenericoBD($objInfraBanco); |
| 770 | - | |
| 771 | 773 | if ($objMetaBD->isTabelaExiste('md_pen_rel_tipo_documento_mapeamento_recebido')) { |
| 772 | - | |
| 773 | 774 | $objDTO = new PenRelTipoDocMapRecebidoDTO(); |
| 774 | - | |
| 775 | 775 | $fnCadastrar = function($numCodigoEspecie, $numIdSerie) use($objDTO, $objBD) { |
| 776 | - | |
| 777 | 776 | $objDTO->unSetTodos(); |
| 778 | 777 | $objDTO->setNumCodigoEspecie($numCodigoEspecie); |
| 779 | 778 | $objDTO->setNumIdSerie($numIdSerie); |
| ... | ... | @@ -788,7 +787,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 788 | 787 | $arrDados = $objInfraBanco->consultarSql('SELECT DISTINCT codigo_especie, id_serie FROM md_pen_rel_tipo_documento_mapeamento_recebido'); |
| 789 | 788 | if (!empty($arrDados)) { |
| 790 | 789 | foreach ($arrDados as $arrDocMapRecebido) { |
| 791 | - | |
| 792 | 790 | $fnCadastrar($arrDocMapRecebido['codigo_especie'], $arrDocMapRecebido['id_serie']); |
| 793 | 791 | } |
| 794 | 792 | } |
| ... | ... | @@ -796,11 +794,8 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 796 | 794 | $objMetaBD->removerTabela('md_pen_rel_tipo_documento_mapeamento_recebido'); |
| 797 | 795 | } |
| 798 | 796 | |
| 799 | - | |
| 800 | 797 | if ($objMetaBD->isTabelaExiste('md_pen_rel_serie_especie')) { |
| 801 | - | |
| 802 | 798 | $objDTO = new PenRelTipoDocMapEnviadoDTO(); |
| 803 | - | |
| 804 | 799 | $fnCadastrar = function($numCodigoEspecie, $numIdSerie) use($objDTO, $objBD) { |
| 805 | 800 | |
| 806 | 801 | $objDTO->unSetTodos(); |
| ... | ... | @@ -808,7 +803,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 808 | 803 | $objDTO->setNumIdSerie($numIdSerie); |
| 809 | 804 | |
| 810 | 805 | if ($objBD->contar($objDTO) == 0) { |
| 811 | - | |
| 812 | 806 | $objDTO->setStrPadrao('S'); |
| 813 | 807 | $objBD->cadastrar($objDTO); |
| 814 | 808 | } |
| ... | ... | @@ -817,7 +811,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 817 | 811 | $arrDados = $objInfraBanco->consultarSql('SELECT DISTINCT codigo_especie, id_serie FROM md_pen_rel_serie_especie'); |
| 818 | 812 | if (!empty($arrDados)) { |
| 819 | 813 | foreach ($arrDados as $arrDocMapEnviado) { |
| 820 | - | |
| 821 | 814 | $fnCadastrar($arrDocMapEnviado['codigo_especie'], $arrDocMapEnviado['id_serie']); |
| 822 | 815 | } |
| 823 | 816 | } |
| ... | ... | @@ -828,10 +821,15 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 828 | 821 | |
| 829 | 822 | /* ---------- antigo método (instalarV004R003S003IW002) ---------- */ |
| 830 | 823 | $strTipo = $this->inicializarObjMetaBanco()->tipoTextoGrande(); |
| 824 | + $objMetaBanco->adicionarColuna('md_pen_recibo_tramite', 'cadeia_certificado_temp', $strTipo, PenMetaBD::SNULLO); | |
| 825 | + BancoSEI::getInstance()->executarSql("update md_pen_recibo_tramite set cadeia_certificado_temp = cadeia_certificado"); | |
| 826 | + $objMetaBanco->excluirColuna('md_pen_recibo_tramite', 'cadeia_certificado'); | |
| 827 | + BancoSEI::getInstance()->executarSql("alter table md_pen_recibo_tramite rename column cadeia_certificado_temp to cadeia_certificado"); | |
| 831 | 828 | |
| 832 | - $this->inicializarObjMetaBanco() | |
| 833 | - ->alterarColuna('md_pen_recibo_tramite', 'cadeia_certificado', $strTipo) | |
| 834 | - ->alterarColuna('md_pen_recibo_tramite_enviado', 'cadeia_certificado', $strTipo); | |
| 829 | + $objMetaBanco->adicionarColuna('md_pen_recibo_tramite_enviado', 'cadeia_certificado_temp', $strTipo, PenMetaBD::SNULLO); | |
| 830 | + BancoSEI::getInstance()->executarSql("update md_pen_recibo_tramite_enviado set cadeia_certificado_temp = cadeia_certificado"); | |
| 831 | + $objMetaBanco->excluirColuna('md_pen_recibo_tramite_enviado', 'cadeia_certificado'); | |
| 832 | + BancoSEI::getInstance()->executarSql("alter table md_pen_recibo_tramite_enviado rename column cadeia_certificado_temp to cadeia_certificado"); | |
| 835 | 833 | |
| 836 | 834 | /* ---------- antigo método (instalarV005R003S005IW018) ---------- */ |
| 837 | 835 | $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); |
| ... | ... | @@ -905,18 +903,16 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 905 | 903 | 'tipo_recibo' => array($objMetaBD->tipoTextoFixo(1), PenMetaBD::NNULLO), |
| 906 | 904 | 'hash_componente_digital ' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) |
| 907 | 905 | ), |
| 908 | - 'pk' => array('id_tramite_hash'), | |
| 906 | + 'pk' => array('cols'=>array('id_tramite_hash')), | |
| 909 | 907 | 'fks' => array( |
| 910 | - 'md_pen_tramite' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite')) | |
| 908 | + 'md_pen_tramite' => array('nome' => 'fk_md_pen_rec_tram_hash_tram', 'cols' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite'))) | |
| 911 | 909 | ) |
| 912 | 910 | )); |
| 913 | 911 | |
| 914 | 912 | $objMetaBD->adicionarColuna('md_pen_recibo_tramite_recebido', 'cadeia_certificado', $this->inicializarObjMetaBanco()->tipoTextoGrande(), PenMetaBD::SNULLO); |
| 915 | 913 | |
| 916 | 914 | $objInfraSequencia = new InfraSequencia($this->getObjInfraIBanco()); |
| 917 | - | |
| 918 | 915 | if (!$objInfraSequencia->verificarSequencia('md_pen_recibo_tramite_hash')) { |
| 919 | - | |
| 920 | 916 | $objInfraSequencia->criarSequencia('md_pen_recibo_tramite_hash', '1', '1', '9999999999'); |
| 921 | 917 | } |
| 922 | 918 | |
| ... | ... | @@ -957,7 +953,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 957 | 953 | 'nome' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO), |
| 958 | 954 | 'sin_ativo' => array($objMetaBD->tipoTextoFixo(1), 'S'), |
| 959 | 955 | ), |
| 960 | - 'pk' => array('id_hipotese_legal') | |
| 956 | + 'pk' => array('cols'=>array('id_hipotese_legal')), | |
| 961 | 957 | )); |
| 962 | 958 | |
| 963 | 959 | $objMetaBD->criarTabela(array( |
| ... | ... | @@ -969,10 +965,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 969 | 965 | 'tipo' => array($objMetaBD->tipoTextoFixo(1), 'E'), |
| 970 | 966 | 'sin_ativo' => array($objMetaBD->tipoTextoFixo(1), 'S'), |
| 971 | 967 | ), |
| 972 | - 'pk' => array('id_mapeamento'), | |
| 968 | + 'pk' => array('cols'=>array('id_mapeamento')), | |
| 973 | 969 | 'fks' => array( |
| 974 | - 'hipotese_legal' => array('id_hipotese_legal', 'id_hipotese_legal'), | |
| 975 | - 'md_pen_hipotese_legal' => array('id_hipotese_legal', 'id_hipotese_legal_pen') | |
| 970 | + 'hipotese_legal' => array('nome' => 'fk_md_pen_rel_hipotese_legal', 'cols' => array('id_hipotese_legal', 'id_hipotese_legal')), | |
| 971 | + 'md_pen_hipotese_legal' => array('nome' => 'fk_md_pen_rel_hipotese_pen', 'cols' => array('id_hipotese_legal', 'id_hipotese_legal_pen')) | |
| 976 | 972 | ) |
| 977 | 973 | )); |
| 978 | 974 | |
| ... | ... | @@ -1001,7 +997,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 1001 | 997 | 'nome'=> array($objMetaBD->tipoTextoVariavel(100), PenMetaBD::NNULLO), |
| 1002 | 998 | 'valor' => array($objMetaBD->tipoTextoGrande(), PenMetaBD::NNULLO) |
| 1003 | 999 | ), |
| 1004 | - 'pk' => array('nome') | |
| 1000 | + 'pk' => array('cols'=>array('nome')), | |
| 1005 | 1001 | )); |
| 1006 | 1002 | |
| 1007 | 1003 | //Agendamento |
| ... | ... | @@ -1027,13 +1023,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 1027 | 1023 | $fnCadastrar('PENAgendamentoRN::atualizarHipotesesLegais', 'Verificação se há novas hipóteses legais do barramento.'); |
| 1028 | 1024 | |
| 1029 | 1025 | /* altera o parâmetro da versão de banco */ |
| 1026 | + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); | |
| 1030 | 1027 | $objInfraParametroDTO = new InfraParametroDTO(); |
| 1031 | 1028 | $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO); |
| 1032 | - $objInfraParametroDTO->setStrValor('1.0.0'); | |
| 1033 | - $objInfraParametroDTO->retTodos(); | |
| 1034 | - | |
| 1035 | - $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); | |
| 1036 | - $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO); | |
| 1037 | 1029 | $objInfraParametroDTO->setStrValor('1.0.1'); |
| 1038 | 1030 | $objInfraParametroBD->alterar($objInfraParametroDTO); |
| 1039 | 1031 | } |
| ... | ... | @@ -1090,14 +1082,12 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 1090 | 1082 | } |
| 1091 | 1083 | |
| 1092 | 1084 | /* altera o parâmetro da versão de banco */ |
| 1085 | + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); | |
| 1093 | 1086 | $objInfraParametroDTO = new InfraParametroDTO(); |
| 1094 | 1087 | $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO_ANTIGO); |
| 1095 | - $objInfraParametroDTO->setStrValor('1.0.1'); | |
| 1096 | - $objInfraParametroDTO->retTodos(); | |
| 1097 | - $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); | |
| 1098 | - $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO); | |
| 1099 | 1088 | $objInfraParametroDTO->setStrValor('1.1.0'); |
| 1100 | 1089 | $objInfraParametroBD->alterar($objInfraParametroDTO); |
| 1090 | + | |
| 1101 | 1091 | } |
| 1102 | 1092 | |
| 1103 | 1093 | /* Contem atualizações da versao 1.1.1 do módulo */ |
| ... | ... | @@ -1107,11 +1097,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 1107 | 1097 | BancoSEI::getInstance()->executarSql("update infra_parametro set nome = '" . self::PARAMETRO_VERSAO_MODULO . "' where nome = '" . self::PARAMETRO_VERSAO_MODULO_ANTIGO . "'"); |
| 1108 | 1098 | |
| 1109 | 1099 | /* altera o parâmetro da versão de banco */ |
| 1100 | + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); | |
| 1110 | 1101 | $objInfraParametroDTO = new InfraParametroDTO(); |
| 1111 | 1102 | $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO); |
| 1112 | - $objInfraParametroDTO->retTodos(); | |
| 1113 | - $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); | |
| 1114 | - $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO); | |
| 1115 | 1103 | $objInfraParametroDTO->setStrValor('1.1.1'); |
| 1116 | 1104 | $objInfraParametroBD->alterar($objInfraParametroDTO); |
| 1117 | 1105 | } |
| ... | ... | @@ -1144,15 +1132,19 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 1144 | 1132 | $fnCadastrar(186, 'Estudo', 'Podendo ser complementado com "Técnico Preliminar da Contratação"; "Técnico".'); |
| 1145 | 1133 | $fnCadastrar(999, 'Outra', 'Outras espécies documentais não identificadas.'); |
| 1146 | 1134 | |
| 1135 | + // if($this->isTabelaExiste('md_pen_rel_tipo_documento_mapeamento_recebido')) { | |
| 1136 | + // if (BancoSEI::getInstance() instanceof InfraSqlServer) { | |
| 1137 | + // BancoSEI::getInstance()->executarSql("sp_rename 'md_pen_rel_tipo_documento_mapeamento_recebido', 'md_pen_rel_tipo_doc_map_rec'"); | |
| 1138 | + // } else { | |
| 1139 | + // BancoSEI::getInstance()->executarSql("ALTER TABLE 'md_pen_rel_tipo_documento_mapeamento_recebido' RENAME TO 'md_pen_rel_tipo_doc_map_rec'"); | |
| 1140 | + // } | |
| 1141 | + // } | |
| 1142 | + | |
| 1147 | 1143 | //altera o parâmetro da versão de banco |
| 1144 | + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); | |
| 1148 | 1145 | $objInfraParametroDTO = new InfraParametroDTO(); |
| 1149 | 1146 | $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO); |
| 1150 | - $objInfraParametroDTO->retTodos(); | |
| 1151 | - $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); | |
| 1152 | - $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO); | |
| 1153 | 1147 | $objInfraParametroDTO->setStrValor('1.1.7'); |
| 1154 | 1148 | $objInfraParametroBD->alterar($objInfraParametroDTO); |
| 1155 | 1149 | } |
| 1156 | - | |
| 1157 | - | |
| 1158 | 1150 | } | ... | ... |
rn/ProcessoEletronicoRN.php
| ... | ... | @@ -104,7 +104,7 @@ class ProcessoEletronicoRN extends InfraRN { |
| 104 | 104 | , 'local_cert' => $this->strLocalCert |
| 105 | 105 | , 'passphrase' => $this->strLocalCertPassword |
| 106 | 106 | , 'resolve_wsdl_remote_includes' => true |
| 107 | - , 'cache_wsdl'=> DIR_SEI_TEMP | |
| 107 | + , 'cache_wsdl'=> WSDL_CACHE_NONE | |
| 108 | 108 | , 'trace' => true |
| 109 | 109 | , 'encoding' => 'UTF-8' |
| 110 | 110 | , 'attachment_type' => BeSimple\SoapCommon\Helper::ATTACHMENTS_TYPE_MTOM |
| ... | ... | @@ -163,13 +163,10 @@ class ProcessoEletronicoRN extends InfraRN { |
| 163 | 163 | try { |
| 164 | 164 | |
| 165 | 165 | $objConfig = ConfiguracaoSEI::getInstance(); |
| 166 | - | |
| 167 | 166 | if($objConfig->isSetValor('SEI', 'LogPenWs')){ |
| 168 | - | |
| 169 | 167 | $this->objPenWs = new LogPenWs($objConfig->getValor('SEI', 'LogPenWs'), $this->strWSDL, $this->options); |
| 170 | 168 | } |
| 171 | 169 | else { |
| 172 | - | |
| 173 | 170 | $this->objPenWs = new BeSimple\SoapClient\SoapClient($this->strWSDL, $this->options); |
| 174 | 171 | } |
| 175 | 172 | } catch (Exception $e) { | ... | ... |