<?php 
///////////////////////////////////////////////////////////////////////////////////////////////////////
//       Class : sigesp_copia_nomina_nomina.php                                                 			  //    
// Description : Procesa la copia de datos del modulo de nomina										  //
////////////////////////////////////////////////////////////////////////////////////////////////////////

class covensol_apr_c_contenedor {

	var $io_sql_origen;
	var $io_sql_destino;
	var $io_mensajes;
	var $io_funciones;
	var $io_validacion;
	var	$lo_archivo;
	var $io_sql;
	var $li_candeccon;
	var $li_tipconmon;
	var $li_redconmon;

	//-----------------------------------------------------------------------------------------------------------------------------------
	function covensol_apr_c_contenedor($param=array())
	{
		require_once("../shared/class_folder/sigesp_include_covensol.php");
		require_once("../shared/class_folder/class_sql_covensol.php");
		require_once("../shared/class_folder/class_mensajes.php");
		require_once("../shared/class_folder/class_funciones.php");	
		require_once("class_folder/class_validacion.php");
		require_once("../shared/class_folder/class_fecha.php");
		require_once("sigesp_copia_sno_historico.php");
				
		$this->ls_database_source = $_SESSION["ls_database"];
		$this->ls_database_target = $_SESSION["ls_data_des"];
		$this->io_mensajes        = new class_mensajes();		
		$this->io_funciones       = new class_funciones();
		$this->io_validacion      = new class_validacion();
		$this->io_fecha           = new class_fecha();
		$io_conect	              = new sigesp_include_covensol();
		$io_conexion_origen       = $io_conect->uf_conectar();
		$io_conexion_destino  = $io_conect->uf_conectar_otra_bd ($_SESSION["ls_hostname"],$_SESSION["ls_login"],$_SESSION["ls_password"],$this->ls_database_target,$_SESSION["ls_gestor"]); 
		$this->io_sql_origen      = new class_sql_covensol($io_conexion_origen);
		$this->io_sql_destino 	  = new class_sql_covensol($io_conexion_destino);
		$this->sno_historico 	  = new sigesp_copia_sno_historico();
		$ld_fecha=date("_d-m-Y");
		$ls_nombrearchivo         = "resultado/".$_SESSION["ls_data_des"]."_sno_result_".$ld_fecha.".txt";
		$this->lo_archivo         = @fopen("$ls_nombrearchivo","a+");
		$this->ls_codemp          = $_SESSION["la_empresa"]["codemp"];
		
		$this->li_candeccon= 4;
		$this->	li_tipconmon= 1;
		$this->li_redconmon=1000;
		
		global $ruta;		
		if($ruta==''){$ruta="../";}	
		require_once($ruta."shared/class_folder/sigesp_conexiones.php");
		$this->io_conexiones=new conexiones();
		
		$this->borrar_tabla = 0;
		$this->msjejec = "";
		$this->msjresultado = "";	
		$this->periodo_nuevo();
		$this->ano_apr = substr($this->periodo_apr,0,4);
		
	}// end function 

	
	function crear_contenedor()
	{
		
		$lb_valido=true;
		if($this->lo_archivo){@fwrite($this->lo_archivo," \r\n".date('H:i:s').'.- Iniciando Apertura de Contenedor ... '." \r\n"." \r\n");}
		
		
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_scb()<br />'; $lb_valido=$this->limpiar_movimientos_scb();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_cxp()<br />'; $lb_valido=$this->limpiar_movimientos_cxp();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_scv()<br />'; $lb_valido=$this->limpiar_movimientos_scv();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_soc()<br />'; $lb_valido=$this->limpiar_movimientos_soc();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_siv()<br />'; $lb_valido=$this->limpiar_movimientos_siv();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_sep()<br />'; $lb_valido=$this->limpiar_movimientos_sep();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_spi()<br />'; $lb_valido=$this->limpiar_movimientos_spi();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_spg()<br />'; $lb_valido=$this->limpiar_movimientos_spg();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_scg()<br />'; $lb_valido=$this->limpiar_movimientos_scg();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_sigesp()<br />'; $lb_valido=$this->limpiar_movimientos_sigesp();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_sno()<br />'; $lb_valido=$this->limpiar_movimientos_sno();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> limpiar_movimientos_sss()<br />'; $lb_valido=$this->limpiar_movimientos_sss();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> actualizar_periodo_bd()<br />'; $lb_valido=$this->actualizar_periodo_bd();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> inicializar_nomina()<br />'; $lb_valido=$this->inicializar_nomina();} 
		if($lb_valido and $_POST['chkvacuum']){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> mantenimiento_bd()<br />'; $lb_valido=$this->mantenimiento_bd();} 
		
		if(!$lb_valido){$this->io_mensajes->message("Ocurrió un error al inicializar el contenedor."); return false;}    
		$this->io_mensajes->message("El contenedor se creo correctamente."); 
		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- El contenedor se creo correctamente.'." \r\n"." \r\n");}	
		$this->io_validacion->uf_insert_sistema_apertura('SPI');
			
		return true;
			
	}
	
	function periodo_nuevo($param=array()){
		 
		 $ls_sql="SELECT (substr(periodo,1,4)::integer + 1)||substr(periodo,5,10) as periodo FROM sigesp_empresa  ";
		 $rs_periodo=$this->io_sql_origen->select($ls_sql);
		 if($rs_periodo===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->periodo_nuevo ERROR->".$this->io_sql_origen->message);
			return false;						
		 }
		 
		 $this->periodo_apr = $this->io_conexiones->formatea_fecha_normal($rs_periodo->fields['periodo']);		 
		 return $this->periodo_apr;
		 
	}
	
	function actualizar_periodo_bd($param=array()){
				
				 $ls_sql="SELECT (substr(periodo,1,4)::integer + 1)||substr(periodo,5,10) as periodo FROM sigesp_empresa  ";
				 $rs_periodo=$this->io_sql_origen->select($ls_sql);
				 if($rs_periodo===false){	   
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->actualizar_periodo_bd ERROR->".$this->io_sql_origen->message);
					return false;						
				 }
				 
				 $ls_sql="UPDATE sigesp_empresa SET periodo = '".trim($rs_periodo->fields['periodo'])."'";
				 $rs_perdes=$this->io_sql_destino->select($ls_sql);
				 if($rs_perdes===false){	   
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->actualizar_periodo_bd ERROR->".$this->io_sql_destino->message);
					return false;						
				 }	
				 
				 return true;			
	
	}
	
	function mantenimiento_bd(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- mantenimiento_bd ... '." \r\n");}
		 
		 $sql_vacuum="  
		               VACUUM FULL;
					 ";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->mantenimiento_bd ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  CONTENEDOR DESTINO <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	function limpiar_movimientos_scb(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_scb ... '." \r\n");}
		 
		 $sql_truncate=" TRUNCATE TABLE 
								cxp_sol_banco, /* FK */
								scb_movbco_scg,
								scb_movbco_spg,
								scb_movbco_spi,
								scb_movbco_fuefinanciamiento,
								scb_dt_movbco,
								scb_dt_op,
								scb_movbco_spgop,
								scb_movbco_anticipo,
								scb_movbco,
								scb_dt_cmp_ret,
								scb_dt_cmp_ret_op,
								scb_dt_colocacion,
								scb_dt_fondosavance,
								scb_cmp_ret,
								scb_cmp_ret_op,
								scb_colocacion,
								scb_conciliacion,
								scb_errorconcbco,
								scb_fondosavance,
								scb_movcol_scg,
								scb_movcol_spg,
								scb_movcol_spi,
								scb_movcaja,
								scb_movcol,
								scb_prog_pago
							;";		 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_scb ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SCB <br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $resp = $this->mantenimiento_tablas('SCB');
		 if ($resp===false){return false;}
		 $sql_vacuum="  VACUUM FULL cxp_sol_banco;
						VACUUM FULL scb_movbco_scg;
						VACUUM FULL scb_movbco_spg;
						VACUUM FULL scb_movbco_spi;
						VACUUM FULL scb_movbco_fuefinanciamiento;
						VACUUM FULL scb_dt_movbco;
						VACUUM FULL scb_dt_op;
						VACUUM FULL scb_movbco_spgop;
						VACUUM FULL scb_movbco_anticipo;
						VACUUM FULL scb_movbco;
						VACUUM FULL scb_dt_cmp_ret;
						VACUUM FULL scb_dt_cmp_ret_op;
						VACUUM FULL scb_dt_colocacion;
						VACUUM FULL scb_dt_fondosavance;
						VACUUM FULL scb_cmp_ret;
						VACUUM FULL scb_cmp_ret_op;
						VACUUM FULL scb_colocacion;
						VACUUM FULL scb_conciliacion;
						VACUUM FULL scb_errorconcbco;
						VACUUM FULL scb_fondosavance;
						VACUUM FULL scb_movcol_scg;
						VACUUM FULL scb_movcol_spg;
						VACUUM FULL scb_movcol_spi;
						VACUUM FULL scb_movcaja;
						VACUUM FULL scb_movcol;
						VACUUM FULL scb_prog_pago;";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_scb ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SCB <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	function limpiar_movimientos_sss(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_sss ... '." \r\n");}

		 $sql_truncate=" TRUNCATE TABLE 
							sss_registro_eventos
						;";		 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_sss ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SSS <br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum="  
		               VACUUM FULL sss_registro_eventos;
					 ";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_sss ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SSS <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	
	function limpiar_movimientos_cxp(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_cxp ... '." \r\n");}
		 
		 $sql_truncate=" TRUNCATE TABLE 
							cxp_dt_cmp_islr,
							cxp_cmp_islr,
							cxp_dc_cargos,
							cxp_dc_scg,
							cxp_dc_spg,
							cxp_dc_spi,
							cxp_sol_dc,
							cxp_sol_banco,
							cxp_solicitudes_scg,
							cxp_dt_solicitudes,
							cxp_historico_solicitud,
							scb_prog_pago, /* FK */
							cxp_solicitudes,
							cxp_dt_amortizacion,
							cxp_historico_rd,
							cxp_rd_amortizacion,
							cxp_rd_cargos,
							cxp_rd_deducciones,
							cxp_rd_scg,
							cxp_rd_spg,
							cxp_scg_inter,
							cxp_rd
						; ";		 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_cxp ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  CXP <br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum="  VACUUM FULL cxp_dt_cmp_islr;
						VACUUM FULL cxp_cmp_islr;
						VACUUM FULL cxp_dc_cargos;
						VACUUM FULL cxp_dc_scg;
						VACUUM FULL cxp_dc_spg;
						VACUUM FULL cxp_dc_spi;
						VACUUM FULL cxp_sol_dc;
						VACUUM FULL cxp_sol_banco;
						VACUUM FULL cxp_solicitudes_scg;
						VACUUM FULL cxp_dt_solicitudes;
						VACUUM FULL cxp_historico_solicitud;
						VACUUM FULL cxp_solicitudes;
						VACUUM FULL cxp_dt_amortizacion;
						VACUUM FULL cxp_historico_rd;
						VACUUM FULL cxp_rd_amortizacion;
						VACUUM FULL cxp_rd_cargos;
						VACUUM FULL cxp_rd_deducciones;
						VACUUM FULL cxp_rd_scg;
						VACUUM FULL cxp_rd_spg;
						VACUUM FULL cxp_scg_inter;
						VACUUM FULL cxp_rd;";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_cxp ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  CXP <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	
	function limpiar_movimientos_scv(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_scv ... '." \r\n");}

		 $sql_truncate=" TRUNCATE TABLE 
							scv_dt_asignaciones,
							scv_dt_personal,
							scv_dt_scg,
							scv_dt_spg,
							scv_solicitudviatico
						;";		 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_scv ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SCV <br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum="  VACUUM FULL scv_dt_asignaciones;
						VACUUM FULL scv_dt_personal;
						VACUUM FULL scv_dt_scg;
						VACUUM FULL scv_dt_spg;
						VACUUM FULL scv_solicitudviatico;";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_scv ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SCV <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	
	function limpiar_movimientos_soc(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_soc ... '." \r\n");}

		 $sql_truncate=" TRUNCATE TABLE 
							soc_dts_cargos,
							soc_dta_cargos,
							soc_dt_bienes,
							soc_dt_com_ac,
							soc_dt_servicio,
							soc_dtac_bienes,
							soc_dtac_servicios,
							soc_dtcot_bienes,
							soc_dtcot_servicio,
							soc_dtsc_bienes,
							soc_dtsc_servicios,
							soc_cuentagasto,
							soc_solicitudcargos,
							soc_enlace_sep,
							soc_ordencompra,
							soc_oc_deducciones,
							soc_solcotsep,
							soc_dt_ac,
							soc_cotxanalisis,
							soc_analisicotizacion,
							soc_cotizacion,
							soc_sol_cotizacion
						;";		 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_soc ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SOC <br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum="  VACUUM FULL soc_dts_cargos;
						VACUUM FULL soc_dta_cargos;
						VACUUM FULL soc_dt_bienes;
						VACUUM FULL soc_dt_com_ac;
						VACUUM FULL soc_dt_servicio;
						VACUUM FULL soc_dtac_bienes;
						VACUUM FULL soc_dtac_servicios;
						VACUUM FULL soc_dtcot_bienes;
						VACUUM FULL soc_dtcot_servicio;
						VACUUM FULL soc_dtsc_bienes;
						VACUUM FULL soc_dtsc_servicios;
						VACUUM FULL soc_cuentagasto;
						VACUUM FULL soc_solicitudcargos;
						VACUUM FULL soc_enlace_sep;
						VACUUM FULL soc_ordencompra;
						VACUUM FULL soc_oc_deducciones;
						VACUUM FULL soc_solcotsep;
						VACUUM FULL soc_dt_ac;
						VACUUM FULL soc_cotxanalisis;
						VACUUM FULL soc_analisicotizacion;
						VACUUM FULL soc_cotizacion;
						VACUUM FULL soc_sol_cotizacion;";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_soc ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SOC <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	
	function limpiar_movimientos_siv(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_siv ... '." \r\n");}
		 
		 $sql_truncate=" TRUNCATE TABLE 
							siv_dt_despacho,
							siv_dt_movimiento,
							siv_dt_recepcion,
							siv_dt_scg,
							siv_dt_scg_int,
							siv_dt_spg,
							siv_dt_toma,
							siv_dt_transferencia,
							siv_despacho,
							siv_movimiento,
							siv_articuloalmacen
						;";		 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_siv ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SIV <br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum=" 	VACUUM FULL siv_dt_despacho;
						VACUUM FULL siv_dt_movimiento;
						VACUUM FULL siv_dt_recepcion;
						VACUUM FULL siv_dt_scg;
						VACUUM FULL siv_dt_scg_int;
						VACUUM FULL siv_dt_spg;
						VACUUM FULL siv_dt_toma;
						VACUUM FULL siv_dt_transferencia;
						VACUUM FULL siv_despacho;
						VACUUM FULL siv_movimiento;
						VACUUM FULL siv_articuloalmacen;";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_siv ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SIV <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	
	function limpiar_movimientos_sep(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_sep ... '." \r\n");}
		 
		 $sql_truncate=" TRUNCATE TABLE 
							sep_dtc_cargos,
							sep_dts_cargos,
							sep_dt_concepto,
							sep_dt_servicio,
							sep_dta_cargos,
							sep_dt_articulos,
							sep_enlace_os,
							sep_cuentagasto,
							sep_solicitudcargos,
							soc_enlace_sep, /* FK */
							soc_solcotsep,  /* FK */
							siv_dt_spg, /* FK */
							siv_dt_despacho, /* FK */
							siv_despacho, /* FK */
							sep_solicitud
						;
						";		 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_sep ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SEP <br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum="  VACUUM FULL sep_dtc_cargos;
						VACUUM FULL sep_dts_cargos;
						VACUUM FULL sep_dt_concepto;
						VACUUM FULL sep_dt_servicio;
						VACUUM FULL sep_dta_cargos;
						VACUUM FULL sep_dt_articulos;
						VACUUM FULL sep_enlace_os;
						VACUUM FULL sep_cuentagasto;
						VACUUM FULL sep_solicitudcargos;
						VACUUM FULL soc_enlace_sep;
						VACUUM FULL soc_solcotsep;
						VACUUM FULL siv_dt_spg;
						VACUUM FULL siv_dt_despacho;
						VACUUM FULL siv_despacho;
						VACUUM FULL sep_solicitud;";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_sep ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SEP <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	function limpiar_movimientos_spi(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_spi ... '." \r\n");}
		 
		 
		  $sql_truncate_movimientos=" TRUNCATE TABLE 
										sno_dt_spi, /* FK */
										spi_dt_cmp,
										spi_dtmp_cmp
									;
									";	
		 
		 $sql_truncate_all=" TRUNCATE TABLE 
								sno_dt_spi, /* FK */
								spi_dt_cmp,
								spi_dtmp_cmp,
								spi_cuentas,
								spi_cuentas_estructuras
							;
							";	
		 
		 
		 
		 $sql_truncate = ($_POST['chkspitransferir'])?$sql_truncate_movimientos:$sql_truncate_all;
		 $msjtrucate = ($_POST['chkspitransferir'])?'- SE CONSERVO LA ESTRUCTURA ':'';
		 
		 	 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_spi ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SPI ".$msjtrucate."<br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum="  VACUUM FULL spi_dt_cmp;
						VACUUM FULL spi_dtmp_cmp;
						VACUUM FULL spi_cuentas;
						VACUUM FULL spi_cuentas_estructuras;";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_spi ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SPI <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	
	function limpiar_movimientos_spg(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_spg ... '." \r\n");}
		 
		 
		 
		 $sql_truncate_movimientos=" TRUNCATE TABLE 
										scb_dt_fondosavance, /* FK */
										scb_fondosavance, /* FK */
										scb_movcol_scg, /* FK */
										sigesp_consolidacion, /* FK */
										sob_cuentapuntodecuenta, /* FK */
										sob_cuentasasignacion, /* FK */
										sob_cuentavariacion, /* FK */										
										spg_dt_cmp,
										spg_dt_fuentefinanciamiento,
										spg_dt_unidadadministrativa,
										spg_dtmp_cmp,
										spg_dtmp_mensual,
										spg_saldos,
										spg_variacion
									;
									";
		 
		 
		 $sql_truncate_all=" TRUNCATE TABLE 
							    scb_dt_fondosavance, /* FK */
								scb_fondosavance, /* FK */
								scb_movcol_scg, /* FK */
								sigesp_consolidacion, /* FK */
								sob_cuentapuntodecuenta, /* FK */
								sob_cuentasasignacion, /* FK */
								sob_cuentavariacion, /* FK */
								spi_dt_cmp, /* FK */
								spi_cuentas_estructuras, /* FK */
								sno_dt_spi, /* FK */
								spi_dtmp_cmp, /* FK */
								spg_dt_cmp,
								spg_dt_fuentefinanciamiento,
								spg_dt_unidadadministrativa,
								spg_dtmp_cmp,
								spg_dtmp_mensual,
								spg_aut_comp,
								spg_cuenta_fuentefinanciamiento,
								spg_regmodprogramado,
								spg_saldos,
								spg_variacion,
								spg_cuentas,
								spg_ep5,
								spg_ep4,
								spg_ep3,
								spg_ep2,
								spg_ep1
							;
							";		
		 
		$sql_truncate = ($_POST['chkspgtransferir'])?$sql_truncate_movimientos:$sql_truncate_all;
		$msjtrucate = ($_POST['chkspgtransferir'])?'- SE CONSERVO LA ESTRUCTURA ':''; 
		  
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_spg ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SPG  ".$msjtrucate."<br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum="  VACUUM FULL scb_dt_fondosavance;
						VACUUM FULL scb_fondosavance;
						VACUUM FULL scb_movcol_scg;
						VACUUM FULL sigesp_consolidacion;
						VACUUM FULL sob_cuentapuntodecuenta;
						VACUUM FULL sob_cuentasasignacion;
						VACUUM FULL sob_cuentavariacion;
						VACUUM FULL spi_dt_cmp;
						VACUUM FULL spi_cuentas_estructuras;
						VACUUM FULL sno_dt_spi;
						VACUUM FULL spi_dtmp_cmp;
						VACUUM FULL spg_dt_cmp;
						VACUUM FULL spg_dt_fuentefinanciamiento;
						VACUUM FULL spg_dt_unidadadministrativa;
						VACUUM FULL spg_dtmp_cmp;
						VACUUM FULL spg_dtmp_mensual;
						VACUUM FULL spg_aut_comp;
						VACUUM FULL spg_cuenta_fuentefinanciamiento;
						VACUUM FULL spg_regmodprogramado;
						VACUUM FULL spg_saldos;
						VACUUM FULL spg_variacion;
						VACUUM FULL spg_cuentas;
						VACUUM FULL spg_ep5;
						VACUUM FULL spg_ep4;
						VACUUM FULL spg_ep3;
						VACUUM FULL spg_ep2;
						VACUUM FULL spg_ep1;";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_spg ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SPG <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	
	function limpiar_movimientos_scg(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_scg ... '." \r\n");}
		 
		 $sql_truncate_movimientos=" TRUNCATE TABLE 
										scg_dt_cmp,
										scg_dtmp_cmp,
										scg_confvariacion,
										scg_saldos,
										scg_saldos_consolida,
										scg_cuentas_consolida
									;
								   ";
		 
		 $sql_truncate_all=" TRUNCATE TABLE 
										scg_dt_cmp,
										scg_dtmp_cmp,
										scg_confvariacion,
										scg_saldos,
										scg_saldos_consolida,
										scg_cuentas_consolida,
										scg_cuentas
									;
								   ";
		 
		 
		 $sql_truncate = ($_POST['chkscgtransferir'])?$sql_truncate_movimientos:$sql_truncate_all;
		 $msjtrucate = ($_POST['chkscgtransferir'])?'- SE CONSERVO EL PLAN DE CUENTAS CONTABLE ':'';
		 		 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_scg ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SCG  ".$msjtrucate."<br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum="  VACUUM FULL scg_dt_cmp;
						VACUUM FULL scg_dtmp_cmp;
						VACUUM FULL scg_confvariacion;
						VACUUM FULL scg_saldos;
						VACUUM FULL scg_saldos_consolida;
						VACUUM FULL scg_cuentas_consolida;
						VACUUM FULL scg_cuentas;
					";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_scg ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SCG <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	
	function limpiar_movimientos_sigesp(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_sigesp ... '." \r\n");}
		 
		 $sql_truncate=" TRUNCATE TABLE 
							saf_depreciacion_int, /* FK */	
							scg_dt_cmp, /* FK */
							scg_dtmp_cmp, /* FK */
							spg_dt_cmp, /* FK */
							spg_aut_comp, /* FK */
							spg_dtmp_cmp, /* FK */
							spg_dtmp_mensual, /* FK */
							spg_variacion, /* FK */
							spi_dt_cmp, /* FK */
							spi_dtmp_cmp, /* FK */
							sigesp_consolidacion,
							sigesp_cmp,
							sigesp_cmp_md
						;
						";		 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_sigesp ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SIGESP <br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum="  VACUUM FULL saf_depreciacion_int;
						VACUUM FULL scg_dt_cmp;
						VACUUM FULL scg_dtmp_cmp;
						VACUUM FULL spg_dt_cmp;
						VACUUM FULL spg_aut_comp;
						VACUUM FULL spg_dtmp_cmp;
						VACUUM FULL spg_dtmp_mensual;
						VACUUM FULL spg_variacion;
						VACUUM FULL spi_dt_cmp;
						VACUUM FULL spi_dtmp_cmp;
						VACUUM FULL sigesp_cmp;
						VACUUM FULL sigesp_cmp_md;
						VACUUM FULL sigesp_consolidacion;";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_sigesp ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SIGESP <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	function limpiar_movimientos_sno(){

		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- limpiar_movimientos_sno ... '." \r\n");}
		 
		 $sql_truncate=" TRUNCATE TABLE sno_hsalida,
							   sno_hresumen,
							   sno_hconstantepersonal,
							   sno_hconceptopersonal,
							   sno_hconceptovacacion,
							   sno_hprimaconcepto,
							   sno_hconstante,
							   sno_hconcepto,
						       sno_hprestamosperiodo,	       
						       sno_hprimagrado,
						       sno_hprimasdocentes,
							   sno_hprimadocentepersonal,
							   sno_hproyecto,
							   sno_hproyectopersonal,
							   sno_hencargaduria,
							   sno_hpersonalpension,
							   sno_hprenomina,
							   sno_hvacacpersonal,							   
							   sno_hhojatiempo,
							   sno_hpersonalnomina,
						       sno_hasignacioncargo,
						       sno_hcodigounicorac,
						       sno_hclasificacionobrero,
						       sno_hcargo,
						       sno_hgrado,
						       sno_hhorario,						       
						       sno_hprestamosamortizado,
						       sno_hprestamos,
						       sno_htipoprestamo,	       
						       sno_hsubnomina,
						       sno_htabulador,
						       sno_hnomina,
						       sno_hunidadadmin,	       
						       sno_hperiodo,
				
						       sno_thsalida,
							   sno_thresumen,
							   sno_thconstantepersonal,
							   sno_thconceptopersonal,
							   sno_thconceptovacacion,
							   sno_thprimaconcepto,
							   sno_thconstante,
							   sno_thconcepto,
						       sno_thprestamosperiodo,	       
						       sno_thprimagrado,
						       sno_thprimasdocentes,
							   sno_thprimadocentepersonal,
							   sno_thproyecto,
							   sno_thproyectopersonal,
							   sno_thencargaduria,
							   sno_thpersonalpension,
							   sno_thprenomina,
							   sno_thvacacpersonal,               
							   sno_thhojatiempo,
							   sno_thpersonalnomina,
						       sno_thasignacioncargo,
						       sno_thcodigounicorac,
						       sno_thclasificacionobrero,
						       sno_thcargo,
						       sno_thgrado,
						       sno_thhorario,	       
						       sno_thprestamosamortizado,
						       sno_thprestamos,
						       sno_thtipoprestamo,	       
						       sno_thsubnomina,
						       sno_thtabulador,
						       sno_thnomina,
						       sno_thunidadadmin,	       
						       sno_thperiodo,
				
						       sno_dt_scg,
						       sno_dt_scg_int,
						       sno_dt_spg,
						       sno_dt_spi,
				
						       sno_resumen,
						       sno_salida,
						       sno_prenomina,
						       sno_periodo
				;";		 
		 $this->io_sql_destino->begin_transaction();				   
		 $resp = $this->io_sql_destino->execute($sql_truncate);
		 if ($resp===false){			
		    $this->io_sql_destino->rollback();			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_sno ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 
		 $this->msjresultado .= date('H:i:s').".-   <b>Módulo Inicializado:</b>  SNO <br />";
		 $this->io_sql_destino->commit();
		 
		 
		 $sql_vacuum="  VACUUM FULL sno_hsalida;
						VACUUM FULL sno_hresumen;
						VACUUM FULL sno_hconstantepersonal;
						VACUUM FULL sno_hconceptopersonal;
						VACUUM FULL sno_hconceptovacacion;
						VACUUM FULL sno_hprimaconcepto;
						VACUUM FULL sno_hconstante;
						VACUUM FULL sno_hconcepto;
						VACUUM FULL sno_hprestamosperiodo;
						VACUUM FULL sno_hprimagrado;
						VACUUM FULL sno_hprimasdocentes;
						VACUUM FULL sno_hprimadocentepersonal;
						VACUUM FULL sno_hproyecto;
						VACUUM FULL sno_hproyectopersonal;
						VACUUM FULL sno_hencargaduria;
						VACUUM FULL sno_hpersonalpension;
						VACUUM FULL sno_hprenomina;
						VACUUM FULL sno_hvacacpersonal;
						VACUUM FULL sno_hojatiempo;
						VACUUM FULL sno_hhojatiempo;
						VACUUM FULL sno_hpersonalnomina;
						VACUUM FULL sno_hasignacioncargo;
						VACUUM FULL sno_hcodigounicorac;
						VACUUM FULL sno_hclasificacionobrero;
						VACUUM FULL sno_hcargo;
						VACUUM FULL sno_hgrado;
						VACUUM FULL sno_hhorario;
						VACUUM FULL sno_horario;
						VACUUM FULL sno_hprestamosamortizado;
						VACUUM FULL sno_hprestamos;
						VACUUM FULL sno_htipoprestamo;
						VACUUM FULL sno_hsubnomina;
						VACUUM FULL sno_htabulador;
						VACUUM FULL sno_hnomina;
						VACUUM FULL sno_hunidadadmin;
						VACUUM FULL sno_hperiodo;
						VACUUM FULL sno_thsalida;
						VACUUM FULL sno_thresumen;
						VACUUM FULL sno_thconstantepersonal;
						VACUUM FULL sno_thconceptopersonal;
						VACUUM FULL sno_thconceptovacacion;
						VACUUM FULL sno_thprimaconcepto;
						VACUUM FULL sno_thconstante;
						VACUUM FULL sno_thconcepto;
						VACUUM FULL sno_thprestamosperiodo;
						VACUUM FULL sno_thprimagrado;
						VACUUM FULL sno_thprimasdocentes;
						VACUUM FULL sno_thprimadocentepersonal;
						VACUUM FULL sno_thproyecto;
						VACUUM FULL sno_thproyectopersonal;
						VACUUM FULL sno_thencargaduria;
						VACUUM FULL sno_thpersonalpension;
						VACUUM FULL sno_thprenomina;
						VACUUM FULL sno_thvacacpersonal;
						VACUUM FULL sno_thhojatiempo;
						VACUUM FULL sno_thpersonalnomina;
						VACUUM FULL sno_thasignacioncargo;
						VACUUM FULL sno_thcodigounicorac;
						VACUUM FULL sno_thclasificacionobrero;
						VACUUM FULL sno_thcargo;
						VACUUM FULL sno_thgrado;
						VACUUM FULL sno_thhorario;
						VACUUM FULL sno_thprestamosamortizado;
						VACUUM FULL sno_thprestamos;
						VACUUM FULL sno_thtipoprestamo;
						VACUUM FULL sno_thsubnomina;
						VACUUM FULL sno_thtabulador;
						VACUUM FULL sno_thnomina;
						VACUUM FULL sno_thunidadadmin;
						VACUUM FULL sno_thperiodo;
						VACUUM FULL sno_dt_scg;
						VACUUM FULL sno_dt_scg_int;
						VACUUM FULL sno_dt_spg;
						VACUUM FULL sno_dt_spi;
						VACUUM FULL sno_resumen;
						VACUUM FULL sno_salida;
						VACUUM FULL sno_prenomina;
						VACUUM FULL sno_periodo;";	
		 $resp = $this->io_sql_destino->execute($sql_vacuum);
		 if ($resp===false){	   
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->limpiar_movimientos_sno ERROR->".$this->io_sql_destino->message);
			return false;						
		 } 
		 $this->msjresultado .= date('H:i:s').".-   <b>Mantenimiento Realizado:</b>  SNO <br />";
		 	  
		 return true;
	}// end function uf_insert_constanciatrabajo
	
	
	
	
	
	function uf_select_nomina(&$ai_totrows,&$ao_object)
	{

		$li_total_select=0;
		$li_total_insert=0;
		$lb_valido=true;
		$ls_sql="SELECT codemp, codnom, desnom ".
				"  FROM sno_nomina ".
				" ORDER BY codnom ";
		$io_recordset=$this->io_sql_destino->select($ls_sql);
		if($io_recordset===false)
		{ 
			$lb_valido=false;
			$ls_cadena="Error al Seleccionar las Nóminas.\r\n".$this->io_sql_destino->message."\r\n";
			$ls_cadena=$ls_cadena.$ls_sql."\r\n";
			if ($this->lo_archivo)			
			{
				@fwrite($this->lo_archivo,$ls_cadena);
			}
		}
		else
		{
			$ai_totrows=0;
			while(($row=$this->io_sql_destino->fetch_row($io_recordset))&&$lb_valido)
			{
				$ai_totrows=$ai_totrows+1;
				$ls_codemp=$row["codemp"]; 
				$ls_codnom=$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_desnom=$this->io_validacion->uf_valida_texto($row["desnom"],0,100,"");
				$ao_object[$ai_totrows][1]="<input name=txtcodemp".$ai_totrows."    type=text     id=txtcodemp".$ai_totrows."    class=sin-borde size=6  maxlength=4   value='".$ls_codemp."' readonly>";
				$ao_object[$ai_totrows][2]="<input name=txtcodnom".$ai_totrows."    type=text     id=txtcodnom".$ai_totrows."    class=sin-borde size=6  maxlength=4   value='".$ls_codnom."' readonly>";
				$ao_object[$ai_totrows][3]="<input name=txtdesnom".$ai_totrows."    type=text     id=txtdesnom".$ai_totrows."    class=sin-borde size=80 maxlength=100 value='".$ls_desnom."' readonly>";
				$ao_object[$ai_totrows][4]="<input name=txtcodnomnue".$ai_totrows." type=text     id=txtcodnomnue".$ai_totrows." class=sin-borde size=6  maxlength=4   value='".$ls_codnom."' onKeyUp=ue_validarnumero(this); onBlur=ue_rellenarcampo(this,4);>";
				$ao_object[$ai_totrows][5]="<input name=chkpasardata".$ai_totrows." type=checkbox id=chkpasardata".$ai_totrows." value=1 onClick=".'"'."advertencia('".$ls_codnom."',this);".'"'.">";
			}
		}		
		return $lb_valido;
	}// end function uf_select_nomina
	//-----------------------------------------------------------------------------------------------------------------------------------
	
	
	function log_txt($texto){
			if($this->lo_archivo){@fwrite($this->lo_archivo," \r\n".date('H:i:s').'.- '.$texto." \r\n");}
	}
	
	function apr_eliminar_nominas($param=array())
	{
		
		$lb_valido=true;
		if($this->lo_archivo){@fwrite($this->lo_archivo," \r\n".date('H:i:s').'.- Iniciando Eliminación de Nóminas ... '." \r\n"." \r\n");}	
		
		$li_total=$_POST["totrownomina"];
		
		for($li_i=1;($li_i<=$li_total)&&($lb_valido);$li_i++)
		{
			$li_eliminar=0;			
			if(array_key_exists("chkpasardata".$li_i,$_POST))
			{
				$li_eliminar=$_POST["chkpasardata".$li_i];
				if($li_eliminar==1)
				{		
					$ls_codemp=$_POST["txtcodemp".$li_i];
					$ls_codnom=$_POST["txtcodnom".$li_i];
					$ls_codnomnuevo=$_POST["txtcodnomnue".$li_i];
					
					$this->msjejec .= date('H:i:s').'.- <b>Eliminando Nómina: </b> '.$ls_codnom.'<br />';					
					if($lb_valido){
							$this->log_txt("eliminar_nomina($ls_codnom)"); 
							$resp = $this->eliminar_nomina($ls_codnom);
							if($resp===false){return false;}
					}
			
				}
			}
		}		
		
		$this->io_mensajes->message("La(s) Nómina(s) fueron eliminadas correctamente."); 
		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- La(s) Nómina(s) fueron eliminadas correctamente.'." \r\n"." \r\n");} 
				
		return true;
			
	}
	
	

    function inicializar_nomina($param=array()){
				
			 $ls_sql="SELECT *  FROM sno_nomina ORDER BY codnom ";
			 $rs_nominas=$this->io_sql_destino->select($ls_sql);
			 if($rs_nominas===false){	   
				$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->inicializar_nomina ERROR->".$this->io_sql_destino->message);
				return false;						
			 }
			 $this->io_sql_destino->begin_transaction();
			 foreach($rs_nominas as $nominas){
					
				$resp = $this->uf_insert_periodos($nominas['codemp'],$nominas['codnom']);	
				if($resp===false){$this->io_sql_destino->rollback(); return false;}
			 
			 } 
			 $this->io_sql_destino->commit();
			 return true;
	
	}
	
	function uf_insert_periodos($as_codemp,$as_codnom)
	{
		$lb_valido=true;
		$ld_fecini=$this->io_funciones->uf_convertirdatetobd($_POST["txtfechainicio"]);
		$ld_fecinisem=$this->io_funciones->uf_convertirdatetobd($_POST["txtfecinisem"]);
		$ld_periodo="";
		$ls_sql="SELECT substr(periodo,1,4) as periodo 
		         FROM sigesp_empresa 
				 WHERE codemp='".$as_codemp."'";
		$rs_data=$this->io_sql_destino->select($ls_sql);
		if($rs_data===false)
		{
			$lb_valido = false;
			$this->io_msg->message("CLASE->sigesp_copia_sno METODO->uf_insert_periodos ERROR->".$this->io_sql_destino->message); 
		}
		
		$ld_periodo = $rs_data->fields["periodo"];		
		unset($rs_data);
		
		if($lb_valido)
		{
			$ls_sql="UPDATE sno_nomina ".
					"  SET anocurnom ='".$ld_periodo."', ".
					"      fecininom ='".$ld_fecinisem."',".
					"      peractnom='001'  ".
					"WHERE codemp='".$this->ls_codemp."'  ".
					"  AND tippernom=0 ".
					"  AND codnom = '".$as_codnom."'";  
			$li_numrow=$this->io_sql_destino->select($ls_sql);
			if($li_numrow===false)
			{
				$lb_valido=false;
				$this->io_mensajes->message("CLASE->sigesp_copia_sno METODO->uf_insert_periodos ERROR->".$this->io_sql_destino->message); 
			}
		}	 
		if($lb_valido)
		{
			$ls_sql="UPDATE sno_nomina ".
					"   SET anocurnom ='".$ld_periodo."', ".
					"       fecininom ='".$ld_fecini."', ".
					"       peractnom='001'  ".
					" WHERE codemp='".$this->ls_codemp."'  ".
					"   AND tippernom<>0 ".
					"   AND codnom = '".$as_codnom."'";  	
			$li_numrow=$this->io_sql_destino->select($ls_sql);
			if($li_numrow===false)
			{
				$lb_valido=false;
				$this->io_mensajes->message("CLASE->sigesp_copia_sno METODO->uf_insert_periodos ERROR->".$this->io_sql_destino->message); 
			}
		}	 
		if($lb_valido)
		{
			$ls_sql="SELECT codnom,tippernom FROM sno_nomina ".
					" WHERE codemp='".$this->ls_codemp."' ".
					"   AND codnom = '".$as_codnom."'";
			$rs_data=$this->io_sql_origen->select($ls_sql);
			if($rs_data===false)
			{
				$lb_valido = false;
				$this->io_mensajes->message("CLASE->sigesp_copia_sno METODO->uf_insert_periodos ERROR->".$this->io_sql_destino->message); 
			}
			else
			{
				while(($row=$this->io_sql_origen->fetch_row($rs_data))&&( $lb_valido))
				{					
					$li_tippernom = $row["tippernom"];
					if ($li_tippernom=='0')
					{
						$ld_fecininom = $ld_fecinisem;
					}
					else
					{
						$ld_fecininom = $ld_fecini;
					}
					$lb_valido=$this->uf_sno_fill_periodo($li_tippernom,$ld_fecininom,$as_codnom);	   
				}
			}
		}
		return $lb_valido;
	}//end fucntion uf_insert_periodos();
	//-----------------------------------------------------------------------------------------------------------------------------------		
	
	//-----------------------------------------------------------------------------------------------------------------------------------		
	function uf_sno_fill_periodo($as_tippernom,$ad_fecininom,$as_codnom)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////
		//	Function:     uf_sno_fill_periodo
		//	Arguments:    $as_tippernom //  tipo de periodo (quincenal,semanal,anual,semanal) 
		//                $adt_fecininom  //	 fecha del inicio de la nomina 
		//                $as_codigo  //  codigo de la nomina 
		//	Returns:	  $lb_valido True si genero los periodos False en caso contrario
		//	Description:  Funcion que genera los periodos por nomina al momento de guardar la nomina 
		/////////////////////////////////////////////////////////////////////////////////////////////
		switch($as_tippernom)
		{
			case "0": // Semanal
				$li_periodos=52;
				break;
			case "1": // Quincenal
				$li_periodos=24;
				break;
			case "2": // Mensual
				$li_periodos=12;
				break;
			case "3": // Anual
				$li_periodos=1;
				break;
		}
		$li_per=(365/$li_periodos);
		$li_lenper=round($li_per,0);
		$lb_valido=true;
		$ldt_fecha=$ad_fecininom;
		$ld_anoinicial=substr($ad_fecininom,0,4);
		for($i=1;($i<=$li_periodos)&&($lb_valido);$i++)
		{
			$ls_codperi= $this->io_funciones->uf_cerosizquierda($i,3);
			$ldt_fec   = $this->uf_final_periodo($ldt_fecha,$li_lenper);
			$ldt_final = $this->io_funciones->uf_convertirdatetobd($ldt_fec);
			$li_totper=0;
			$li_cerper=0;
			$li_conper=0;
			$li_apoconper=0;
			$ls_obsper="";
			$ls_sql="INSERT INTO sno_periodo(codemp,codnom,codperi,fecdesper,fechasper,totper,cerper,conper,apoconper,obsper) ".
					"  VALUES ('".$this->ls_codemp."','".$as_codnom."','".$ls_codperi."','".$ldt_fecha."','".$ldt_final."', ".
					" ".$li_totper.",".$li_cerper.",".$li_conper.",".$li_apoconper.",'".$ls_obsper."')";
			$li_row=$this->io_sql_destino->execute($ls_sql);
			if(($li_row===false))
			{
				$lb_valido=false;
				$this->io_mensajes->message("CLASE->Nómina MÉTODO->uf_sno_fill_periodo ERROR->".$this->io_sql_destino->message); 
			}
			else
			{
				$lb_valido=true;
				$ldt_final=$this->io_funciones->uf_convertirfecmostrar($ldt_final);
				$ldt_fecha=$this->uf_suma_fechas($ldt_final,1);
				$ldt_fecha=$this->io_funciones->uf_convertirdatetobd($ldt_fecha);
			}
			if($as_tippernom!=0)
			{
				$ld_anoactual=substr($ldt_fecha,0,4);
				if($ld_anoinicial!=$ld_anoactual)
				{
					break;
				}
			}
		}
		if($lb_valido)
		{
			$ls_sql="INSERT INTO sno_periodo(codemp,codnom,codperi,fecdesper,fechasper,totper,cerper,conper,apoconper,obsper) ".
					" VALUES ('".$this->ls_codemp."','".$as_codnom."','000','1900-01-01','1900-01-01',0,0,0,0,'Periodo Nulo')";
			$li_row=$this->io_sql_destino->execute($ls_sql);
			if(($li_row===false))
			{
				$lb_valido=false;
				$this->io_mensajes->message("CLASE->Nómina MÉTODO->uf_sno_fill_periodo ERROR->".$this->io_sql_destino->message); 
			}
		}
		return $lb_valido;
	}// end function uf_sno_fill_periodo
	//-----------------------------------------------------------------------------------------------------------------------------------	
	
	//-----------------------------------------------------------------------------------------------------------------------------------		
	function uf_final_periodo($adt_fecha,$ai_lenper)
	{   ///////////////////////////////////////////////////////////////////
		//	Function:     uf_final_periodo
		//	Arguments:    $adt_fecha //  fecha del periodo
		//                $ai_lenper //	cantidad de dias del periodo         
		//	Returns:	  $ld_final // fecha final del periodo
		//	Description:  calcula la fecha final del periodo  
		/////////////////////////////////////////////////////////////////////
		$ldt_fecha=$this->io_funciones->uf_convertirfecmostrar($adt_fecha);
		if ((($ai_lenper==15)&&(substr($ldt_fecha,0,2)=="16"))||($ai_lenper==30))
		{
			$ld_final = $this->io_fecha->uf_last_day(substr($ldt_fecha,3,2),substr($ldt_fecha,6,4));
		}
		else
		{
			$li_dias=($ai_lenper-1);
			$ld_final = $this->uf_suma_fechas($ldt_fecha,$li_dias);
		}
		if($ai_lenper==365)
		{
			$ld_final="31/12/".substr($adt_fecha,0,4);
		}
		return $ld_final;
	}// end function uf_final_periodo
	//-----------------------------------------------------------------------------------------------------------------------------------	
	
	//-----------------------------------------------------------------------------------------------------------------------------------
	function uf_suma_fechas($ad_fecha,$ai_ndias)
	{
		///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_suma_fechas
		//		   Access: public
		//	    Arguments: ad_fecha // Fecha a la que se desa sumar
		//                 ai_ndias // Cantidad de dias a sumar          
		//	      Returns: nuevafecha-> variable date
		//	  Description: suma una cantidad de dias pasado por parametros  a una fecha pasada por parametros 
		//	   Creado Por: Ing. Yozelin Barragan
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		if($ai_ndias>0)
		{
			$dia=substr($ad_fecha,0,2);      
			$mes=substr($ad_fecha,3,2);      
			$anio=substr($ad_fecha,6,4);      
			$ultimo_dia=date("d",mktime(0, 0, 0,$mes+1,0,$anio));
			$dias_adelanto=$ai_ndias;
			$siguiente=$dia+$dias_adelanto;
			if($ultimo_dia<$siguiente)
			{        
				$dia_final=$siguiente-$ultimo_dia;
				$mes++;         
				if($mes=='13')
				{            
					$anio++;
					$mes='01';        
				}      
				$fecha_final=str_pad($dia_final,2,"0",0).'/'.str_pad($mes,2,"0",0).'/'.$anio; 
			}
			else   
			{         
				$fecha_final=str_pad($siguiente,2,"0",0).'/'.str_pad($mes,2,"0",0).'/'.$anio; 
			} 
		}
		else
		{
			$fecha_final=$ad_fecha;
		}
		return $fecha_final;
	}// end function uf_suma_fechas	
	//-----------------------------------------------------------------------------------------------------------------------------------

		
	function uf_limpiar_tabla($as_tabla,$as_condicion="")
	{			
		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Eliminando datos de '.$as_tabla.' ... '." \r\n");}
		$this->io_sql_destino->begin_transaction();
		
		$li_total_select=0;
		$li_total_insert=0;
		$ls_sql="DELETE FROM ".$as_tabla." ".$as_condicion;
	
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
	
		if($io_recordset===false)
		{ 
			$this->io_sql_destino->rollback();			
			$lb_valido=false;
			$this->msjresultado="Error al Borrar la tabla: ".$as_tabla.".\r\n".$this->io_sql_destino->message."\r\n";
			$error2="Error al Borrar la tabla: ".$as_tabla.".<br/>".$this->io_sql_destino->message."<br/>";			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_limpiar_tabla ERROR->".$error2);
			return false;			
		}
		
		$this->io_sql_destino->commit();
		$this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		$this->msjresultado=$this->msjresultado."   Tabla  ".$as_tabla."  Blanqueada <br />";
		$this->msjresultado=$this->msjresultado."*****************************************************************<br />";			
			
		return true;
	}// end function uf_limpiar_tabla
	
	
	 function eliminar_nomina($param=array()){
				
			 $ls_sql="  DELETE FROM sno_resumen WHERE codnom ='".$codnom."';
						DELETE FROM sno_salida WHERE codnom ='".$codnom."';
						DELETE FROM sno_prenomina WHERE codnom ='".$codnom."';
						DELETE FROM sno_prestamosperiodo WHERE codnom ='".$codnom."';
						DELETE FROM sno_prestamosamortizado WHERE codnom ='".$codnom."';
						DELETE FROM sno_prestamos WHERE codnom ='".$codnom."';
						DELETE FROM sno_banco WHERE codnom ='".$codnom."';
						DELETE FROM sno_tipoprestamo WHERE codnom ='".$codnom."';
						DELETE FROM sno_primaconcepto WHERE codnom ='".$codnom."';
						DELETE FROM sno_conceptovacacion WHERE codnom ='".$codnom."';
						DELETE FROM sno_proyectopersonal WHERE codnom ='".$codnom."';
						DELETE FROM sno_conceptopersonal WHERE codnom ='".$codnom."';
						DELETE FROM sno_concepto WHERE codnom ='".$codnom."';
						DELETE FROM sno_constantepersonal WHERE codnom ='".$codnom."';
						DELETE FROM sno_constante WHERE codnom ='".$codnom."';
						DELETE FROM sno_personalnomina WHERE codnom ='".$codnom."';
						DELETE FROM sno_codigounicorac WHERE codnom ='".$codnom."';
						DELETE FROM sno_asignacioncargo WHERE codnom ='".$codnom."';
						DELETE FROM sno_primagrado WHERE codnom ='".$codnom."';
						DELETE FROM sno_grado WHERE codnom ='".$codnom."';
						DELETE FROM sno_tabulador WHERE codnom ='".$codnom."';
						DELETE FROM sno_cargo WHERE codnom ='".$codnom."';
						DELETE FROM sno_fideiperiodo WHERE codnom ='".$codnom."';
						DELETE FROM sno_subnomina WHERE codnom ='".$codnom."';
						DELETE FROM sno_dt_scg_int WHERE codnom ='".$codnom."';
						DELETE FROM sno_dt_spi WHERE codnom ='".$codnom."';
						DELETE FROM sno_dt_scg WHERE codnom ='".$codnom."';
						DELETE FROM sno_dt_spg WHERE codnom ='".$codnom."';
						DELETE FROM sno_periodo WHERE codnom ='".$codnom."';
						DELETE FROM sno_nomina WHERE codnom ='".$codnom."';
						DELETE FROM sno_encargaduria WHERE codnom ='".$codnom."';
						DELETE FROM sno_fideiperiodointereses WHERE codnom ='".$codnom."';
						DELETE FROM sno_hojatiempo WHERE codnom ='".$codnom."';
						DELETE FROM sno_personalpension WHERE codnom ='".$codnom."';
						DELETE FROM sno_primadocentepersonal WHERE codnom ='".$codnom."';
						DELETE FROM sno_rd WHERE codnom ='".$codnom."';
						DELETE FROM sno_tfuentefinanciamiento WHERE codnom ='".$codnom."';			 
			 	     ";
			 $this->io_sql_destino->begin_transaction();
			 $rs_nominas=$this->io_sql_destino->select($ls_sql);
			 if($rs_nominas===false){	   
				$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->eliminar_nomina ERROR->".$this->io_sql_destino->message);
				$this->io_sql_destino->rollback();
				return false;						
			 }
			 $this->io_sql_destino->commit();
			
			 $ls_sql="  VACUUM FULL sno_asignacioncargo;
						VACUUM FULL sno_banco;
						VACUUM FULL sno_cargo;
						VACUUM FULL sno_codigounicorac;
						VACUUM FULL sno_concepto;
						VACUUM FULL sno_conceptopersonal;
						VACUUM FULL sno_conceptovacacion;
						VACUUM FULL sno_constante;
						VACUUM FULL sno_constantepersonal;
						VACUUM FULL sno_dt_scg;
						VACUUM FULL sno_dt_scg_int;
						VACUUM FULL sno_dt_spg;
						VACUUM FULL sno_dt_spi;
						VACUUM FULL sno_encargaduria;
						VACUUM FULL sno_fideiperiodo;
						VACUUM FULL sno_fideiperiodointereses;
						VACUUM FULL sno_grado;
						VACUUM FULL sno_hojatiempo;
						VACUUM FULL sno_nomina;
						VACUUM FULL sno_periodo;
						VACUUM FULL sno_personalnomina;
						VACUUM FULL sno_personalpension;
						VACUUM FULL sno_prenomina;
						VACUUM FULL sno_prestamos;
						VACUUM FULL sno_prestamosamortizado;
						VACUUM FULL sno_prestamosperiodo;
						VACUUM FULL sno_primaconcepto;
						VACUUM FULL sno_primadocentepersonal;
						VACUUM FULL sno_primagrado;
						VACUUM FULL sno_proyectopersonal;
						VACUUM FULL sno_rd;
						VACUUM FULL sno_resumen;
						VACUUM FULL sno_salida;
						VACUUM FULL sno_subnomina;
						VACUUM FULL sno_tabulador;
						VACUUM FULL sno_tfuentefinanciamiento;
						VACUUM FULL sno_tipoprestamo;
			         ";
			 $rs_nominas=$this->io_sql_destino->select($ls_sql);
			 if($rs_nominas===false){	   
				$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->eliminar_nomina ERROR->".$this->io_sql_destino->message);
				$this->io_sql_destino->rollback();
				return false;						
			 }
			
			
			 return true;
	
	}
	
	
	function mantenimiento_tablas($modulo){	
	
			foreach($this->tablas_mantenimiento[][$modulo] as $tabla){
					
					 $sql_vacuum = "VACUUM FULL ".$tabla.";";
					 $rs_vacuum=$this->io_sql_destino->select($sql_vacuum);
					 if($rs_vacuum===false){	   
						$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->mantenimiento_tablas ERROR->".$this->io_sql_destino->message);
						return false;						
					 }
			
			}
			
			return false;	
	}
	
	function cargar_info_tablas($porp=array()){
	
			$this->tablas_mantenimiento[]['SCB'] = 'cxp_sol_banco';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movbco_scg';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movbco_spg';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movbco_spi';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movbco_fuefinanciamiento';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_dt_movbco';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_dt_op';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movbco_spgop';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movbco_anticipo';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movbco';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_dt_cmp_ret';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_dt_cmp_ret_op';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_dt_colocacion';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_dt_fondosavance';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_cmp_ret';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_cmp_ret_op';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_colocacion';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_conciliacion';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_errorconcbco';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_fondosavance';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movcol_scg';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movcol_spg';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movcol_spi';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movcaja';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_movcol';
			$this->tablas_mantenimiento[]['SCB'] = 'scb_prog_pago';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_dt_cmp_islr';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_cmp_islr';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_dc_cargos';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_dc_scg';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_dc_spg';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_dc_spi';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_sol_dc';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_sol_banco';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_solicitudes_scg';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_dt_solicitudes';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_historico_solicitud';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_solicitudes';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_dt_amortizacion';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_historico_rd';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_rd_amortizacion';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_rd_cargos';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_rd_deducciones';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_rd_scg';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_rd_spg';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_scg_inter';
			$this->tablas_mantenimiento[]['CXP'] = 'cxp_rd';
			$this->tablas_mantenimiento[]['SCV'] = 'scv_dt_asignaciones';
			$this->tablas_mantenimiento[]['SCV'] = 'scv_dt_personal';
			$this->tablas_mantenimiento[]['SCV'] = 'scv_dt_scg';
			$this->tablas_mantenimiento[]['SCV'] = 'scv_dt_spg';
			$this->tablas_mantenimiento[]['SCV'] = 'scv_solicitudviatico';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dts_cargos';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dta_cargos';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dt_bienes';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dt_com_ac';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dt_servicio';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dtac_bienes';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dtac_servicios';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dtcot_bienes';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dtcot_servicio';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dtsc_bienes';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dtsc_servicios';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_cuentagasto';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_solicitudcargos';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_enlace_sep';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_ordencompra';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_oc_deducciones';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_solcotsep';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_dt_ac';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_cotxanalisis';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_analisicotizacion';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_cotizacion';
			$this->tablas_mantenimiento[]['SOC'] = 'soc_sol_cotizacion';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_dt_despacho';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_dt_movimiento';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_dt_recepcion';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_dt_scg';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_dt_scg_int';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_dt_spg';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_dt_toma';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_dt_transferencia';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_despacho';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_movimiento';
			$this->tablas_mantenimiento[]['SIV'] = 'siv_articuloalmacen';
			$this->tablas_mantenimiento[]['SEP'] = 'sep_dtc_cargos';
			$this->tablas_mantenimiento[]['SEP'] = 'sep_dts_cargos';
			$this->tablas_mantenimiento[]['SEP'] = 'sep_dt_concepto';
			$this->tablas_mantenimiento[]['SEP'] = 'sep_dt_servicio';
			$this->tablas_mantenimiento[]['SEP'] = 'sep_dta_cargos';
			$this->tablas_mantenimiento[]['SEP'] = 'sep_dt_articulos';
			$this->tablas_mantenimiento[]['SEP'] = 'sep_enlace_os';
			$this->tablas_mantenimiento[]['SEP'] = 'sep_cuentagasto';
			$this->tablas_mantenimiento[]['SEP'] = 'sep_solicitudcargos';
			$this->tablas_mantenimiento[]['SEP'] = 'siv_dt_despacho';
			$this->tablas_mantenimiento[]['SEP'] = 'siv_despacho';
			$this->tablas_mantenimiento[]['SEP'] = 'sep_solicitud';
			$this->tablas_mantenimiento[]['SPI'] = 'spi_dt_cmp';
			$this->tablas_mantenimiento[]['SPI'] = 'spi_dtmp_cmp';
			$this->tablas_mantenimiento[]['SPI'] = 'spi_cuentas';
			$this->tablas_mantenimiento[]['SPI'] = 'spi_cuentas_estructuras';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_dt_cmp';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_dt_fuentefinanciamiento';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_dt_unidadadministrativa';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_dtmp_cmp';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_dtmp_mensual';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_aut_comp';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_cuenta_fuentefinanciamiento';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_regmodprogramado';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_saldos';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_variacion';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_cuentas';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_ep5';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_ep4';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_ep3';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_ep2';
			$this->tablas_mantenimiento[]['SPG'] = 'spg_ep1';
			$this->tablas_mantenimiento[]['SCG'] = 'scg_dt_cmp';
			$this->tablas_mantenimiento[]['SCG'] = 'scg_dtmp_cmp';
			$this->tablas_mantenimiento[]['SCG'] = 'scg_confvariacion';
			$this->tablas_mantenimiento[]['SCG'] = 'scg_saldos';
			$this->tablas_mantenimiento[]['SCG'] = 'scg_saldos_consolida';
			$this->tablas_mantenimiento[]['SCG'] = 'scg_cuentas_consolida';
			$this->tablas_mantenimiento[]['SIGESP'] = 'sigesp_cmp';
			$this->tablas_mantenimiento[]['SIGESP'] = 'sigesp_cmp_md';
			$this->tablas_mantenimiento[]['SSS'] = 'sss_registro_eventos';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_resumen';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_salida';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_prenomina';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_prestamosperiodo';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_prestamosamortizado';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_prestamos';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_banco';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_tipoprestamo';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_primaconcepto';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_conceptovacacion';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_proyectopersonal';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_conceptopersonal';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_concepto';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_constantepersonal';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_constante';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_personalnomina';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_codigounicorac';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_asignacioncargo';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_primagrado';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_grado';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_tabulador';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_cargo';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_fideiperiodo';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_subnomina';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_dt_scg_int';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_dt_spi';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_dt_scg';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_dt_spg';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_periodo';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_nomina';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_encargaduria';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_fideiperiodointereses';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_hojatiempo';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_personalpension';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_primadocentepersonal';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_rd';
			$this->tablas_mantenimiento[]['SNO'] = 'sno_tfuentefinanciamiento';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hsalida';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hresumen';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hconstantepersonal';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hconceptopersonal';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hconceptovacacion';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hprimaconcepto';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hconstante';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hconcepto';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hprestamosperiodo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hprimagrado';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hprimasdocentes';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hprimadocentepersonal';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hproyecto';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hproyectopersonal';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hencargaduria';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hpersonalpension';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hprenomina';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hvacacpersonal';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hojatiempo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hhojatiempo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hpersonalnomina';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hasignacioncargo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hcodigounicorac';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hclasificacionobrero';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hcargo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hgrado';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hhorario';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_horario';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hprestamosamortizado';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hprestamos';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_htipoprestamo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hsubnomina';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_htabulador';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hnomina';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hunidadadmin';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_hperiodo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thsalida';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thresumen';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thconstantepersonal';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thconceptopersonal';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thconceptovacacion';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thprimaconcepto';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thconstante';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thconcepto';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thprestamosperiodo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thprimagrado';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thprimasdocentes';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thprimadocentepersonal';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thproyecto';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thproyectopersonal';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thencargaduria';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thpersonalpension';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thprenomina';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thvacacpersonal';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thhojatiempo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thpersonalnomina';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thasignacioncargo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thcodigounicorac';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thclasificacionobrero';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thcargo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thgrado';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thhorario';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thprestamosamortizado';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thprestamos';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thtipoprestamo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thsubnomina';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thtabulador';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thnomina';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thunidadadmin';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_thperiodo';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_dt_scg';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_dt_scg_int';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_dt_spg';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_dt_spi';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_resumen';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_salida';
			$this->tablas_mantenimiento[]['SNOH'] = 'sno_prenomina';

			
			
			return true;

	
	
	}
	
}
?>
