<?php 

class sigesp_copia_historico {

	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 sigesp_copia_historico()
	{
		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");		
		include("config_sybase.php");
		require_once("../shared/class_folder/covensol_odbc.php");
		
			
		$this->ls_database_source = $sybase["dsn"];
		$this->ls_database_target = $historica["database"];
		$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_conect_sybase         = new ODBCconn();
		$io_conexion_origen       = $io_conect_sybase->uf_conectar($sybase["user"],$sybase["password"],$sybase["dsn"]);
		$io_conexion_destino      = $io_conect->uf_conectar_otra_bd ($historica["hostname"],$historica["login"],$historica["password"],$historica["database"],$historica["gestor"],$historica["port"]); 
		$this->io_sql_origen      = new class_sql_covensol($io_conexion_origen);
		$this->io_sql_destino 	  = new class_sql_covensol($io_conexion_destino);
		
		
		$ld_fecha=date("_d-m-Y");
		$ls_nombrearchivo         = "resultado/".$_SESSION["ls_data_des"]."_sno_hresult_".$ld_fecha.".txt";
		$this->lo_archivo         = @fopen("$ls_nombrearchivo","a+");
		$this->ls_codemp          = '0001';
		
		$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->anobd = 	$sybase["año"];
		$this->codemp = '0001';
		$this->sybase = $sybase;
		$this->tipobd = 'sybase';
		$this->nombrebd = $sybase["dsn"];
		
		
	}// end function 

    function log_txt($texto){
		if($this->lo_archivo){@fwrite($this->lo_archivo," \r\n".date('H:i:s').'.- '.$texto." \r\n");}
	}
	
	function liberar_fk_empresa(){
	
			$ls_sql="   ALTER TABLE sno_dedicacion DROP CONSTRAINT fk_sno_dedi_empresa___sigesp_e;						
						ALTER TABLE sno_tipopersonalsss DROP CONSTRAINT fk_sno_tipo_empresa___sigesp_e;						
						ALTER TABLE srh_organigrama DROP CONSTRAINT fk_srh_organigrama__sigesp_empresa;
						ALTER TABLE sno_profesion DROP CONSTRAINT fk_sno_prof_empresa___sigesp_e;						
						ALTER TABLE sno_personal DROP CONSTRAINT fk_sno_pers_empresa___sigesp_e;
						";
						
			$resp=$this->io_sql_destino->execute($ls_sql);
			if($resp===false){								
				$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->liberar_fk_empresa ERROR->".$this->io_sql_destino->message);
				return false;
			}
			return true;
	}
	
	function encadenar_fk_empresa(){
	
			$ls_sql="  	ALTER TABLE sno_dedicacion
						  ADD CONSTRAINT fk_sno_dedi_empresa___sigesp_e FOREIGN KEY (codemp)
							  REFERENCES sigesp_empresa (codemp) MATCH SIMPLE
							  ON UPDATE RESTRICT ON DELETE RESTRICT;
						ALTER TABLE sno_tipopersonalsss
						  ADD CONSTRAINT fk_sno_tipo_empresa___sigesp_e FOREIGN KEY (codemp)
							  REFERENCES sigesp_empresa (codemp) MATCH SIMPLE
							  ON UPDATE RESTRICT ON DELETE RESTRICT;
						ALTER TABLE srh_organigrama
						  ADD CONSTRAINT fk_srh_organigrama__sigesp_empresa FOREIGN KEY (codemp)
							  REFERENCES sigesp_empresa (codemp) MATCH SIMPLE
							  ON UPDATE RESTRICT ON DELETE RESTRICT;
						ALTER TABLE sno_profesion
						  ADD CONSTRAINT fk_sno_prof_empresa___sigesp_e FOREIGN KEY (codemp)
							  REFERENCES sigesp_empresa (codemp) MATCH SIMPLE
							  ON UPDATE RESTRICT ON DELETE RESTRICT;
						ALTER TABLE sno_personal
						  ADD CONSTRAINT fk_sno_pers_empresa___sigesp_e FOREIGN KEY (codemp)
							  REFERENCES sigesp_empresa (codemp) MATCH SIMPLE
							  ON UPDATE RESTRICT ON DELETE RESTRICT;
						
						 ";
			$resp=$this->io_sql_destino->execute($ls_sql);
			if($resp===false){								
				$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->encadenar_fk_empresa ERROR->".$this->io_sql_destino->message);
				return false;
			}
			return true;
	
	}
		
	
	
    function ue_consultar_periodo($datos=array()){
	
		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sn_hperiodos ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
				
		$ls_sql="SELECT * FROM sn_hperiodos ";
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_profesion ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }	
	
	
	
	
	
	}

	function uf_select_nomina($datos=array())
	{

		$li_total_select=0;
		$li_total_insert=0;
		$lb_valido=true;
		$criterio = '';
		
		//if($this->transf_nomesp){$criterio .= "  ";}else{$criterio .= " AND espnom = '0' ";}		
		if($this->transf_cestaticket){$criterio .= "  ";}else{$criterio .= " AND CT_SINO = '0' ";}	
		if($this->sybase['nominas']){$criterio .= " AND cod_nomina IN (".$this->sybase['nominas'].") ";}	
		
		$ls_sql=" SELECT '0001', cod_nomina, descripcion  
		          FROM sn_hnominas
				  WHERE descripcion LIKE'%%'
				  AND ano_en_curso = '".$this->anobd."'
				  ".$criterio."				  		 
				  ORDER BY cod_nomina 
				  ";
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		//echo $ls_sql;
		if($io_recordset===false)
		{ 
			$lb_valido=false;
			$ls_cadena="Error al Seleccionar las Nóminas.\r\n".$this->io_sql_origen->message."\r\n";
			echo $this->io_sql_origen->message;
			$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_origen->fetch_row($io_recordset))&&$lb_valido)
			{
				
				$ls_codemp=$this->codemp; 
				$ls_codnom=$row["cod_nomina"];
				$ls_desnom=$row["descripcion"];
		        
			    $criteriox='';
				if($this->transperadi){$criteriox .= " AND peradi=0 ";}
							   
			   $sqlp=" SELECT periodo  
					  FROM sn_hperiodos 
					  WHERE cod_nomina=trim('".$ls_codnom."')
						AND ano_en_curso=trim('".$this->anobd."')	
						AND periodo!=''	
						AND cerrada=1 AND total>0 
						".$criteriox."						  		 
					  ORDER BY periodo 
					  ";
					  
				$rs_peri=$this->io_sql_origen->select($sqlp);				
				if($rs_peri===false){echo $this->io_sql_origen->message; return false;}
				if(!$rs_peri->RecordCount()){continue;}
				
				$ai_totrows=$ai_totrows+1;
						
				$combo = '<select name="sel_perdes'.$ai_totrows.'" id="sel_perdes'.$ai_totrows.'"><option value="">- -</option>';
		
				foreach($rs_peri as $fila) { 				
					$combo .= '<option value="'.$fila["periodo"].'">'.$fila["periodo"].'</option>';								
				}
				$combo .= '</select>';
				
				
				$combo2 = '<select name="sel_perhas'.$ai_totrows.'" id="sel_perhas'.$ai_totrows.'"><option value="">- -</option>';
		
				foreach($rs_peri as $fila) { 				
					$combo2 .= '<option value="'.$fila["periodo"].'">'.$fila["periodo"].'</option>';								
				}
				$combo2 .= '</select>';
				
				
				$combo3 = '<select name="sel_tipnom'.$ai_totrows.'" id="sel_tipnom'.$ai_totrows.'"><option value="">- -</option>';
				$combo3 .= '<option value="1">Empleado Fijo</option>';
				$combo3 .= '<option value="2">Empleado Contratado</option>';
				$combo3 .= '<option value="3">Obrero Fijo</option>';
				$combo3 .= '<option value="4">Obrero Contratado</option>';
				$combo3 .= '<option value="5">Docente Fijo</option>';
				$combo3 .= '<option value="6">Docente Contratado</option>';
				$combo3 .= '<option value="7">Jubilado</option>';
				$combo3 .= '<option value="8">Comision de Servicios</option>';
				$combo3 .= '<option value="9">Libre Nombramiento</option>';
				$combo3 .= '</select>';
				
				
				$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]=$combo;
				$ao_object[$ai_totrows][5]=$combo2;		
				$ao_object[$ai_totrows][6]=$combo3;				
				$ao_object[$ai_totrows][7]="<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][8]="<input name=chkpasardata".$ai_totrows." type=checkbox id=chkpasardata".$ai_totrows." value=1>";
			}
		}
		
		$result['total'] = $ai_totrows;
		$result['filas'] = $ao_object;
				
		return $result;
	}// end function uf_select_nomina
	//-----------------------------------------------------------------------------------------------------------------------------------

	
	function ue_transferir_nomina(){
		
		$lb_valido=true;
		if($this->lo_archivo){@fwrite($this->lo_archivo," \r\n".date('H:i:s').'.- Iniciando transferencia de Nóminas ... '." \r\n"." \r\n");}
		$this->io_sql_destino->begin_transaction();	
		
		//SE TRANSFIEREN LOS DATOS DE LAS TABLAS BÁSICAS
		if($lb_valido and ($this->borrar_tabla or $this->borrardatos)){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> borrar_datos_tablas()<br />'; $lb_valido=$this->borrar_datos_tablas();} 
		if($this->borrardatos){
			if(!$lb_valido){$this->io_sql_destino->rollback(); $this->io_mensajes->message("Ocurrió un error al borrar los datos básicos."); return false;}    
			$this->io_mensajes->message("Los datos fueron eliminados correctamente."); 
			if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Las tablas básicas fueron borradas correctamente.'." \r\n"." \r\n");} 
			$this->io_sql_destino->commit();
			return true;
		}
		
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> uf_copiar_empresa_historico()<br />'; $lb_valido=$this->uf_copiar_empresa_historico();}			
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> uf_insert_profesion()<br />'; $lb_valido=$this->uf_insert_profesion();}
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> uf_insert_personal()<br />'; $lb_valido=$this->uf_insert_personal();}
		
				
		//SE TRANSFIEREN LOS DATOS HISTÓRICOS DE NÓMINA
		if($lb_valido){	
			$this->io_sql_destino->commit(); 
			$this->io_sql_destino->begin_transaction();	 
			$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> transferir_datos_nominas()<br />'; 
			$lb_valido=$this->transferir_datos_nominas();
		}
			
		if(!$lb_valido){$this->io_sql_destino->rollback(); $this->io_mensajes->message("Ocurrió un error al copiar la data de Nómina."); return false;}    
		$this->io_mensajes->message("La data de Nómina se copió correctamente."); 
		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Las tablas básicas se copiaron correctamente.'." \r\n"." \r\n");} 
				//$this->io_validacion->uf_insert_sistema_apertura('SNO');	
		$this->io_sql_destino->commit();
		return true;
	
	
	}
	
	function transferir_datos_nominas(){
	
		$lb_valido = true;
			
			$li_total=$_POST["totrownomina"];
			
			for($li_i=1;($li_i<=$li_total)&&($lb_valido);$li_i++)
			{
				$li_pasar=0;			
				if(array_key_exists("chkpasardata".$li_i,$_POST))
				{
					$li_pasar=$_POST["chkpasardata".$li_i];
					if($li_pasar==1)
					{		
						$datos['codemp']=$_POST["txtcodemp".$li_i];
						$datos['codnom']=$_POST["txtcodnom".$li_i];
						$datos['codnomnuevo']=$_POST["txtcodnomnue".$li_i];
						$datos['perihas']=$_POST["sel_perhas".$li_i];
						$datos['perides']=$_POST["sel_perdes".$li_i];
						$datos['tipnom']=$_POST["sel_tipnom".$li_i];
						$this->tipnom = $datos['tipnom'];
						$this->msjejec .= date('H:i:s').'.- <b>Transfiriendo Nómina: </b> '.$datos['codnom'].'<br />';
						if (!$this->tipnom){		
							$this->io_mensajes->message("Debe seleccionar el Tipo de Nómina");
							return false;			
						}		
						$criterio='';						
						if($datos['perihas'] or $datos['perides']){								
								$datos['perides'] = $datos['perides']?$datos['perides']:$datos['perihas'];
								$datos['perihas'] = $datos['perihas']?$datos['perihas']:$datos['perides'];
								$criterio .= " AND hp.periodo>='".$datos['perides']."' AND hp.periodo<='".$datos['perihas']."'";
						}	
						//echo $datos['perihas'].' -------------- '.$datos['perihas'];					
					
						$ls_sql="SELECT '0001' AS codemp, hp.cod_nomina AS codnom,hp.ano_en_curso AS anocur,hp.periodo AS codperi
								   FROM sn_hperiodos hp								   
								  WHERE hp.cod_nomina = '".$datos['codnomnuevo']."'									 
								 	AND hp.ano_en_curso = '".$this->anobd."' 
									AND hp.cerrada = '1'	
									AND hp.total>0 								
									".$criterio." ORDER BY hp.ano_en_curso,hp.cod_nomina,hp.periodo ";
						$rs_periodo=$this->io_sql_origen->select($ls_sql);
						//echo $ls_sql;
						//exit();
						if ($rs_periodo===false){		
							$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->transferir_datos_nominas ERROR->".$this->io_sql_origen->message);
							return false;			
						}
						//echo '<br><br><br>'.$ls_sql.'<br>';
						if(!$rs_periodo->RecordCount()){ continue;}
						
						foreach($rs_periodo as $periodo){						       
								
								$this->log_txt(date('H:i:s').'.- <b>Limpiando históricos: </b> '.$periodo['codnom'].' - '.$periodo['codperi']); 
								$resp = $this->borrar_tablash($periodo);
								if($resp===false){return false;}
														
								$resp = $this->transferir_periodos($periodo);
								if($resp===false){return false;}
												
						}		
						
						
					}
				}
			}		
		
	    	
	        
			return $lb_valido;
	
	
	}
	
	
	function transferir_periodos($datos=array()){		
			$lb_valido=true;
			$as_anocur = $datos['anocur'];
			$as_codnom = $datos['codnom'];
			$as_codperi = $datos['codperi'];	
					
			if($lb_valido){$this->log_txt("uf_insert_hnomina($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hnomina($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_hperiodo($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hperiodo($as_codnom,$as_anocur,$as_codperi);}
			//if($lb_valido){$this->log_txt("uf_insert_hsubnomina($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hsubnomina($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_hcargo($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hcargo($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_htabulador($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_htabulador($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_hgrado($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hgrado($as_codnom,$as_anocur,$as_codperi);}
			//if($lb_valido){$this->log_txt("uf_insert_hprimagrado($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hprimagrado($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_hasignacioncargo($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hasignacioncargo($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_hunidadadministrativa($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hunidadadministrativa($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_hpersonalnomina($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hpersonalnomina($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_hconstante($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hconstante($as_codnom,$as_anocur,$as_codperi);}
			//if($lb_valido){$this->log_txt("uf_insert_hconstantepersonal($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hconstantepersonal($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_hconcepto($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hconcepto($as_codnom,$as_anocur,$as_codperi);}
			//if($lb_valido){$this->log_txt("uf_insert_hconceptopersonal($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hconceptopersonal($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_hsalida($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hsalida($as_codnom,$as_anocur,$as_codperi);}
			if($lb_valido){$this->log_txt("uf_insert_hresumen($as_codnom,$as_anocur,$as_codperi)"); $lb_valido=$this->uf_insert_hresumen($as_codnom,$as_anocur,$as_codperi);}
			
			
			return $lb_valido;
	
	}
	
	function borrar_datos_tablas($datos=array()){			
			
			$valido=$this->uf_limpiar_tabla('sno_personal');
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla('sno_profesion');
			if($valido===false){return false;}	
			$valido=$this->uf_limpiar_tabla('sigesp_hempresa');
			if($valido===false){return false;}

			return true;	
	
	}
	
	function uf_copiar_empresa_historico()
	{
	
			if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sigesp_hempresa ... '." \r\n");}
			
			$lb_valido=true;
			$li_total_select=0;
			$li_total_insert=0;
		    
			if(empty($this->anobd)){				
				$this->io_mensajes->message("ERROR: No existe el año de la base de datos.");
				return false;				
			}
			
			
			if(!$this->borrar_tabla){			    
				$ls_sql="SELECT * FROM sigesp_hempresa WHERE anobd='".$this->anobd."'";;
				$rs=$this->io_sql_destino->execute($ls_sql);				
				if ($rs===false){		
					$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_copiar_empresa_historico ERROR->".$this->io_sql_destino->message);
					return false;			
				}				
				if($rs->RecordCount()){$this->msjejec .= date('H:i:s').'.- <b>Resultado:</b> No se copio. El histórico de sigesp_hempresa ya existe. <br />'; return true;}
			}
			
			if($this->borrar_tabla){			    
				$ls_sql="DELETE FROM sigesp_hempresa WHERE anobd='".$this->anobd."'";
				$io_recordset=$this->io_sql_destino->execute($ls_sql);
				if ($io_recordset===false){		
					$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_copiar_empresa_historico ERROR->".$this->io_sql_destino->message);
					return false;			
				}
			}
			
			$ls_sql="SELECT * FROM sig_empresa ";
			$io_recordset=$this->io_sql_origen->select($ls_sql);
			if ($io_recordset===false){		
				$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_copiar_hempresa ERROR->".$this->io_sql_origen->message);
				return false;			
			}
								
			$li_total_select = $this->io_sql_origen->num_rows($io_recordset);
			
			while($row=$this->io_sql_origen->fetch_row($io_recordset))
			{
				$ls_codemp = $this->codemp;				
						
				if(empty($row["periodo"])){				
					$this->io_mensajes->message("ERROR: La configuración de empresa origen no tiene periodo.");
					return false;				
				}				
							
				$ls_nombre= $this->io_validacion->uf_valida_texto($row["nombre"],0,100,"SIGESP");
				$ls_titulo= $this->io_validacion->uf_valida_texto($row["titulo"],0,100,"SIGESP");
				$ls_sigemp= $this->io_validacion->uf_valida_texto($row["sigemp"],0,50,"");
				$ls_diremp= $this->io_validacion->uf_valida_texto($row["direccion"],0,254,"");
				$ls_telemp= $this->io_validacion->uf_valida_texto($row["telefono"],0,20,"");
				$ls_faxemp= $this->io_validacion->uf_valida_texto($row["fax"],0,18,"");
				$ls_email= $this->io_validacion->uf_valida_texto($row["email"],0,100,"");
				$ls_website= $this->io_validacion->uf_valida_texto($row["website"],0,100,"");
				$li_m01= $this->io_validacion->uf_valida_monto($row["m01"],0);
				$li_m02= $this->io_validacion->uf_valida_monto($row["m02"],0);
				$li_m03= $this->io_validacion->uf_valida_monto($row["m03"],0);
				$li_m04= $this->io_validacion->uf_valida_monto($row["m04"],0);
				$li_m05= $this->io_validacion->uf_valida_monto($row["m05"],0);
				$li_m06= $this->io_validacion->uf_valida_monto($row["m06"],0);
				$li_m07= $this->io_validacion->uf_valida_monto($row["m07"],0);
				$li_m08= $this->io_validacion->uf_valida_monto($row["m08"],0);
				$li_m09= $this->io_validacion->uf_valida_monto($row["m09"],0);
				$li_m10= $this->io_validacion->uf_valida_monto($row["m10"],0);
				$li_m11= $this->io_validacion->uf_valida_monto($row["m11"],0);
				$li_m12= $this->io_validacion->uf_valida_monto($row["m12"],0);
				$ls_periodo= $row["periodo"];
				$li_valniv = $this->io_validacion->uf_valida_monto($row["vali_nivel"],0);
				$li_esttipcont = $this->io_validacion->uf_valida_monto($row["esttipcont"],0);
				$ls_formpre = $this->io_validacion->uf_valida_texto(trim($row["formpre"]),0,30,"999-99-99-99");
				$ls_formcont = $this->io_validacion->uf_valida_texto(trim($row["formcont"]),0,30,"999-99-99-99");
				$ls_formplan = $this->io_validacion->uf_valida_texto(trim($row["formplan"]),0,30,"999-99-99-99");
				$ls_formspi = $this->io_validacion->uf_valida_texto(trim($row["formspi"]),0,30,"999-99-99-99");
				$li_activo = $this->io_validacion->uf_valida_texto(trim($row["activo"]),0,3,"0");
				$li_pasivo = $this->io_validacion->uf_valida_texto(trim($row["pasivo"]),0,3,"0");
				$li_ingreso = $this->io_validacion->uf_valida_texto(trim($row["ingreso"]),0,3,"0");
				$li_gasto = $this->io_validacion->uf_valida_texto(trim($row["gasto"]),0,3,"0");
				$li_resultado = $this->io_validacion->uf_valida_texto(trim($row["resultado"]),0,3,"0");
				$li_capital = $this->io_validacion->uf_valida_texto(trim($row["capital"]),0,3,"0");
				$ls_ctares = $this->io_validacion->uf_valida_texto(trim($row["c_resultad"]),0,25,"0");
				$ls_cueres = $this->io_validacion->uf_valida_texto(trim($row["c_resultan"]),0,25,"0");
				$ls_orden_d = $this->io_validacion->uf_valida_texto(trim($row["orden_d"]),0,3,"0");
				$ls_orden_h = $this->io_validacion->uf_valida_texto(trim($row["orden_h"]),0,3,"0");
				$ls_socgas = $this->io_validacion->uf_valida_texto(trim($row["soc_gastos"]),0,100,"0");
				$ls_socser = $this->io_validacion->uf_valida_texto(trim($row["soc_servic"]),0,100,"0");
				$ls_nomger = $this->io_validacion->uf_valida_texto(trim($row["gerente"]),0,50,"");
				$ls_jefcom = $this->io_validacion->uf_valida_texto(trim($row["jefe_compr"]),0,50,"");
				$ls_activo_h = $this->io_validacion->uf_valida_texto(trim($row["activo_h"]),0,3,"0");
				$ls_pasivo_h = $this->io_validacion->uf_valida_texto(trim($row["pasivo_h"]),0,3,"0");
				$ls_resultado_h  = $this->io_validacion->uf_valida_texto(trim($row["resultado_h"]),0,3,"0");
				$ls_ingreso_f = $this->io_validacion->uf_valida_texto(trim($row["ingreso_f"]),0,3,"0");
				$ls_gasto_f = $this->io_validacion->uf_valida_texto(trim($row["gasto_f"]),0,3,"0");
				$ls_ingreso_p = $this->io_validacion->uf_valida_texto(trim($row["ingreso_p"]),0,3,"0");
				$ls_gasto_p = $this->io_validacion->uf_valida_texto(trim($row["gasto_p"]),0,3,"0");
				$ls_logo = $this->io_validacion->uf_valida_texto(trim($row["logo"]),0,500,"logo.jpg");
				$li_numniv = $this->io_validacion->uf_valida_monto($row["numniv"],0);
				$ls_nomestpro1 = $this->io_validacion->uf_valida_texto($row["nomestpro1"],0,40,"-");
				$ls_nomestpro2 = $this->io_validacion->uf_valida_texto($row["nomestpro2"],0,40,"-");
				$ls_nomestpro3 = $this->io_validacion->uf_valida_texto($row["nomestpro3"],0,40,"-");
				$ls_nomestpro4 = $this->io_validacion->uf_valida_texto($row["nomestpro4"],0,40,"-");
				$ls_nomestpro5 = $this->io_validacion->uf_valida_texto($row["nomestpro5"],0,40,"-");
				$ls_estvaltra = $this->io_validacion->uf_valida_monto($row["estvaltra"],0);
				$ls_rifemp = $this->io_validacion->uf_valida_texto(trim($row["rif_empresa"]),0,15,"");
				$ls_nitemp = $this->io_validacion->uf_valida_texto(trim($row["nit_empresa"]),0,15,"");
				$ls_estemp = $this->io_validacion->uf_valida_texto($row["estado"],0,50,"");
				$ls_ciuemp = $this->io_validacion->uf_valida_texto($row["ciudad"],0,50,"");
				$ls_zonpos = $this->io_validacion->uf_valida_texto($row["zona_postal"],0,5,"");
				$ls_estmodape = $this->io_validacion->uf_valida_monto($row["estmodape"],0);
				$ls_estdesiva = $this->io_validacion->uf_valida_monto($row["estdesiva"],0);
				$ls_estprecom = $this->io_validacion->uf_valida_monto($row["estprecom"],0);
				$ls_estmodsepsoc = $this->io_validacion->uf_valida_monto($row["estmodsepsoc"],0);
				$ls_codorgsig = $this->io_validacion->uf_valida_texto(trim($row["codorgsig"]),0,5,"");
				$ls_socbieser = $this->io_validacion->uf_valida_monto($row["socbieser"],0);
				$li_estmodest = $this->io_validacion->uf_valida_monto($row["estmodest"],0);
				$ld_salinipro = $this->io_validacion->uf_valida_monto($row["salinipro"],0);
				$ld_salinieje = $this->io_validacion->uf_valida_monto($row["salinieje"],0);
				$ls_numordcom = $this->io_validacion->uf_valida_texto($row["numordcom"],0,15,"000000000000000");
				$ls_numordser = $this->io_validacion->uf_valida_texto($row["numordser"],0,15,"000000000000000");
				$ls_numsolpag = $this->io_validacion->uf_valida_texto($row["numsolpag"],0,15,"000000000000000");
				$ls_nomorgads = $this->io_validacion->uf_valida_texto($row["nomorgads"],0,254,"");
				$ls_numlicemp = $this->io_validacion->uf_valida_texto($row["numlicemp"],0,25,"");
				$ls_modageret = $this->io_validacion->uf_valida_texto($row["modageret"],0,1,"");
				$ls_nomres    = $this->io_validacion->uf_valida_texto($row["nomres"],0,20,"");
				$ls_concomiva = $this->io_validacion->uf_valida_texto($row["concomiva"],0,6,"");
				$ls_cedben    = $this->io_validacion->uf_valida_texto(trim($row["cedben"]),0,10,"");
				$ls_nomben    = $this->io_validacion->uf_valida_texto(trim($row["nomben"]),0,100,"");
				$ls_scctaben  = $this->io_validacion->uf_valida_texto(trim($row["scctaben"]),0,25,"");
				$ls_estmodiva =  $this->io_validacion->uf_valida_monto($row["estmodiva"],0);
				$ls_activot   = $this->io_validacion->uf_valida_texto(trim($row["activo_t"]),0,3,"0");
				$ls_pasivot   = $this->io_validacion->uf_valida_texto(trim($row["pasivo_t"]),0,3,"0");
				$ls_resultadot= $this->io_validacion->uf_valida_texto(trim($row["resultado_t"]),0,3,"0");
				$ls_ctafin    = $this->io_validacion->uf_valida_texto(trim($row["c_financiera"]),0,25,"0");
				$ls_ctafis    = $this->io_validacion->uf_valida_texto(trim($row["c_fiscal"]),0,25,"0");
				$ls_diacadche= $this->io_validacion->uf_valida_texto(trim($row["diacadche"]),0,3,"0");
				$ls_codasiona = $this->io_validacion->uf_valida_texto(trim($row["codasiona"]),0,3,"");
				$ls_loncodestpro1 = $this->io_validacion->uf_valida_monto($row["loncodestpro1"],0);
				$ls_loncodestpro2 = $this->io_validacion->uf_valida_monto($row["loncodestpro2"],0);
				$ls_loncodestpro3 = $this->io_validacion->uf_valida_monto($row["loncodestpro3"],0);
				$ls_loncodestpro4 = $this->io_validacion->uf_valida_monto($row["loncodestpro4"],0);
				$ls_loncodestpro5 = $this->io_validacion->uf_valida_monto($row["loncodestpro5"],0);
				$li_candeccon    = 2;
				$ls_tipconmon    = 0;
				$li_redconmon    = 1;
				$ls_conrecdoc= $this->io_validacion->uf_valida_texto(trim($row["conrecdoc"]),0,1,"0");
	
			
				  $row["cueproacu"] = ($row["cueproacu"])?$row["cueproacu"]:'';
				  $row["cuedepamo"] = ($row["cuedepamo"])?$row["cuedepamo"]:'';
				  $row["valclacon"] = ($row["valclacon"])?$row["valclacon"]:'0';
				  $row["valcomrd"] = ($row["valcomrd"])?$row["valcomrd"]:'0';
				  $row["ctaejeprecie"] = ($row["ctaejeprecie"])?$row["ctaejeprecie"]:'';
				  $row["estaprsoc"] = ($row["estaprsoc"])?$row["estaprsoc"]:'1';
				  $row["estaprcxp"] = ($row["estaprcxp"])?$row["estaprcxp"]:'1';
				  $row["scforden_h"] = ($row["scforden_h"])?$row["scforden_h"]:'';
				  $row["scforden_d"] = ($row["scforden_d"])?$row["scforden_d"]:'';
				  $row["repcajchi"] = ($row["repcajchi"])?$row["repcajchi"]:'';				  
				  $row["estafenc"] = ($row["estafenc"])?$row["estafenc"]:'0';						  
				  $row["blocon"] = ($row["blocon"])?$row["blocon"]:'1';
				  $row["intblocon"] = ($row["intblocon"])?$row["intblocon"]:'3';
				  $row["capiva"] = ($row["capiva"])?$row["capiva"]:'0';
				  $row["parcapiva"] = ($row["parcapiva"])?$row["parcapiva"]:'';
				  $row["estciesem"] = ($row["estciesem"])?$row["estciesem"]:'0';
				  $row["ciesem1"] = ($row["ciesem1"])?$row["ciesem1"]:'0';
				  $row["ciesem2"] = ($row["ciesem2"])?$row["ciesem2"]:'0';
				  $row["estceniva"] = ($row["estceniva"])?$row["estceniva"]:'0';
				  $row["codestprocen1"] = ($row["codestprocen1"])?$row["codestprocen1"]:'';				 
				  $row["codestprocen2"] = ($row["codestprocen2"])?$row["codestprocen2"]:'';						  
				  $row["codestprocen3"] = ($row["codestprocen3"])?$row["codestprocen3"]:'';						  
				  $row["codestprocen4"] = ($row["codestprocen4"])?$row["codestprocen4"]:'';
				  $row["codestprocen5"] = ($row["codestprocen5"])?$row["codestprocen5"]:'';
				  $row["esclacen"] = ($row["esclacen"])?$row["esclacen"]:'';
				  $row["estspgdecimal"] = ($row["estspgdecimal"])?$row["estspgdecimal"]:'0';	
				
				
				
				$ls_sql="INSERT INTO sigesp_hempresa (anobd,codemp, nombre, titulo, sigemp, direccion, telemp, faxemp, email, 
													 website, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, 
													 m12, periodo, vali_nivel, esttipcont, formpre, formcont, formplan, 
													 formspi, activo, pasivo, ingreso, gasto, resultado, capital, 
													 c_resultad, c_resultan, orden_d, orden_h, soc_gastos, soc_servic, 
													 gerente, jefe_compr, activo_h, pasivo_h, resultado_h, ingreso_f, 
													 gasto_f, ingreso_p, gasto_p, logo, numniv, nomestpro1, nomestpro2, 
													 nomestpro3, nomestpro4, nomestpro5, estvaltra, rifemp, nitemp, 
													 estemp, ciuemp, zonpos, estmodape, estdesiva, estprecom, estmodsepsoc, 
													 codorgsig, socbieser, estmodest, salinipro, salinieje, numordcom, 
													 numordser, numsolpag, nomorgads, numlicemp, modageret, nomres, 
													 concomiva, cedben, nomben, scctaben, estmodiva, activo_t, pasivo_t, 
													 resultado_t, c_financiera, c_fiscal, diacadche, codasiona, loncodestpro1, 
													 loncodestpro2, loncodestpro3, loncodestpro4, loncodestpro5, candeccon, 
													 tipconmon, redconmon, conrecdoc, 
													 estvaldis, nroivss, nomrep, 
													 cedrep, telfrep, cargorep, estretiva, clactacon, estempcon, codaltemp, 
													 basdatcon, estcamemp, estparsindis, estciespg, estciespi, basdatcmp, 
													 confinstr, estintcred, estciescg, estvalspg, ctaspgrec, ctaspgced, 
													 estmodpartsep, estmodpartsoc, estmanant, estpreing, concommun, 
													 confiva, casconmov, estmodprog, confi_ch, dirvirtual, ctaresact, 
													 ctaresant, estvaldisfin, dedconproben, estaprsep, sujpasesp, 
													 bloanu, estretmil, concommil, contintmovban, valinimovban, estintban,	
													 
													 cueproacu, cuedepamo, valclacon, valcomrd, ctaejeprecie, estaprsoc, 
													 estaprcxp, scforden_h, scforden_d, repcajchi, estafenc, blocon, 
													 intblocon, capiva, parcapiva, estciesem, ciesem1, ciesem2, estceniva, 
													 codestprocen1, codestprocen2, codestprocen3, codestprocen4, codestprocen5, 
													 esclacen, estspgdecimal						
						) ".
						" VALUES ('".$this->anobd."','".$this->codemp."','".$ls_nombre."','".$ls_titulo."','".$ls_sigemp."','".$ls_diremp."',".
						"		  '".$ls_telemp."','".$ls_faxemp."','".$ls_email."','".$ls_website."',".$li_m01.",".$li_m02.",".
						"          ".$li_m03.",".$li_m04.",".$li_m05.",".$li_m06.",".$li_m07.",".$li_m08.",".$li_m09.",".$li_m10.",".
						"		   ".$li_m11.",".$li_m12.",'".$ls_periodo."',".$li_valniv.",".$li_esttipcont.",'".$ls_formpre."',".
						"		  '".$ls_formcont."','".$ls_formplan."','".$ls_formspi."','".$li_activo."','".$li_pasivo."',".
						"		  '".$li_ingreso."','".$li_gasto."','".$li_resultado."','".$li_capital."','".$ls_ctares."',".
						"         '".$ls_cueres."','".$ls_orden_d."','".$ls_orden_h."','".$ls_socgas."','".$ls_socser."',".
						"		  '".$ls_nomger."','".$ls_jefcom."','".$ls_activo_h."','".$ls_pasivo_h."','".$ls_resultado_h."',".
						"		  '".$ls_ingreso_f."','".$ls_gasto_f."','".$ls_ingreso_p."','".$ls_gasto_p."','".$ls_logo."',".
						"		   ".$li_numniv.",'".$ls_nomestpro1."','".$ls_nomestpro2."','".$ls_nomestpro3."','".$ls_nomestpro4."',".
						"		  '".$ls_nomestpro5."',".$ls_estvaltra.",'".$ls_rifemp."','".$ls_nitemp."','".$ls_estemp."',".
						"		  '".$ls_ciuemp."','".$ls_zonpos."',".$ls_estmodape.",".$ls_estdesiva.",".$ls_estprecom.",".
						"		   ".$ls_estmodsepsoc.",'".$ls_codorgsig."',".$ls_socbieser.",".$li_estmodest.",".$ld_salinipro.",".
						"		   ".$ld_salinieje.",'".$ls_numordcom."','".$ls_numordser."','".$ls_numsolpag."','".$ls_nomorgads."',".
						"		  '".$ls_numlicemp."','".$ls_modageret."','".$ls_nomres."','".$ls_concomiva."','".$ls_cedben."',".
						"		  '".$ls_nomben."','".$ls_scctaben."',".$ls_estmodiva.",'".$ls_activot."','".$ls_pasivot."',".
						"		  '".$ls_resultadot."','".$ls_ctafin."','".$ls_ctafis."','".$ls_diacadche."','".$ls_codasiona."',".
						"		  '".$ls_loncodestpro1."','".$ls_loncodestpro2."','".$ls_loncodestpro3."','".$ls_loncodestpro4."',".
						"		  '".$ls_loncodestpro5."','".$li_candeccon."',".$ls_tipconmon.",".$li_redconmon.",'".$ls_conrecdoc."',".
						  "'".$row["estvaldis"]."',".
						  "'".$row["nroivss"]."',". 
						  "'".$row["nomrep"]."',". 
						  "'".$row["cedrep"]."',". 
						  "'".$row["telfrep"]."',".
						  "'".$row["cargorep"]."',".
						  "'".$row["estretiva"]."',".
							  ($row["clactacon"]?$row["clactacon"]:0).",".
							  ($row["estempcon"]?$row["estempcon"]:0).",".
						  "'".$row["codaltemp"]."',".
						  "'".$row["basdatcon"]."',".
							  ($row["estcamemp"]?$row["estcamemp"]:0).",".
							  ($row["estparsindis"]?$row["estparsindis"]:0).",".
							  ($row["estciespg"]?$row["estciespg"]:0).",".
							  ($row["estciespi"]?$row["estciespi"]:0).",".
						  "'".$row["basdatcmp"]."',".
						  "'".$row["confinstr"]."',".
						  "'".$row["estintcred"]."',".
							  ($row["estciescg"]?$row["estciescg"]:0).",".
							  ($row["estvalspg"]?$row["estvalspg"]:0).",".
						  "'".$row["ctaspgrec"]."',".
						  "'".$row["ctaspgced"]."',".
						  "'".$row["estmodpartsep"]."',".
						  "'".$row["estmodpartsoc"]."',".
						  "'".$row["estmanant"]."',".
							  ($row["estpreing"]?$row["estpreing"]:0).",".
						  "'".$row["concommun"]."',".
						  "'".$row["confiva"]."',".
							  ($row["casconmov"]?$row["casconmov"]:0).",".
						  "'".$row["estmodprog"]."',".
						  "'".$row["confi_ch"]."',".
						  "'".$row["dirvirtual"]."',".
						  "'".$row["ctaresact"]."',".
						  "'".$row["ctaresant"]."',".
						  "'".$row["estvaldisfin"]."',".
						  "'".$row["dedconproben"]."',".
						  "'".$row["estaprsep"]."',".
						  "'".$row["sujpasesp"]."',".
						  "'".$row["bloanu"]."',".
						  "'".$row["estretmil"]."',".
						  "'".$row["concommil"]."',".
							  ($row["contintmovban"]?$row["contintmovban"]:0).",".
							  ($row["valinimovban"]?$row["valinimovban"]:0).",".
						  "'".$row["estintban"]."',".						  
						  "'".$row["cueproacu"]."',".
						  "'".$row["cuedepamo"]."',".
						  "'".$row["valclacon"]."',".
						  "'".$row["valcomrd"]."',".
						  "'".$row["ctaejeprecie"]."',".
						  "'".$row["estaprsoc"]."',".
						  "'".$row["estaprcxp"]."',".
						  "'".$row["scforden_h"]."',".
						  "'".$row["scforden_d"]."',".
						  "'".$row["repcajchi"]."',".						  
						  "'".$row["estafenc"]."',".						  
						  "'".$row["blocon"]."',".
						  "".$row["intblocon"].",".
						  "'".$row["capiva"]."',".
						  "'".$row["parcapiva"]."',".
						  "'".$row["estciesem"]."',".
						  "'".$row["ciesem1"]."',".
						  "'".$row["ciesem2"]."',".
						  "'".$row["estceniva"]."',".
						  "'".$row["codestprocen1"]."',".						 
						  "'".$row["codestprocen2"]."',".						  
						  "'".$row["codestprocen3"]."',".						  
						  "'".$row["codestprocen4"]."',".
						  "'".$row["codestprocen5"]."',".
						  "'".$row["esclacen"]."',".
						  "'".$row["estspgdecimal"]."'".
						  ")";
											
				$li_row=$this->io_sql_destino->execute($ls_sql);
				if ($li_row===false){						
					$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_copiar_hempresa ERROR->".$this->io_sql_destino->message);
					return false;						
				}					
				$li_total_insert++;
						
			}// FIN WHILE
			
			 $this->msjresultado = $this->msjresultado."*****************************************************************<br />";
			 $this->msjresultado = $this->msjresultado."   <b>Tabla Origen:</b>  sigesp_hempresa Registros ".$li_total_select."<br />";
			 $this->msjresultado = $this->msjresultado."   <b>Tabla Destino:</b> sigesp_hempresa Registros ".$li_total_insert."<br />";
			 $this->msjresultado = $this->msjresultado."*****************************************************************<br /><br />";		
			return true;
	}// end function uf_copiar_empresa

		
	function uf_insert_personal(){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_personal ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		if($this->borrar_tabla){
			$valido=$this->uf_limpiar_tabla('sno_personal');
			if($valido===false){return false;}
		}
		
		
		$criterio = '';
				    
		$ls_sql="SELECT codper FROM sno_personal WHERE codemp = '".$this->codemp."' ";
		$rs=$this->io_sql_destino->execute($ls_sql);				
		if ($rs===false){		
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_personal ERROR->".$this->io_sql_destino->message);
			return false;			
		}				
		
		if($rs->RecordCount()){	
		    $i=1;			
			foreach($rs as $fila){					
				if($i==1){$datos = "'".$fila['codper']."'";}
				if($i>1){$datos .= ",'".$fila['codper']."'";}
				$i++;			
			}	
			
			$criterio = " AND cod_personal NOT IN (".$datos.") ";		
		}
		
		
		$ls_sql="   SELECT * FROM sn_personal p
					LEFT JOIN sob_municipio m ON  m.muncodest = p.estcodest 
					                           AND m.muncodmun=p.muncodmun
					LEFT JOIN sob_estado e ON m.muncodest = e.estcodest
					WHERE direccion LIKE'%%' ".$criterio."; ";
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_personal ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){$this->msjejec .= date('H:i:s').'.- <b>Resultado:</b> No se encontraron registros nuevos en la tabla. <br />'; return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){			 		
				
								
			    $ls_codemp=$this->codemp; 
				$ls_codper=$this->io_validacion->uf_valida_texto($row["cod_personal"],0,10,"");
				$ls_cedper=$this->io_validacion->uf_valida_texto($row["cedula"],0,10,"");
				$ls_nomper=$this->io_validacion->uf_valida_texto($row["nombres"],0,60,"");
				$ls_apeper=$this->io_validacion->uf_valida_texto($row["apellidos"],0,60,""); 
				$ls_dirper=$this->io_validacion->uf_valida_texto($row["direccion"],0,254,""); 
				$ld_fecnacper=$this->io_validacion->uf_valida_fecha($row["nacimiento"],"1950-01-01");
				$ls_edocivper=$this->io_validacion->uf_valida_texto($row["edo_civil"],0,1,"S");
				$ls_telhabper=$this->io_validacion->uf_valida_texto($row["telefono"],0,15,""); 
				$ls_telmovper=$this->io_validacion->uf_valida_texto($row["tel_movil"],0,15,"");
				$ls_sexper=$this->io_validacion->uf_valida_texto($row["sexo"],0,1,"");
				$li_estaper=$this->io_validacion->uf_valida_monto($row["estaper"],0);
				$li_pesper=$this->io_validacion->uf_valida_monto($row["pesper"],0); 
				$ls_codpro=trim($row["cod_profesion"]);
				$ls_nivacaper=$this->io_validacion->uf_valida_texto($row["estnivaca"],0,1,"0");
				$ls_catper=$this->io_validacion->uf_valida_texto($row["catper"],0,20,"");
				$ls_cajahoper=$this->io_validacion->uf_valida_texto($row["caja_ahorro"],0,1,"0"); 
				$li_numhijper=$this->io_validacion->uf_valida_monto($row["nro_hijos"],0);
				$ls_contraper=$this->io_validacion->uf_valida_texto($row["contraper"],0,1,"");
				$li_tipvivper=$this->io_validacion->uf_valida_monto($row["vivienda_tipo"],2);				
				$ls_tenvivper=$this->io_validacion->uf_valida_texto($row["tenvivper"],0,40,""); 
				$li_monpagvivper=$this->io_validacion->uf_valida_monto($row["montopagviv"],0);
				$li_ingbrumen=$this->io_validacion->uf_valida_monto($row["ing_bru_mes"],0);
				$ls_cuecajahoper=$this->io_validacion->uf_valida_texto($row["cuen_caja_ahorro"],0,25,"");
				$ls_cuelphper=$this->io_validacion->uf_valida_texto($row["cuen_lph"],0,25,""); 
				$ls_cuefidper=$this->io_validacion->uf_valida_texto($row["cuen_fideicomiso"],0,25,"");
				$ld_fecingadmpubper=$this->io_validacion->uf_valida_fecha($row["fiap"],"");
				$ls_vacper=$this->io_validacion->uf_valida_texto($row["vacper"],0,1,"");
				$li_porisrper=$this->io_validacion->uf_valida_monto($row["porc_arc"],0); 
				$ld_fecingper=$this->io_validacion->uf_valida_fecha($row["fiinst"],"");
				$li_anoservpreper=$this->io_validacion->uf_valida_monto($row["servicio"],0); 
				$ls_cedbenper=$this->io_validacion->uf_valida_texto($row["ced_bene"],0,8,"");
				$ld_fecegrper=$this->io_validacion->uf_valida_fecha($row["feinst"],"1900-01-01");
				$ls_estper=$this->io_validacion->uf_valida_texto($row["status"],0,1,"1");
				$ls_fotper=$this->io_validacion->uf_valida_texto($row["foto"],0,200,"blanco.jpg");				
				$ls_codpai = $this->io_validacion->uf_valida_texto($row["codpai"],0,3,"---");
				$ls_codest = $this->io_validacion->uf_valida_texto($row["codest"],0,3,"---");				
				$ls_codmun = $this->io_validacion->uf_valida_texto($row["codmun"],0,3,"---");
				$ls_codpar = $this->io_validacion->uf_valida_texto($row["codpar"],0,3,"---");
				$ls_obsper    = $this->io_validacion->uf_valida_texto($row["observacion"],0,254,"");
				$ls_cauegrper = $this->io_validacion->uf_valida_texto($row["estcauegr"],0,1,""); 
				$ls_obsegrper = $this->io_validacion->uf_valida_texto($row["obsegr"],0,254,"");
				$ls_nacper    = $this->io_validacion->uf_valida_texto($row["nacionalidad"],0,1,"");
				$ls_coreleper = $this->io_validacion->uf_valida_texto($row["coreleper"],0,100,"");
				$ls_cenmedper = $this->io_validacion->uf_valida_texto($row["cenmedper"],0,3,"");
				$ls_turper    = $this->io_validacion->uf_valida_texto($row["turper"],0,1,"");
				$ls_horper = $this->io_validacion->uf_valida_texto($row["horper"],0,45,""); 
				$ls_hcmper = $this->io_validacion->uf_valida_texto($row["hcmper"],0,1,"");
				$ls_tipsanper    = $this->io_validacion->uf_valida_texto($row["tipsanper"],0,10,"");
				$li_monpagvivperaux=$this->io_validacion->uf_valida_monto($row["monpagvivper"],0); 
				$li_ingbrumenaux=$this->io_validacion->uf_valida_monto($row["ingbrumen"],0); 
				$ls_codcom = $this->io_validacion->uf_valida_texto($row["codcom"],0,10,"");
				$ls_codran = $this->io_validacion->uf_valida_texto($row["codran"],0,10,"");
				$ls_numexpper = $this->io_validacion->uf_valida_texto($row["numexpper"],0,20,"");
				$ls_codpainac = $this->io_validacion->uf_valida_texto($row["codpainac"],0,3,"");
				$ls_codestnac = $this->io_validacion->uf_valida_texto($row["codestnac"],0,3,"");
				$row["fecreingper"] = ($row["fecreingper"])?$row["fecreingper"]:"1900-01-01";
				$row["fecjubper"] = ($row["fecjubper"])?$row["fecjubper"]:"1900-01-01";
				$row["fecfevid"] = ($row["fecfevid"])?$row["fecfevid"]:"1900-01-01";
				$row["fecleypen"] = ($row["fecleypen"])?$row["fecleypen"]:"1900-01-01";
				$row["fecsitu"] = ($row["fecsitu"])?$row["fecsitu"]:"1900-01-01";
								
				$row["codtippersss"] = '-------';				
				$ls_codpar = '---';
				$ls_codpai=($ls_codmun)?'058':'---';
				$ls_codpro{0}='1';
				$row["codorg"]='----------';
				
			  $ls_sql="      INSERT INTO sno_personal( codemp, codper, cedper, nomper, apeper, dirper, 
													   fecnacper, edocivper, telhabper, telmovper, sexper, 
													   estaper, pesper, codpro, nivacaper, catper, cajahoper, 
													   numhijper, contraper, tipvivper, tenvivper,monpagvivper,  
													   ingbrumen, cuecajahoper, cuelphper, cuefidper,fecingadmpubper,  
													   vacper, porisrper, fecingper, anoservpreper,cedbenper,  
													   fecegrper, estper, fotper, codpai, codest, codmun, 
													   codpar, codtippersss, obsper, cauegrper, obsegrper, nacper, coreleper, 
													   cenmedper, turper, horper, hcmper, tipsanper, codcom, codran, 
													   numexpper, codpainac, codestnac, 
													   fecreingper, fecjubper, codunivipladin, 
													   enviorec, fecfevid, fecleypen, codcausa, situacion,  
													   fecsitu,talcamper, talzapper, talpanper, anoservprecont,  
													   anoservprefijo,codorg, porcajahoper, anoperobr, 
													   codger, carantper, rifper,nombrebd,tipobd,anobd) 													   
							 VALUES ('".$ls_codemp."','".$ls_codper."','".$ls_cedper."','".$ls_nomper."','".$ls_apeper."','".$ls_dirper."','".
							            $ld_fecnacper."','".$ls_edocivper."','".$ls_telhabper."','".$ls_telmovper."','".$ls_sexper."',".
							            $li_estaper.",".$li_pesper.",'".$ls_codpro."','".$ls_nivacaper."','".$ls_catper."','".$ls_cajahoper."',".
							            $li_numhijper.",'".$ls_contraper."',".$li_tipvivper.",'".$ls_tenvivper."',".$li_monpagvivper.",".
							            $li_ingbrumen.",'".$ls_cuecajahoper."','".$ls_cuelphper."','".$ls_cuefidper."','".$ld_fecingadmpubper."','".
							            $ls_vacper."',".$li_porisrper.",'".$ld_fecingper."',".$li_anoservpreper.",'".$ls_cedbenper."','".
							            $ld_fecegrper."','".$ls_estper."','".$ls_fotper."','".$ls_codpai."','".$ls_codest."','".$ls_codmun."','".
							            $ls_codpar."','".$row["codtippersss"]."','".$ls_obsper."','".$ls_cauegrper."','".$ls_obsegrper."','".$ls_nacper."','".$ls_coreleper."','".
							            $ls_cenmedper."','".$ls_turper."','".$ls_horper."','".$ls_hcmper."','".$ls_tipsanper."','".$ls_codcom."','".$ls_codran."','".
							            $ls_numexpper."','".$ls_codpainac."','".$ls_codestnac."','".
										$row["fecreingper"]."','".
										$row["fecjubper"]."','".
										$row["codunivipladin"]."','".
										$row["enviorec"]."','".
										$row["fecfevid"]."','".
										$row["fecleypen"]."','".
										$row["codcausa"]."','".
										$row["situacion"]."','".
										$row["fecsitu"]."','".
										$row["talcamper"]."','".
										($row["talzapper"]?$row["talzapper"]:0)."','".
										$row["talpanper"]."',".
										($row["anoservprecont"]?$row["anoservprecont"]:0).",".
										($row["anoservprefijo"]?$row["anoservprefijo"]:0).",'".
										$row["codorg"]."','".
										($row["porcajahoper"]?$row["porcajahoper"]:'0')."',".
										($row["anoperobr"]?$row["anoperobr"]:0).",'".
										$row["codger"]."','".
										$row["carantper"]."','".
										$row["rifper"]."','".
										$this->nombrebd."','".
										$this->tipobd."','".
										$this->anobd."')";
						   
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){						
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_personal ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
			  
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Origen:</b>  sno_personal Registros ".$li_total_select."<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Destino:</b> sno_personal Registros ".$li_total_insert."<br />";
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br /><br />";
				  
		 return true;
	}// end function uf_insert_personal

	
	
	function uf_insert_profesion(){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_profesion ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		if($this->borrar_tabla){
			$valido=$this->uf_limpiar_tabla('sno_profesion');
			if($valido===false){return false;}
		}
		
		$criterio = '';
				    
		$ls_sql="SELECT codpro FROM sno_profesion WHERE codemp = '".$this->codemp."';";
		$rs=$this->io_sql_destino->execute($ls_sql);				
		if ($rs===false){		
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_profesion ERROR->".$this->io_sql_destino->message);
			return false;			
		}				
		
		if($rs->RecordCount()){	
		    $i=1;			
			foreach($rs as $fila){	
			    $fila['codpro']{0}=0;				
				if($i==1){$datos = "'".$fila['codpro']."'";}
				if($i>1){$datos .= ",'".$fila['codpro']."'";}
				$i++;			
			}	
			
			$criterio = " AND cod_profesion NOT IN (".$datos.") ";		
		}
		
		$ls_sql="SELECT cod_profesion,den_profesion FROM sn_profesion WHERE  den_profesion LIKE'%%' ".$criterio;
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_profesion ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){$this->msjejec .= date('H:i:s').'.- <b>Resultado:</b> No se encontraron registros nuevos en la tabla. <br />'; return true;}
		//echo $ls_sql;
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	
		 		
				 $ls_codemp = $this->codemp; 
				 $ls_codpro = trim($row["cod_profesion"]);
				 $ls_despro = $this->io_validacion->uf_valida_texto($row["den_profesion"],0,120,"");
				 $ls_codpro{0}='1';
				 
				 $ls_sql="INSERT INTO sno_profesion(codemp,codpro,despro,nombrebd,tipobd,anobd) VALUES ('".$ls_codemp."','".
				                                                                                           $ls_codpro."','".
																										   $ls_despro."','".
																										   $this->nombrebd."','".
																										   $this->tipobd."','".
																										   $this->anobd."')";
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){						
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_profesion ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
			  
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Origen:</b>  sno_profesion Registros ".$li_total_select."<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Destino:</b> sno_profesion Registros ".$li_total_insert."<br />";
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br /><br />";
				  
		 return true;
	}// end function uf_insert_profesion	
	
	
	function uf_insert_hnomina($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hnomina ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_hnomina WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocurnom='".$this->anobd."' AND peractnom='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_nomina ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		
		$ls_sql=" SELECT * 
				   FROM sn_hnominas  
				 WHERE  cod_nomina ='".$as_codnom."' 
				    AND ano_en_curso ='".$as_anocur."' ";
		
		//echo $ls_sql.'<br>';		
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_nomina ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	
		 		/*
				cod_nomina
				descripcion
				subnomina
				rac
				ano_en_curso
				periodos
				desc_periodo
				inicio
				p_actual
				cfg_m_banco
				cfg_m_lph
				cfg_conta_nom
				cfg_nom_destino
				cfg_nom_cod_pro
				cfg_nom_ced_bene
				cfg_conta_apt
				dias_bono_salida
				dias_por_ano
				dias_tope
				dias_bono_reingreso
				dias_inicial
				tipo_nom
				ct_sino
				ct_tipo
				adelanto
				clase_nom
				p_default
				*/
				switch($row["periodos"]){
						case 1:
						    $row["tippernom"] = 3;
							break;
						case 12:
						    $row["tippernom"] = 2;
							break;
						case 24:
						    $row["tippernom"] = 1;
							break;
						case 52:
						    $row["tippernom"] = 0;
							break;
				
				}
				
				$row["tippernom"] = $row["tippernom"];
			    $ls_codemp=$this->codemp; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_desnom=$this->io_validacion->uf_valida_texto($row["descripcion"],0,100,"");
				$ls_tippernom=$this->io_validacion->uf_valida_texto($row["tippernom"],0,1,"");
				$ls_despernom=$this->io_validacion->uf_valida_texto($row["desc_periodo"],0,20,"");
				$ls_anocurnom=$row["ano_en_curso"];				
				$ld_fecininom=$row["inicio"];//$this->io_validacion->uf_valida_fecha($row["fecininom"],"");
				$ls_peractnom=$as_codperi;
				$li_numpernom=$row["periodos"]; 
				$li_tipnom=$this->tipnom;
				$ls_subnom=$this->io_validacion->uf_valida_texto($row["subnomina"],0,1,"0");
				$ls_racnom=$this->io_validacion->uf_valida_texto($row["rac"],0,1,"0");
				$ls_adenom=$this->io_validacion->uf_valida_texto($row["adenom"],0,1,"0");
				$ls_espnom=$this->io_validacion->uf_valida_texto($row["espnom"],0,1,"0");
				$ls_ctnom=$this->io_validacion->uf_valida_texto($row["ct_sino"],0,1,"0");
				$ls_ctmetnom=$this->io_validacion->uf_valida_texto($row["ctmetnom"],0,2,"");
				
				$li_diabonvacnom=$this->io_validacion->uf_valida_monto($row["dias_bono_salida"],0);
				$li_diareivacnom=$this->io_validacion->uf_valida_monto($row["dias_bono_reingreso"],0);
				$li_diainivacnom=$this->io_validacion->uf_valida_monto($row["dias_inicial"],0);
				$li_diatopvacnom=$this->io_validacion->uf_valida_monto($row["dias_tope"],0);
				$li_diaincvacnom=$this->io_validacion->uf_valida_monto($row["dias_por_ano"],0);
				
				$ls_consulnom=$this->io_validacion->uf_valida_texto($row["cfg_conta_nom"],0,50,"OCP");
				$ls_descomnom=$this->io_validacion->uf_valida_texto($row["descomnom"],0,1,"");
				$ls_codpronom=$this->io_validacion->uf_valida_texto($row["cfg_nom_cod_pro"],0,10,"----------");
				$ls_codbennom=$this->io_validacion->uf_valida_texto($row["cfg_nom_ced_bene"],0,10,"--------");
				$ls_conaponom=$this->io_validacion->uf_valida_texto($row["cfg_conta_apt"],0,50,"OCP");
				$ls_cueconnom=$this->io_validacion->uf_valida_texto($row["cueconnom"],0,25,"");
				$ls_notdebnom=$this->io_validacion->uf_valida_texto($row["notdebnom"],0,1,"0");
				$ls_numvounom=$this->io_validacion->uf_valida_texto($row["numvounom"],0,1,"0");
				$ls_recdocnom=$this->io_validacion->uf_valida_texto($row["recdocnom"],0,1,"0");
				$ls_tipdocnom=$this->io_validacion->uf_valida_texto($row["tipdocnom"],0,5,"");
				$ls_recdocapo=$this->io_validacion->uf_valida_texto($row["recdocapo"],0,1,"0");
				$ls_tipdocapo=$this->io_validacion->uf_valida_texto($row["tipdocapo"],0,5,"");
				$ls_perresnom=$this->io_validacion->uf_valida_texto($row["perresnom"],0,3,"000");
				$ls_conpernom=$this->io_validacion->uf_valida_texto($row["conpernom"],0,1,"");
				$ls_conpronom=$this->io_validacion->uf_valida_texto($row["conpronom"],0,1,"");
				$ls_titrepnom=$this->io_validacion->uf_valida_texto($row["titrepnom"],0,50,"");
				$ls_codorgcestic=$this->io_validacion->uf_valida_texto($row["codorgcestic"],0,4,"");
				
				$ls_sql="INSERT INTO sno_hnomina(codemp,codnom,desnom,tippernom,despernom,anocurnom,fecininom,peractnom,numpernom,tipnom, 
						 			 subnom,racnom,adenom,espnom,ctnom,ctmetnom,diabonvacnom,diareivacnom,diainivacnom,diatopvacnom, 
						 			 diaincvacnom,consulnom,descomnom,codpronom,codbennom,conaponom,cueconnom,notdebnom,numvounom, 
						 			 perresnom,recdocnom,recdocapo,tipdocnom,tipdocapo, conpernom, conpronom, titrepnom, codorgcestic,
									 confidnom, recdocfid, tipdocfid, codbenfid, cueconfid, informa, 
									 divcon, recdocpagperche, tipdocpagperche, estctaalt, racobrnom, 
									 nomliq, hojtienom, cestiksuel  ) 
						      VALUES ('".$ls_codemp."','".$ls_codnom."','".$ls_desnom."','".$ls_tippernom."','".$ls_despernom."',".
						"			  '".$ls_anocurnom."','".$ld_fecininom."','".$ls_peractnom."',".$li_numpernom.",".$this->tipnom.",".
						"			  ".$ls_subnom.",".$ls_racnom.",'".$ls_adenom."','".$ls_espnom."','".$ls_ctnom."','".$ls_ctmetnom."',".
						"			  ".$li_diabonvacnom.",".$li_diareivacnom.",".$li_diainivacnom.",".$li_diatopvacnom.",".$li_diaincvacnom.",".
						"			  '".$ls_consulnom."','".$ls_descomnom."','".$ls_codpronom."','".$ls_codbennom."','".$ls_conaponom."',".
						"			  '".$ls_cueconnom."','".$ls_notdebnom."','".$ls_numvounom."','".$ls_perresnom."','".$ls_recdocnom."',".
						"			  '".$ls_recdocapo."','".$ls_tipdocnom."','".$ls_tipdocapo."','".$ls_conpernom."','".$ls_conpronom."',".
						"			  '".$ls_titrepnom."','".$ls_codorgcestic."',".
						"'".$row["confidnom"]."',".
						"'".$row["recdocfid"]."',".
						"'".$row["tipdocfid"]."',".
						"'".$row["codbenfid"]."',".
						"'".$row["cueconfid"]."',".
						"'".$row["informa"]."',".
						"'".$row["divcon"]."',".
						"'".$row["recdocpagperche"]."',".
						"'".$row["tipdocpagperche"]."',".
						"'".$row["estctaalt"]."',".
						"'".$row["racobrnom"]."',".
						"'".$row["nomliq"]."',".
						"'".$row["hojtienom"]."',".
						"'".$row["cestiksuel"]."'".
						")";						   
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_nomina ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function uf_insert_nomina



	function uf_insert_hperiodo($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hperiodo ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_hperiodo WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hperiodo ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		/*
		cod_nomina
		ano_en_curso
		periodo
		desde
		hasta
		cerrada
		contabilizada
		total
		cont_aporte
		observacion		
		*/
		
		$ls_sql=" SELECT *
				    FROM sn_hperiodos 
				   WHERE cod_nomina ='".$as_codnom."' 
				     AND ano_en_curso ='".$as_anocur."' 
				     AND periodo = '".$as_codperi."'";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hperiodo ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	
		 		
			    $ls_codemp=$this->codemp; 
				$ls_codnom=$row["cod_nomina"];//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_codperi=$row["periodo"];
				$ld_fecdesper=$this->io_validacion->uf_valida_fecha($row["desde"],"");
				$ld_fechasper=$this->io_validacion->uf_valida_fecha($row["hasta"],"");
				$li_cerper=$this->io_validacion->uf_valida_monto($row["cerrada"],0);
				$li_totper=$this->io_validacion->uf_valida_monto($row["total"],0);
				$li_conper=$this->io_validacion->uf_valida_monto($row["contabilizada"],0); 
				$li_apoconper=$this->io_validacion->uf_valida_monto($row["apoconper"],0);  
				$ls_obsper=$row["observacion"]; 
				$ls_anocur=$as_anocur;
				$li_peradi=$this->io_validacion->uf_valida_monto($row["peradi"],0);  
				//$li_totper=$row["totper"];
				$li_totperaux=$this->io_validacion->uf_valida_monto($row["totper"],0);  
	   			$row["ingconper"] = $row["ingconper"]?$row["ingconper"]:0;
				$row["fidconper"] = $row["fidconper"]?$row["fidconper"]:0;
				$row["fidintconper"] = $row["fidintconper"]?$row["fidintconper"]:0;
				
				
				$ls_sql="INSERT INTO sno_hperiodo(codemp,codnom,codperi,fecdesper,fechasper,cerper,totper,conper,apoconper,obsper,anocur, peradi, totperaux, ingconper,fidconper, fidintconper) 
							      VALUES ('".$ls_codemp."','".$ls_codnom."','".$ls_codperi."','".$ld_fecdesper."','".$ld_fechasper."',".
							              "".$li_cerper.",'".$li_totper."',".$li_conper.",".$li_apoconper.",'".$ls_obsper."','".$ls_anocur."',".
							              "".$li_peradi.",'".$li_totperaux."',".							
										  "".$row["ingconper"].",".
										  "".$row["fidconper"].",".
										  "".$row["fidintconper"]."".
							")";
				
				
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hperiodo ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function uf_insert_nomina


	function uf_insert_hsubnomina($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hsubnomina ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_hsubnomina WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hsubnomina ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		/*
		cod_nomina
		ano_en_curso
		subnomina
		descripcion		
		*/
		
		$ls_sql=" SELECT *
				   FROM sn_hsubnom
				 WHERE  cod_nomina ='".$as_codnom."' 
				    AND ano_en_curso ='".$as_anocur."' 
				    AND codperi = '".$as_codperi."'";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hsubnomina ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	
		 		
	   			$ls_codemp=$row["codemp"]; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_codsubnom=$this->io_validacion->uf_valida_texto($row["codsubnom"],0,10,"");
				$ls_dessubnom=$this->io_validacion->uf_valida_texto($row["dessubnom"],0,60,"");
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;
				
								
				$ls_sql="INSERT INTO sno_hsubnomina(codemp,codnom,codsubnom,dessubnom,anocur,codperi)".
							"     VALUES ('".$ls_codemp."','".$ls_codnom."','".$ls_codsubnom."','".$ls_dessubnom."',".
							"			  '".$ls_anocur."','".$ls_codperi."')";
				
				
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hsubnomina ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function uf_insert_nomina


	function uf_insert_hcargo($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hcargo ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_hcargo WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hcargo ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		/*
			cod_nomina
			ano_en_curso
			periodo
			cod_cargo
			nombre
			MonPrimJer
			MonBonCom
		*/
		
		$ls_sql=" SELECT *
				   FROM sn_hcargos
				 WHERE  cod_nomina ='".$as_codnom."' 
				    AND ano_en_curso ='".$as_anocur."' 
				    AND periodo = '".$as_codperi."'";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hcargo ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	
		 		
	   			$ls_codemp=$this->codemp; 
				$ls_codnom=$row["cod_nomina"];//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_codcar=$this->io_validacion->uf_valida_texto($row["cod_cargo"],0,10,"");
				$ls_descar=$this->io_validacion->uf_valida_texto($row["nombre"],0,100,"");
				$ls_anocur=$as_anocur;
				$ls_codperi=$row["periodo"];
								
				$ls_sql="INSERT INTO sno_hcargo(codemp,codnom,codcar,descar,anocur,codperi)
							      VALUES ('".$ls_codemp."','".$ls_codnom."','".$ls_codcar."','".$ls_descar."',".
							             "'".$ls_anocur."','".$ls_codperi."')";
				
				 //echo $ls_sql.'<br>';
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hcargo ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function uf_insert_nomina
	
	function uf_insert_htabulador($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_htabulador ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_htabulador WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_htabulador ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		/*
			cod_nomina
			ano_en_curso
			periodo
			cod_tabla
			denominacion
			fila
			columna		
		*/
		
		$ls_sql=" SELECT *
				   FROM sn_htablas
				 WHERE cod_nomina ='".$as_codnom."' 
				    AND ano_en_curso ='".$as_anocur."' 
				    AND periodo = '".$as_codperi."'";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_htabulador ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		
		if(!$io_recordset->RecordCount()){ 
				
						 $ls_sql=" SELECT *
									   FROM sno_htabulador
									 WHERE codnom ='".$as_codnom."' 
										AND anocur ='".$as_anocur."' 
										AND codperi = '".$as_codperi."'
										AND codtab = '00000000000000000000'					
										";
										
							$io_rs=$this->io_sql_destino->select($ls_sql);
							if ($io_rs===false){			   	
							   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_htabulador ERROR-> ".$this->io_sql_destino->message);
							   return false;
							}
							
							if(!$io_rs->RecordCount()){ 
							
									$sql="INSERT INTO sno_htabulador(codemp,codnom,codtab,destab,anocur,codperi, maxpasgra) 
													 VALUES ('".$this->codemp."','".$as_codnom."','00000000000000000000','Sin Tabulador',".
															"'".$as_anocur."','".$as_codperi."',0)";
									
									
									 $resp = $this->io_sql_destino->execute($sql);
									 if ($resp===false){				  		
										$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_htabulador ERROR->".$this->io_sql_destino->message);
										return false;						
									 }
							
							}					
									
				
				return true;
		}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	
		 		
	   			$ls_codemp=$this->codemp; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_codtab=$this->io_validacion->uf_valida_texto($row["cod_tabla"],0,20,"");
				$ls_destab=$this->io_validacion->uf_valida_texto($row["denominacion"],0,100,"");
				$li_maxpasgra=$this->io_validacion->uf_valida_monto($row["maxpasgra"],0);
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;
				
								
				$ls_sql="INSERT INTO sno_htabulador(codemp,codnom,codtab,destab,anocur,codperi, maxpasgra) 
							     VALUES ('".$ls_codemp."','".$ls_codnom."','".$ls_codtab."','".$ls_destab."',".
							            "'".$ls_anocur."','".$ls_codperi."',".$li_maxpasgra.")";
				
				
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_htabulador ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		 
		
		 $ls_sql=" SELECT *
				   FROM sno_htabulador
				 WHERE codnom ='".$as_codnom."' 
				    AND anocur ='".$as_anocur."' 
				    AND codperi = '".$as_codperi."'
					AND codtab = '00000000000000000000'					
					";
					
		$io_rs=$this->io_sql_destino->select($ls_sql);
		if ($io_rs===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_htabulador ERROR-> ".$this->io_sql_destino->message);
		   return false;
	    }
		
		if(!$io_rs->RecordCount()){ 
		
				$sql="INSERT INTO sno_htabulador(codemp,codnom,codtab,destab,anocur,codperi, maxpasgra) 
							     VALUES ('".$this->codemp."','".$as_codnom."','00000000000000000000','Sin Tabulador',".
							            "'".$as_anocur."','".$as_codperi."',0)";
				
				
				 $resp = $this->io_sql_destino->execute($sql);
				 if ($resp===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_htabulador ERROR->".$this->io_sql_destino->message);
					return false;						
				 }
		
		}
		 
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function uf_insert_nomina
	
	
	
	function uf_insert_hgrado($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hgrado ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_hgrado WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hgrado ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		/*
			cod_nomina
			ano_en_curso
			periodo
			cod_tabla
			grado
			paso
			salario
			compensacion
		*/
		
		$ls_sql=" INSERT INTO sno_hgrado (codemp, codnom, anocur, codperi, codtab, codpas, codgra, 
			                       monsalgra, moncomgra, aniodes, aniohas) 
	               VALUES ('".$this->codemp."', '".$as_codnom."', '".$as_anocur."', '".$as_codperi."', '00000000000000000000', '00', '00', 0, 0, 0, 0);";
		
		 $resp = $this->io_sql_destino->execute($ls_sql);
		 if ($resp===false){				  		
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hgrado ERROR->".$this->io_sql_destino->message);
			return false;						
		 }		
		
		
		$ls_sql=" SELECT *
				   FROM sn_hgrados
				 WHERE cod_nomina ='".$as_codnom."' 
				    AND ano_en_curso ='".$as_anocur."' 
				    AND periodo = '".$as_codperi."'";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hgrado ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		
		
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	
		 		
	   			$ls_codemp=$this->codemp; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$li_monsalgra=$this->io_validacion->uf_valida_monto($row["salario"],0);
				$li_moncomgra=$this->io_validacion->uf_valida_monto($row["compensacion"],0);
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;				
                $row["aniodes"] = $row["aniodes"]?$row["aniodes"]:'0'; 
				$row["aniohas"] = $row["aniohas"]?$row["aniohas"]:'0';
				
								
				$ls_sql="INSERT INTO sno_hgrado(codemp, codnom, anocur, codperi, codtab, codpas, codgra, monsalgra, 
      											moncomgra, aniodes, aniohas) 
							     VALUES ('".$ls_codemp."','".$ls_codnom."','".$ls_anocur."','".$ls_codperi."','".$row["cod_tabla"]."',".
							             "'".$row["paso"]."','".$row["grado"]."','".$li_monsalgra."','".$li_moncomgra."',".
										    $row["aniodes"].",".$row["aniohas"].");	";
											
				
				 //echo $ls_sql.'<br>';
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hgrado ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function uf_insert_nomina
	
	function uf_insert_hasignacioncargo($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hasignacioncargo ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;		
		
		$ls_sql="DELETE FROM sno_hasignacioncargo WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hasignacioncargo ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
	
		$ls_sql=" INSERT INTO sno_hasignacioncargo (codemp, codnom, anocur, codperi, codasicar, denasicar, 
													  claasicar, minorguniadm, ofiuniadm, uniuniadm, depuniadm, 
													  prouniadm, codtab, codpas, codgra, codded, codtipper, numvacasicar, 
													  numocuasicar, codproasicar, estcla, grado, codestpro1, 
													  codestpro2, codestpro3, codestpro4, codestpro5) 
					VALUES ('".$this->codemp."', '".$as_codnom."', '".$as_anocur."', '".$as_codperi."', '0000000', 'Sin Asignación de Cargo', '0', '0000', 
							'00', '00', '00', '00', '00000000000000000000', '00', '00', 
							'000', '0000', 0, 0, '', 'P', '    ', '0000000000000000000000000', '0000000000000000000000000', 
							'0000000000000000000000000', '0000000000000000000000000', '0000000000000000000000000');
					";
				
		 $li_row = $this->io_sql_destino->execute($ls_sql);
		 if ($li_row===false){				  		
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hasignacioncargo ERROR->".$this->io_sql_destino->message);
			return false;						
		 }	
		 						
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function uf_insert_nomina


	
	function uf_insert_hunidadadministrativa($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hunidadadmin ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_hunidadadmin WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hunidadadministrativa ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		/*		
			cod_nomina
			ano_en_curso
			periodo
			miist_y_or
			oficina
			unidad
			departamen
			programas
			descrip
			cod_prog
			cod_pro_via
		*/
		
		$ls_sql=" SELECT *
				    FROM sn_hubiad
				   WHERE cod_nomina ='".$as_codnom."' 
				     AND ano_en_curso ='".$as_anocur."' 
				     AND periodo = '".$as_codperi."'";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hunidadadministrativa ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	

				$ls_codemp=$this->codemp; 
				$ls_minorguniadm=$this->io_validacion->uf_valida_texto($row["miist_y_or"],0,4,"0000");
				$ls_ofiuniadm=$this->io_validacion->uf_valida_texto($row["oficina"],0,2,"00");
				$ls_uniuniadm=$this->io_validacion->uf_valida_texto($row["unidad"],0,2,"00");
				$ls_depuniadm=$this->io_validacion->uf_valida_texto($row["departamen"],0,2,"00");
				$ls_prouniadm=$this->io_validacion->uf_valida_texto($row["programas"],0,2,"00");
				$ls_desuniadm=$this->io_validacion->uf_valida_texto($row["descrip"],0,100,"");
				$ls_codprouniadm=$this->io_validacion->uf_valida_texto($row["cod_prog"],0,33,"");
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;			
				
				
				$ls_sql="INSERT INTO sno_hunidadadmin(codemp,minorguniadm,ofiuniadm,uniuniadm,depuniadm,prouniadm,desuniadm,".
							"			 codprouniadm,codnom,anocur,codperi,estcla, codestpro1, codestpro2, codestpro3, codestpro4, codestpro5)".
							"VALUES('".$ls_codemp."','".$ls_minorguniadm."','".$ls_ofiuniadm."','".$ls_uniuniadm."','".$ls_depuniadm."',".
							       "'".$ls_prouniadm."','".$ls_desuniadm."','".$ls_codprouniadm."','".$ls_codnom."','".$ls_anocur."','".$ls_codperi."',".
								       "'".$row["estcla"]."',".									   
									   "'".$row["codestpro1"]."',".
									   "'".$row["codestpro2"]."',".
									   "'".$row["codestpro3"]."',".
									   "'".$row["codestpro4"]."',".								  
									   "'".$row["codestpro5"]."'".							   
								       ")";
				
				
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hunidadadministrativa ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function uf_insert_nomina

	
	function uf_insert_hpersonalnomina($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hpersonalnomina ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_hpersonalnomina WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hpersonalnomina ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		$ls_sql=" SELECT   *
				   FROM sn_hpers_rac
				 WHERE  cod_nomina ='".$as_codnom."' 
				    AND ano_en_curso ='".$as_anocur."' 
				    AND periodo = '".$as_codperi."'";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hpersonalnomina ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	

				
				/*
				
				cod_nomina
				ano_en_curso
				periodo
				cod_personal
				sub_nomina
				cod_tabla
				codigo_rac
				grado
				paso
				sueldo
				horas
				miist_y_or
				oficina
				unidad
				departamen
				programas
				
				banco_pago
				banco_codigo
				banco_cuenta
				banco_tipoc
				cod_cargo
				subnomina
				ingreso
				status
				cta_abono
				fecfincto
				dedicacion
				
				tipo_personal
				quin_vac
				id_tbl_vac
				SueldInt
				efectivo
				SueldoPro
				agencia
				fenomi
				fesusp
				cau_egre_susp
				esc_doc
				clas_doc
				ubic_fisica
				ct_tipo
				feculcontr
				catg_gr_niv
				NOMINA_ORIGEN				
				*/
				
				
				
				$ls_codemp=$this->codemp; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_codper=$this->io_validacion->uf_valida_texto($row["cod_personal"],0,10,"");
				$ls_codsubnom=$this->io_validacion->uf_valida_texto($row["codsubnom"],0,10,"0000000000");
				$ls_codasicar=$this->io_validacion->uf_valida_texto($row["codasicar"],0,7,"0000000");
				$li_sueper=$this->io_validacion->uf_valida_monto($row["sueldo"],0);
				$li_horper=$this->io_validacion->uf_valida_monto($row["horas"],0);				
				$ls_minorguniadm=$this->io_validacion->uf_valida_texto($row["miist_y_or"],0,4,"0000");
				$ls_ofiuniadm=$this->io_validacion->uf_valida_texto($row["oficina"],0,2,"00");
				$ls_uniuniadm=$this->io_validacion->uf_valida_texto($row["unidad"],0,2,"00");
				$ls_depuniadm=$this->io_validacion->uf_valida_texto($row["departamen"],0,2,"00");
				$ls_prouniadm=$this->io_validacion->uf_valida_texto($row["programas"],0,2,"00");
				$li_pagbanper=$this->io_validacion->uf_valida_monto($row["banco_pago"],0);
				$ls_codban=$this->io_validacion->uf_valida_texto($row["banco_codigo"],0,3,"");
				$ls_codcueban=$this->io_validacion->uf_valida_texto($row["banco_cuenta"],0,25,"");
				$ls_tipcuebanper=$this->io_validacion->uf_valida_texto($row["banco_tipoc"],0,1,"");
				$ls_codcar=$this->io_validacion->uf_valida_texto($row["cod_cargo"],0,10,"0000000000");
				
				$ld_fecingper=$this->io_validacion->uf_valida_fecha($row["ingreso"],"1900-01-01");
				$ls_staper=$this->io_validacion->uf_valida_texto($row["status"],0,1,"1");
				$ls_cueaboper=$this->io_validacion->uf_valida_texto($row["cta_abono"],0,25,"");
				
				$ld_fecculcontr=$this->io_validacion->uf_valida_fecha($row["fecfincto"],"1900-01-01");
				$row["codded"] = "100";
				$ls_codded=$this->io_validacion->uf_valida_texto($row["codded"],0,3,"000");
				$row["codtipper"] = '02'.$row["tipo_personal"];
				$ls_codtipper=$this->io_validacion->uf_valida_texto($row["codtipper"],0,4,"0000");
				
				$ls_quivacper=$this->io_validacion->uf_valida_texto($row["quin_vac"],0,1,"0");
				$ls_codtabvac=$this->io_validacion->uf_valida_texto($row["id_tbl_vac"],0,2,"00");
				$li_sueintper=$this->io_validacion->uf_valida_monto($row["sueldint"],0);
				$li_pagefeper=$this->io_validacion->uf_valida_monto($row["efectivo"],0);
				$li_sueproper=$this->io_validacion->uf_valida_monto($row["sueldopro"],0);
				$ls_codage=$this->io_validacion->uf_valida_texto($row["agencia"],0,10,"");
				
				$ld_fecegrper=$this->io_validacion->uf_valida_fecha($row["fenomi"],"1900-01-01");				
				$ld_fecsusper=$this->io_validacion->uf_valida_fecha($row["fesusp"],"1900-01-01");
				
				$ls_cauegrper=$this->io_validacion->uf_valida_texto($row["cau_egre_susp"],0,254,"");
				$ls_codescdoc=$this->io_validacion->uf_valida_texto($row["esc_doc"],0,4,"0000");
				$ls_codcladoc=$this->io_validacion->uf_valida_texto($row["clas_doc"],0,4,"0000");
				$ls_codubifis=$this->io_validacion->uf_valida_texto($row["ubic_fisica"],0,4,"0000");
				$ls_tipcestic=$this->io_validacion->uf_valida_texto($row["ct_tipo"],0,2,"");
				$ls_conjub=$this->io_validacion->uf_valida_texto($row["conjub"],0,4,"");
				$ls_catjub=$this->io_validacion->uf_valida_texto($row["catjub"],0,3,"");
				$ls_codclavia=$this->io_validacion->uf_valida_texto($row["codclavia"],0,1,"");
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;
				$ls_codunirac=$this->io_validacion->uf_valida_texto($row["codunirac"],0,10,"");
				$li_pagtaqper=$this->io_validacion->uf_valida_monto($row["pagtaqper"],0);
				//$li_sueper=$this->io_rcbsf->uf_convertir_monedabsf($li_sueper,2,1,1000,1);
				//$li_sueintper=$this->io_rcbsf->uf_convertir_monedabsf($li_sueintper,2,1,1000,1);
				//$li_sueproper=$this->io_rcbsf->uf_convertir_monedabsf($li_sueproper,2,1,1000,1);
				$li_sueperaux=$this->io_validacion->uf_valida_monto($row["sueper"],0);
				$li_sueintperaux=$this->io_validacion->uf_valida_monto($row["sueintper"],0);
				$li_sueproperaux=$this->io_validacion->uf_valida_monto($row["sueproper"],0);			
				
				
				$ls_sql="INSERT INTO sno_hpersonalnomina(codemp,codnom,codper,codsubnom,codasicar,codtab,codgra,codpas,sueper,horper, 
							    		 minorguniadm,ofiuniadm,uniuniadm,depuniadm,prouniadm,pagbanper,codban,codcueban,tipcuebanper, 
							 			 codcar,fecingper,staper,cueaboper,fecculcontr,codded,codtipper,quivacper,codtabvac,sueintper, 
							 			 pagefeper,sueproper,codage,fecegrper,fecsusper,cauegrper,codescdoc,codcladoc,codubifis,tipcestic, 
							 			 anocur,codperi,conjub,catjub,codclavia, codunirac, pagtaqper,
										 grado, fecascper,descasicar, coddep, salnorper, estencper, obsrecper) 
							      VALUES ('".$ls_codemp."','".$ls_codnom."','".$ls_codper."','".$ls_codsubnom."','".$ls_codasicar."',".
										  "'".$row["cod_tabla"]."','".$row["grado"]."','".$row["paso"]."',".$li_sueper.",".$li_horper.",'".$ls_minorguniadm."',".
										  "'".$ls_ofiuniadm."','".$ls_uniuniadm."','".$ls_depuniadm."','".$ls_prouniadm."',".$li_pagbanper.",".
										  "'".$ls_codban."','".$ls_codcueban."','".$ls_tipcuebanper."','".$ls_codcar."','".$ld_fecingper."',".
										  "'".$ls_staper."','".$ls_cueaboper."','".$ld_fecculcontr."','".$ls_codded."','".$ls_codtipper."',".
										  "'".$ls_quivacper."','".$ls_codtabvac."',".$li_sueintper.",".$li_pagefeper.",".$li_sueproper.",".
										  "'".$ls_codage."','".$ld_fecegrper."','".$ld_fecsusper."','".$ls_cauegrper."','".$ls_codescdoc."',".
										  "'".$ls_codcladoc."','".$ls_codubifis."','".$ls_tipcestic."','".$ls_anocur."','".$ls_codperi."',".
										  "'".$ls_conjub."','".$ls_catjub."','".$ls_codclavia."',".
							              "'".$ls_codunirac."',".$li_pagtaqper.",".
										  "'0000',".
										  "'".($row["fecascper"]?$row["fecascper"]:'1900-01-01')."',".
										  "'".$row["descasicar"]."',".
										  "'".$row["coddep"]."',".
										  "'".($row["salnorper"]?$row["salnorper"]:0)."',".
										  "'".$row["estencper"]."',".
										  "'".$row["obsrecper"]."'".						
							")";
				
				
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hpersonalnomina ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function uf_insert_nomina
	
	
	

	function uf_insert_hconstante($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hconstante ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_hconstante WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hconstante ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		
		$ls_sql=" SELECT *
				   FROM sn_hconst
				 WHERE  cod_nomina ='".$as_codnom."' 
				    AND ano_en_curso ='".$as_anocur."' 
				    AND periodo = '".$as_codperi."'";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hconstante ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	

				/*
					cod_nomina
					ano_en_curso
					periodo
					cod_constante
					nombre
					unidad
					equivalencia
					fijo
					numerica
					tope
					valor
				*/
				
				
				$ls_codemp=$this->codemp; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_codcons=$this->io_validacion->uf_valida_texto($row["cod_constante"],0,10,"");
				$ls_nomcon=$this->io_validacion->uf_valida_texto($row["nombre"],0,30,"");
				$ls_unicon=$this->io_validacion->uf_valida_texto($row["unidad"],0,10,"");
				$li_equcon=$this->io_validacion->uf_valida_monto($row["equivalencia"],0);
				$li_topcon=$this->io_validacion->uf_valida_monto($row["tope"],0);
				$li_valcon=$this->io_validacion->uf_valida_monto($row["valor"],0);
				$li_reicon=$this->io_validacion->uf_valida_monto($row["reicon"],0);
				$ls_tipnumcon=$this->io_validacion->uf_valida_texto($row["numerica"],0,1,"0");
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;
				
				
				$ls_sql="INSERT INTO sno_hconstante(codemp, codnom, anocur, codperi, codcons, nomcon, unicon, equcon, 
                                                    topcon, valcon, reicon, tipnumcon, conespseg, esttopmod, conperenc) 
						VALUES ('".$ls_codemp."','".$ls_codnom."','".$ls_anocur."','".$ls_codperi."','".$ls_codcons."',".
								"'".$ls_nomcon."','".$ls_unicon."',".$li_equcon.",".$li_topcon.",".$li_valcon.",".$li_reicon.",'".$ls_tipnumcon."',".
								"'".$ls_conespseg."','".$row['esttopmod']."','".$row['conperenc']."')";				
				
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hconstante ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function 

	
	function uf_insert_hconstantepersonal($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hconstantepersonal ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_hconstantepersonal WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hconstantepersonal ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		
		$ls_sql=" SELECT *
				   FROM sno_hconstantepersonal
				 WHERE  codemp ='".$this->codemp."'
				    AND codnom ='".$as_codnom."' 
				    AND anocur ='".$as_anocur."' 
				    AND codperi = '".$as_codperi."'
					AND moncon<>0
					";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hconstantepersonal ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	

				
				$ls_codemp=$row["codemp"]; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_codper=$this->io_validacion->uf_valida_texto($row["codper"],0,10,"");
				$ls_codcons=$this->io_validacion->uf_valida_texto($row["codcons"],0,10,"");
				$li_moncon=$this->io_validacion->uf_valida_monto($row["moncon"],0);
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;
				
				
				$ls_sql="INSERT INTO sno_hconstantepersonal( codemp, codnom, anocur, codperi, codper, codcons, moncon, montopcon)".
							"     VALUES ('".$ls_codemp."','".$ls_codnom."','".$ls_anocur."','".$ls_codperi."','".
							                 $ls_codper."','".$ls_codcons."','".$li_moncon."','".$row["montopcon"]."')";	
				
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hconstantepersonal ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function 

	function uf_insert_hconcepto($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hconcepto ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		$ls_sql="DELETE FROM sno_hconcepto WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hconcepto ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		
		$ls_sql=" SELECT *
				   FROM sn_hconce
				 WHERE  cod_nomina ='".$as_codnom."' 
				    AND ano_en_curso ='".$as_anocur."' 
				    AND periodo = '".$as_codperi."'";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hconcepto ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	

				
				/*
					cod_nomina
					ano_en_curso
					periodo
					cod_concepto
					nombre
					titulo
					signo
					formula
					global
					a_maximo
					minimo
					maximo
					condicion
					spg_cuenta
					sc_cuenta
					arc
					patron_formula
					patron_spg_cuenta
					patron_sc_cuenta
					titulo_1
					titulo_2
					patron_minimo
					patron_maximo
					integral
					cfg_aport_destino
					cfg_aport_cod_pro
					cfg_aport_ced_bene
					fps_extra
					cod_prog
					estintspg
					islr
				*/
				
				$ls_codemp=$this->codemp; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_codconc=$this->io_validacion->uf_valida_texto($row["cod_concepto"],0,10,"");
				$ls_nomcon=$this->io_validacion->uf_valida_texto($row["nombre"],0,30,"");
				$ls_titcon=$this->io_validacion->uf_valida_texto($row["titulo"],0,254,"");
				$ls_sigcon=$this->io_validacion->uf_valida_texto($row["signo"],0,1,"");
				$ls_forcon=$this->io_validacion->uf_valida_texto($row["formula"],0,500,"");
				$li_glocon=$this->io_validacion->uf_valida_monto($row["global"],0);
				$li_acumaxcon=$this->io_validacion->uf_valida_monto($row["a_maximo"],0);
				$li_valmincon=$this->io_validacion->uf_valida_monto($row["minimo"],0);
				$li_valmaxcon=$this->io_validacion->uf_valida_monto($row["maximo"],0);
				$ls_concon=$this->io_validacion->uf_valida_texto($row["condicion"],0,500,"");
				$ls_cueprecon=$this->io_validacion->uf_valida_texto($row["spg_cuenta"],0,25,"");
				$ls_cueconcon=$this->io_validacion->uf_valida_texto($row["sc_cuenta"],0,25,"");
				$li_aplisrcon=$this->io_validacion->uf_valida_monto($row["islr"],0);
				$li_sueintcon=$this->io_validacion->uf_valida_monto($row["integral"],0);
				$li_sueintvaccon=$this->io_validacion->uf_valida_monto($row["sueintvaccon"],0);
				$li_conprenom=$this->io_validacion->uf_valida_monto($row["conprenom"],1);
				$ls_intprocon=$this->io_validacion->uf_valida_texto($row["intprocon"],0,1,"0");
				$ls_codpro=$this->io_validacion->uf_valida_texto($row["cod_prog"],0,33,"");
				$ls_forpatcon=$this->io_validacion->uf_valida_texto($row["forpatcon"],0,500,""); 
				$ls_cueprepatcon=$this->io_validacion->uf_valida_texto($row["patron_spg_cuenta"],0,25,"");
				$ls_cueconpatcon=$this->io_validacion->uf_valida_texto($row["patron_sc_cuenta"],0,25,"");
				$ls_titretempcon=$this->io_validacion->uf_valida_texto($row["titulo_1"],0,10,"");
				$ls_titretpatcon=$this->io_validacion->uf_valida_texto($row["titulo_2"],0,10,"");
				$li_valminpatcon=$this->io_validacion->uf_valida_monto($row["patron_minimo"],0);
				$li_valmaxpatcon=$this->io_validacion->uf_valida_monto($row["patron_maximo"],0);				
				$ls_codprov=$this->io_validacion->uf_valida_texto($row["cfg_aport_cod_pro"],0,10,"----------");
				$ls_codprov = $this->io_funciones->uf_cerosizquierda($ls_codprov,10);
				$ls_cedben=$this->io_validacion->uf_valida_texto($row["cfg_aport_ced_bene"],0,10,"----------");
				$li_aplarccon=$this->io_validacion->uf_valida_texto($row["arc"],0,1,"0");
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;
				$row['poringcon'] = $row['poringcon']?$row['poringcon']:0;
				$row['aplidiasadd'] = $row['aplidiasadd']?$row['aplidiasadd']:0;
				
				$ls_sql="INSERT INTO sno_hconcepto(codemp, codnom, anocur, codperi, codconc, nomcon, titcon, sigcon, 
												   forcon, glocon, acumaxcon, valmincon, valmaxcon, concon, cueprecon, 
												   cueconcon, aplisrcon, sueintcon, sueintvaccon, conprenom, intprocon, 
												   codpro, estcla, forpatcon, cueprepatcon, cueconpatcon, titretempcon, 
												   titretpatcon, valminpatcon, valmaxpatcon, codprov, cedben, aplarccon,												    
												   conprocon, intingcon, poringcon) 
							     VALUES ('".$ls_codemp."','".$ls_codnom."','".$ls_anocur."','".$ls_codperi."','".$ls_codconc."','".
								            $ls_nomcon."','".$ls_titcon."','".$ls_sigcon."',".
										 "'".$ls_forcon."',".$li_glocon.",".$li_acumaxcon.",".$li_valmincon.",".$li_valmaxcon.",'".$ls_concon."',".
										 "'".$ls_cueprecon."','".$ls_cueconcon."',".$li_aplisrcon.",".$li_sueintcon.",".$li_sueintvaccon.",".
										 "".$li_conprenom.",'".$ls_intprocon."','".$ls_codpro."','".$row['estcla']."','".$ls_forpatcon."','".$ls_cueprepatcon."',".
										 "'".$ls_cueconpatcon."','".$ls_titretempcon."','".$ls_titretpatcon."',".$li_valminpatcon.",".
										 "".$li_valmaxpatcon.",'".$ls_codprov."','".$ls_cedben."',".$li_aplarccon.",".										 
										 "'0', '0','0')";
				
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hconcepto ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function 

	
	
	function uf_insert_hconceptopersonal($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hconceptopersonal ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		
		$ls_sql="DELETE FROM sno_hconceptopersonal WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hconceptopersonal ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		
		$ls_sql=" SELECT cp.* 
		          FROM sno_hconceptopersonal cp 
				  INNER JOIN sno_hconcepto c ON c.codemp=cp.codemp 
										     AND c.codnom=cp.codnom 
							   				 AND c.anocur=cp.anocur 
							   				 AND c.codperi=cp.codperi 
                           					 AND c.codconc=cp.codconc
				   WHERE cp.codemp ='".$this->codemp."'
				     AND cp.codnom ='".$as_codnom."' 
				     AND cp.anocur ='".$as_anocur."' 
				     AND cp.codperi = '".$as_codperi."'
					 AND (cp.aplcon=1 OR c.glocon=1)
					";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hconceptopersonal ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){ return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	

				
				$ls_codemp=$row["codemp"]; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				$ls_codper=$this->io_validacion->uf_valida_texto($row["codper"],0,10,"");
				$ls_codconc=$this->io_validacion->uf_valida_texto($row["codconc"],0,10,"");
				$li_aplcon=$this->io_validacion->uf_valida_monto($row["aplcon"],0);
				$li_valcon=$this->io_validacion->uf_valida_monto($row["valcon"],0);
				$li_acuemp=$this->io_validacion->uf_valida_monto($row["acuemp"],0);
				$li_acuiniemp=$this->io_validacion->uf_valida_monto($row["acuiniemp"],0);
				$li_acupat=$this->io_validacion->uf_valida_monto($row["acupat"],0);
				$li_acuinipat=$this->io_validacion->uf_valida_monto($row["acuinipat"],0);
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;
				$li_valconaux=$this->io_validacion->uf_valida_monto($row["valcon"],0);
				$li_acuempaux=$this->io_validacion->uf_valida_monto($row["acuemp"],0);
				$li_acuiniempaux=$this->io_validacion->uf_valida_monto($row["acuiniemp"],0);
				$li_acupataux=$this->io_validacion->uf_valida_monto($row["acupat"],0);
				$li_acuinipataux=$this->io_validacion->uf_valida_monto($row["acuinipat"],0);
				
			
				$ls_sql="INSERT INTO sno_hconceptopersonal(codemp,codnom,codper,codconc,aplcon,valcon,acuemp,acuiniemp,".
							"acupat,acuinipat,anocur,codperi) VALUES ".
							"('".$ls_codemp."','".$ls_codnom."','".$ls_codper."','".$ls_codconc."',".$li_aplcon.",".$li_valcon.",".$li_acuemp.",".
							"".$li_acuiniemp.",".$li_acupat.",".$li_acuinipat.",'".$ls_anocur."','".$ls_codperi."')";
				
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hconceptopersonal ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function 

	
	function uf_insert_hsalida($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hsalida ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		$ls_sql="DELETE FROM sno_hsalida WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hsalida ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		
		
		
		$ls_sql=" SELECT *
				   FROM sn_hsalida
				 WHERE  cod_nomina ='".$as_codnom."' 
				    AND ano_en_curso ='".$as_anocur."' 
				    AND periodo = '".$as_codperi."'
					AND valor<>0
					";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hconcepto ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	
				
				/*
					cod_nomina
					ano_en_curso
					periodo
					cod_personal
					cod_concepto
					tipo
					valor
					acumulado
					saldo
				*/
				
				$ls_codemp=$this->codemp; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				//$ls_codperi=$this->io_validacion->uf_valida_texto($row["codperi"],0,3,"");
				$ls_codper=$this->io_validacion->uf_valida_texto($row["cod_personal"],0,10,"");
				$ls_codconc=$this->io_validacion->uf_valida_texto($row["cod_concepto"],0,10,"");
				$ls_tipsal=$this->io_validacion->uf_valida_monto($row["tipo"],0,2,"");
				$li_valsal=$this->io_validacion->uf_valida_monto($row["valor"],0);
				$li_monacusal=$this->io_validacion->uf_valida_monto($row["acumulado"],0);
				$li_salsal=$this->io_validacion->uf_valida_monto($row["saldo"],0);
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;				
				$row["priquisal"] = $row["priquisal"]?$row["priquisal"]:0;
				$row["segquisal"] = $row["segquisal"]?$row["segquisal"]:0;
								
				
				$ls_sql="INSERT INTO sno_hsalida(codemp, codnom, codper, anocur, codperi, codconc, tipsal, valsal, 
                                                monacusal, salsal, priquisal, segquisal)".
						"        VALUES ('".$ls_codemp."','".
							                $ls_codnom."','".
											$ls_codper."','".
											$ls_anocur."','".
											$ls_codperi."','".											
											$ls_codconc."','".
							                $ls_tipsal."','".
										    $li_valsal."','".
											$li_monacusal."','".
											$li_salsal."','".
											$row["priquisal"]."','".
											$row["segquisal"]."'".
											")";
							
											
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hsalida ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function 
	
	function uf_insert_hresumen($as_codnom,$as_anocur,$as_codperi){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sno_hresumen ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		$ls_sql="DELETE FROM sno_hresumen WHERE codemp='".$this->codemp."' AND codnom='".$as_codnom."' AND anocur='".$as_anocur."' AND codperi='".$as_codperi."'";
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
		if ($io_recordset===false){		
			$this->io_mensajes->message("CLASE->sigesp_copia_sss MÉTODO->uf_insert_hresumen ERROR->".$this->io_sql_destino->message);
			return false;			
		}
		
		
		$ls_sql=" SELECT *
				   FROM sn_hresumen
				 WHERE  cod_nomina ='".$as_codnom."' 
				    AND ano_en_curso ='".$as_anocur."' 
				    AND periodo = '".$as_codperi."'";
		
				
		$io_recordset=$this->io_sql_origen->select($ls_sql);
		if ($io_recordset===false){			   	
		   $this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hresumen ERROR-> ".$this->io_sql_origen->message);
		   return false;
	    }
		if(!$io_recordset->RecordCount()){return true;}
		
		 $li_total_select = $this->io_sql_origen->num_rows($io_recordset);
		 while($row=$this->io_sql_origen->fetch_row($io_recordset)){	

			    /*
					cod_nomina
					ano_en_curso
					periodo
					cod_personal
					asignacion
					deduccion
					Aportes_1
					Aportes_2
					quincena_1
					quincena_2
					Neto
					nota
				*/
				
				
				$ls_codemp=$this->codemp; 
				$ls_codnom=$as_codnom;//$this->io_validacion->uf_valida_texto($row["codnom"],0,4,"");
				//$ls_codperi=$this->io_validacion->uf_valida_texto($row["codperi"],0,3,"");
				$ls_codper=$this->io_validacion->uf_valida_texto($row["cod_personal"],0,10,"");
				$li_asires=$this->io_validacion->uf_valida_monto($row["asignacion"],0);
				$li_dedres=$this->io_validacion->uf_valida_monto($row["deduccion"],0);
				$li_apoempres=$this->io_validacion->uf_valida_monto($row["Aportes_1"],0);
				$li_apopatres=$this->io_validacion->uf_valida_monto($row["Aportes_2"],0);
				$li_priquires=$this->io_validacion->uf_valida_monto($row["quincena_1"],0);
				$li_segquires=$this->io_validacion->uf_valida_monto($row["quincena_2"],0);
				$li_monnetres=$this->io_validacion->uf_valida_monto($row["Neto"],0);
				$ls_notres=$this->io_validacion->uf_valida_texto($row["nota"],0,1000,"");
				$ls_anocur=$as_anocur;
				$ls_codperi=$as_codperi;
				
				$row["priquisal"] = $row["priquisal"]?$row["priquisal"]:0;
				$row["segquisal"] = $row["segquisal"]?$row["segquisal"]:0;
								
				
				$ls_sql="INSERT INTO sno_hresumen(codemp, codnom, codper, anocur, codperi, asires, dedres, apoempres, 
                                                 apopatres, priquires, segquires, monnetres, notres)".
						"        VALUES ('".$ls_codemp."','".
							                $ls_codnom."','".
											$ls_codper."','".
											$ls_anocur."','".
											$ls_codperi."','".											
											$li_asires."','".
							                $li_dedres."','".
										    $li_apoempres."','".
											$li_apopatres."','".
											$li_priquires."','".
											$li_segquires."','".
											$li_monnetres."','".
											$ls_notres."'".
											")";
							
											
				 $li_row = $this->io_sql_destino->execute($ls_sql);
				 if ($li_row===false){				  		
					$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_insert_hresumen ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
		
		 if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Registros Transferidos: '.$li_total_insert.' de '.$li_total_select." \r\n");}	  
				  
		 return true;
	}// end function 
	
	
	function borrar_tablash($datos=array()){
			
			
			$valido=$this->uf_limpiar_tabla_historica('sno_hresumen',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hsalida',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hconceptopersonal',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hconcepto',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hconstantepersonal',$datos);
			if($valido===false){return false;}			
			$valido=$this->uf_limpiar_tabla_historica('sno_hconstante',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hvacacpersonal',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hpersonalnomina',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hunidadadmin',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hasignacioncargo',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hprimagrado',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hgrado',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hcargo',$datos);
			if($valido===false){return false;}	
			$valido=$this->uf_limpiar_tabla_historica('sno_htabulador',$datos);
			if($valido===false){return false;}	
			$valido=$this->uf_limpiar_tabla_historica('sno_hperiodo',$datos);
			if($valido===false){return false;}
			$valido=$this->uf_limpiar_tabla_historica('sno_hsubnomina',$datos);
			if($valido===false){return false;}
						
			return true;	
	
	}

	
		
	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();
		
		if(!$as_condicion){
			$as_condicion = " WHERE nombrebd='".$this->nombrebd."' AND  tipobd='".$this->tipobd."' AND anobd='".$this->anobd."' "; 
		}
		
		$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 uf_limpiar_tabla_historica($as_tabla,$datos=array())
	{			
		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Eliminando datos de '.$as_tabla.' ... '." \r\n");}
		
		
		if(!$datos["codnom"] or !$datos["anocur"]  or !$datos["codperi"] ){
				
				$this->io_mensajes->message("MÉTODO->uf_limpiar_tabla_historica ERROR-> Faltan datos del periodo");
			    return false;
		
		}
		
		$li_total_select=0;
		$li_total_insert=0;
		$ls_sql="DELETE FROM ".$as_tabla." WHERE codemp='".$this->codemp."' 
		                                     AND codnom='".$datos["codnom"]."' 
											 AND anocur='".$datos["anocur"]."' 
											 AND codperi='".$datos["codperi"]."' ";
	
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
	
		if($io_recordset===false)
		{ 
					
			$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;			
		}
		//echo $ls_sql.'<br>';
					
		return true;
	}// end function uf_limpiar_tabla
}
?>
