Parametrización de tipos de radicación por Martha Mera) */ ?> Sistema de Gestión Documental Orfeo/GPL - Secuencias de radicación
Conexión a la BD:
Usar archivo config.php
Ingresar datos de conexión a la BD
Motor de BD: Postgres
Oracle
MS SQL Server (Usar ADOdb)
Nombre de la BD: ' >
Servidor: Puerto:
Usuario de conexión a la BD: ' > Contraseña de conexión a la BD:
 
conn; } else if( $_POST['modoConexionBD'] === '1' ){ include( $ruta_raiz.'/adodb/adodb.inc.php' ); // Nombre de la base de datos de Orfeo. $bd = $_POST['bd']; // Usuario de conexión con permisos de modificación y creación de objetos en la base de datos. $usuario = $_POST['usuario']; // Contraseña del usuario de conexión a la BD. $contrasena= $_POST['contrasena']; // Nombre o IP del servidor de BD. $servidor = $_POST['servidor']; // Puerto de conexión a la BD. $puerto = $_POST['puerto']; // Conexión a la BD utilizando la información ingresada en el formulario. $db = NewADOConnection( $_POST['driver'] ); if( $db->Connect( $servidor.':'.$puerto, $usuario, $contrasena, $bd ) == false ){ die( 'Error de conexión a la BD.' ); } } //$db->debug = true; // Verifica que se haya establecido la conexión a la BD. if( $db ){ // Arreglo con los nombre de las columnas que conforman la tabla DEPENDENCIA. $arrColumnas = $db->MetaColumnNames( 'dependencia' ); } $arrSQLColumnas = array(); // Verifica el arreglo con los nombre de las columnas que conforman la tabla DEPENDENCIA. if( is_array( $arrColumnas ) ){ foreach( $arrColumnas as $arrColumnasClave => $arrColumnasValor ){ if( strlen( $arrColumnasClave ) > strlen( 'DEPE_RAD_TP') && ( substr_compare( $arrColumnasClave, 'DEPE_RAD_TP', 0, strlen( 'DEPE_RAD_TP') ) === 0 || substr_compare( $arrColumnasValor, 'depe_rad_tp', 0, strlen( 'depe_rad_tp') ) === 0 ) ){ /** *Arreglo que contiene los nombres de las columnas de la tabla DEPENDENCIA que coinciden con * la cadena DEPE_RAD_TP o depe_rad_tp, asociadas a un tipo de radicado específico, p.e. depe_rad_tp1, * depe_rad_tp2, depe_rad_tp3 o DEPE_RAD_TP1, DEPE_RAD_TP2, DEPE_RAD_TP3. * El índice del arreglo corresponde al código asociado al tipo de radicado, p.e. 1, 2, 3. */ $arrSQLColumnas[ substr( $arrColumnasClave, strlen( 'DEPE_RAD_TP'), 1 ) ] = $arrColumnasValor; /** * Arreglo que contiene los códigos asociados a un tipo de radicado, p.e. 1,2,3. * El índice del arreglo corresponde al nombre de la columna de la tabla DEPENDENCIA * que coincide con la cadena DEPE_RAD_TP, asociadas a un tipo de radicado específico, p.e. DEPE_RAD_TP1, * DEPE_RAD_TP2, DEPE_RAD_TP3. */ $arrTpRad[ $arrColumnasClave ] = substr( $arrColumnasClave, strlen( 'DEPE_RAD_TP'), 1 ); } } } // Verifica que se haya establecido la conexión a la BD. if( $db ){ /** * Sentencia SQL para consultar los valores almacenados en las columnas de la tabla DEPENDENCIA asociadas a un * tipo de radicado específico (depe_rad_tp1, depe_rad_tp2, depe_rad_tp3). Los valores corresponden al código de * la dependencia de la cual toma la secuencia para generar el consecutivo de un tipo de radicado. p.e. depe_rad_tp1 = 100, * depe_rad_tp2 = 100, depe_rad_tp3 = 900. */ $sqlCodDepeSecuencia = 'SELECT '.implode( ',', $arrSQLColumnas ) . ' FROM dependencia'; $rsCodDepeSecuencia = $db->Execute( $sqlCodDepeSecuencia ); $arrCodDepeSecuenciaTpRad = array(); $arrSQLEliminarSecuencia = array(); $arrSQLCrearSecuencia = array(); while( !$rsCodDepeSecuencia->EOF ){ /** * Arreglo que contiene los valores almacenados en las columnas de la tabla DEPENDENCIA asociadas a un * tipo de radicado específico (depe_rad_tp1, depe_rad_tp2, depe_rad_tp3). El índice del arreglo corresponde * al nombre de la columna de la tabla DEPENDENCIA asociada a un tipo de radicado específico, p.e. DEPE_RAD_TP1, * DEPE_RAD_TP2, DEPE_RAD_TP3. */ $arrCodDepeSecuenciaTpRad = $rsCodDepeSecuencia->GetRowAssoc(); foreach( $arrCodDepeSecuenciaTpRad as $claveArrCodDepeSecuenciaTpRad => $valorArrCodDepeSecuenciaTpRad ){ if( $valorArrCodDepeSecuenciaTpRad != '' && $valorArrCodDepeSecuenciaTpRad != NULL ){ // Nombre de la secuencia a crear o eliminar. $nombreSecuencia = 'secr_tp'.$arrTpRad[ $claveArrCodDepeSecuenciaTpRad ].'_'.$valorArrCodDepeSecuenciaTpRad; if( isset( $_POST['sqlReiniciarSecuencias'] ) || isset( $_POST['reiniciarSecuencias'] ) || isset( $_POST['reiniciarSecuenciasADOdb'] ) ){ /** * Arreglo que contiene las sentencias SQL para eliminar secuencias. * El índice del arreglo es el nombre de la secuencia, p.e. secr_tp1_900, secr_tp2_900, secr_tp3_900 */ /* $arrSQLEliminarSecuencia[ 'secr_tp'.$arrTpRad[ $claveArrCodDepeSecuenciaTpRad ].'_'.$valorArrCodDepeSecuenciaTpRad ] = 'DROP SEQUENCE secr_tp'.$arrTpRad[ $claveArrCodDepeSecuenciaTpRad ].'_'.$valorArrCodDepeSecuenciaTpRad.';'; */ $arrSQLEliminarSecuencia[ $nombreSecuencia ] = 'DROP SEQUENCE '.$nombreSecuencia.';'; //print $sqlEliminarSecuencia.'
'; } /** * Arreglo que contiene las sentencias SQL para crear secuencias. * El índice del arreglo es el nombre de la secuencia, p.e. secr_tp1_900, secr_tp2_900, secr_tp3_900 */ /* $arrSQLCrearSecuencia[ 'secr_tp'.$arrTpRad[ $claveArrCodDepeSecuenciaTpRad ].'_'.$valorArrCodDepeSecuenciaTpRad ] = 'CREATE SEQUENCE secr_tp'.$arrTpRad[ $claveArrCodDepeSecuenciaTpRad ].'_'.$valorArrCodDepeSecuenciaTpRad.' INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; ALTER TABLE secr_tp'.$arrTpRad[ $claveArrCodDepeSecuenciaTpRad ].'_'.$valorArrCodDepeSecuenciaTpRad.' OWNER TO '.$usuario.';'; */ $arrSQLCrearSecuencia[ $nombreSecuencia ] = 'CREATE SEQUENCE '.$nombreSecuencia.' INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; ALTER TABLE '.$nombreSecuencia.' OWNER TO '.$usuario.';'; //print $sqlCrearSecuencia.'
'; } } $rsCodDepeSecuencia->MoveNext(); } if( is_array( $arrSQLEliminarSecuencia ) && !isset( $_POST['reiniciarSecuenciasADOdb'] ) && !isset( $_POST['crearSecuenciasADOdb'] ) ){ foreach( $arrSQLEliminarSecuencia as $claveSQLEliminarSecuencia => $valorSQLEliminarSecuencia ){ print $valorSQLEliminarSecuencia.'
'; if( isset( $_POST['reiniciarSecuencias'] ) ){ // Ejecuta las sentencias SQL para eliminar secuencias. if( $db->Execute( $valorSQLEliminarSecuencia ) === false ){ die( 'Error al eliminar la secuencia '.$claveSQLEliminarSecuencia.' '.$db->ErrorMsg() ); } else{ print 'Secuencia '.$claveSQLEliminarSecuencia.' eliminada.

'; } } } } if( is_array( $arrSQLCrearSecuencia ) && !isset( $_POST['reiniciarSecuenciasADOdb'] ) && !isset( $_POST['crearSecuenciasADOdb'] ) ){ foreach( $arrSQLCrearSecuencia as $claveSQLCrearSecuencia => $valorSQLCrearSecuencia ){ print $valorSQLCrearSecuencia.'
'; // Ejecuta las sentencias SQL para crear secuencias. if( isset( $_POST['crearSecuencias'] ) || isset( $_POST['reiniciarSecuencias'] ) ){ if( $db->Execute( $valorSQLCrearSecuencia ) === false ){ die( 'Error al crear la secuencia '.$claveSQLCrearSecuencia.' '.$db->ErrorMsg() ); } else{ print 'Secuencia '.$claveSQLCrearSecuencia.' creada.

'; } } } } // Eliminar secuencia utilizando ADOdb. if( isset( $_POST['reiniciarSecuenciasADOdb'] ) ){ foreach( $arrSQLEliminarSecuencia as $claveSQLEliminarSecuencia => $valorSQLEliminarSecuencia ){ $db->DropSequence( $claveSQLEliminarSecuencia ); if( $db->ErrorMsg() == '' ){ print 'Secuencia '.$claveSQLEliminarSecuencia.' eliminada.

'; }else{ print $db->ErrorMsg().'
'; } } } // Crear secuencia utilizando ADOdb. if( isset( $_POST['reiniciarSecuenciasADOdb'] ) || isset( $_POST['crearSecuenciasADOdb'] ) ){ foreach( $arrSQLCrearSecuencia as $claveSQLCrearSecuencia => $valorSQLCrearSecuencia ){ // Valor de inicio de la secuencia. $inciarEn = 1; $db->CreateSequence( $claveSQLCrearSecuencia, $inciarEn ); if( $db->ErrorMsg() == '' ){ print 'Secuencia '.$claveSQLCrearSecuencia.' creada.

'; }else{ print $db->ErrorMsg().'
'; } } } } ?>