<?php 
////////////////////////////////////////////////////////////////////////////////////////////////////////
//       Class : sigesp_copia_siv.php                                	                			  //    
// Description : Procesa la copia de datos del modulo de inventario									  //
////////////////////////////////////////////////////////////////////////////////////////////////////////
class sigesp_copia_siv {

	var $io_sql_origen;
	var $io_sql_destino;
	var $io_mensajes;
	var $io_funciones;
	var $io_validacion;
	var	$lo_archivo;
	var $ls_database_source;
	var $ls_dabatase_target;
		
	function sigesp_copia_siv()
	{
		require_once("../shared/class_folder/sigesp_include_covensol.php");
		require_once("../shared/class_folder/class_funciones.php");
		require_once("../shared/class_folder/class_mensajes.php");
		require_once("../shared/class_folder/class_datastore.php");
		require_once("../shared/class_folder/class_sql_covensol.php");
		
		require_once("class_folder/class_validacion.php");
		$this->ls_database_source = $_SESSION["ls_database"];
		$this->ls_database_target = $_SESSION["ls_data_des"];
		$this->io_mensajes        = new class_mensajes();		
		$this->io_funciones       = new class_funciones();
		$this->io_validacion      = new class_validacion();
		$io_conect	              = new sigesp_include_covensol();
		$io_conexion_origen       = $io_conect->uf_conectar();
		$io_conexion_destino  = $io_conect->uf_conectar_otra_bd ($_SESSION["ls_hostname"],$_SESSION["ls_login"],$_SESSION["ls_password"],$this->ls_database_target,$_SESSION["ls_gestor"]); 
		$this->io_sql_origen      = new class_sql_covensol($io_conexion_origen);
		$this->io_sql_destino 	  = new class_sql_covensol($io_conexion_destino);
		$ld_fecha=date("_d-m-Y");
		$ls_nombrearchivo="resultado/".$_SESSION["ls_data_des"]."_siv_result_".$ld_fecha.".txt";
		$this->lo_archivo=@fopen("$ls_nombrearchivo","a+");
		
		$this->li_candeccon= 4;
		$this->li_tipconmon= 1;
		$this->li_redconmon=1;
		
		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 = "";
		
	}


	function ue_copiar_siv_basico()
	{
		$lb_valido=true;
		if($this->lo_archivo){@fwrite($this->lo_archivo," \r\n".date('H:i:s').'.- Iniciando Apertura de Cuentas por Pagar ... '." \r\n"." \r\n");}
		$this->io_sql_destino->begin_transaction();		
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> uf_insert_configuracion()<br />'; $lb_valido=$this->uf_insert_configuracion();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> uf_insert_almacen()<br />'; $lb_valido=$this->uf_insert_almacen();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> uf_insert_tipoarticulo()<br />'; $lb_valido=$this->uf_insert_tipoarticulo();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> uf_insert_unidadmedida()<br />'; $lb_valido=$this->uf_insert_unidadmedida();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> uf_insert_articulo()<br />'; $lb_valido=$this->uf_insert_articulo();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> uf_insert_sigesp_cargos()<br />'; $lb_valido=$this->uf_insert_sigesp_cargos();} 
		if($lb_valido){$this->msjejec .= date('H:i:s').'.- <b>Ejecutando:</b> uf_insert_cargosxarticulos()<br />'; $lb_valido=$this->uf_insert_cargosxarticulos();} 
		
		if(!$lb_valido){$this->io_sql_destino->rollback(); $this->io_mensajes->message("Ocurrió un error al copiar la data de Inventario."); return false;}    
		$this->io_mensajes->message("La data de Inventario se copió correctamente."); 
		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- La data de Inventario se copió correctamente.'." \r\n"." \r\n");} 
		$this->io_sql_destino->commit();
		$this->io_validacion->uf_insert_sistema_apertura('SIV');	
		return true;
			
	}

	function uf_insert_configuracion(){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando siv_config ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		if($this->borrar_tabla){
			$valido=$this->uf_limpiar_tabla('siv_config');
			if($valido===false){return false;}
		}
		
		$ls_sql = " SELECT id, metodo, estcatsig, estnum, estcmp   
		            FROM siv_config ";
		$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_configuracion 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)){	
		 		
				$li_id= $this->io_validacion->uf_valida_monto($row["id"],0);
				$ls_metodo= $this->io_validacion->uf_valida_texto($row["metodo"],0,20,"");
				$li_estcatsig= $this->io_validacion->uf_valida_monto($row["estcatsig"],0);
				$li_estnum= $this->io_validacion->uf_valida_monto($row["estnum"],0);
				$li_estcmp= $this->io_validacion->uf_valida_monto($row["estcmp"],0);
					   
				$ls_sql=" INSERT INTO siv_config(id, metodo, estcatsig, estnum, estcmp) 
						  VALUES (".$li_id.",'".$ls_metodo."',".$li_estcatsig.",'".$li_estnum."','".$li_estcmp."')";
				 $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_configuracion ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
			  
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Origen:</b>  siv_config Registros ".$li_total_select."<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Destino:</b> siv_config Registros ".$li_total_insert."<br />";
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br /><br />";
				  
		 return true;
	}// end function uf_insert_configuracion	



	function uf_insert_almacen(){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando siv_almacen ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		if($this->borrar_tabla){
			$valido=$this->uf_limpiar_tabla('siv_almacen');
			if($valido===false){return false;}
		}
		
		$ls_sql=" SELECT codemp, codalm, nomfisalm, desalm, telalm, ubialm, nomresalm, telresalm 
				  FROM siv_almacen ";
		$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_almacen 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->io_validacion->uf_valida_texto($row["codemp"],0,4,"");
				$ls_codalm= $this->io_validacion->uf_valida_texto($row["codalm"],0,10,"");
				$ls_nomfisalm= $this->io_validacion->uf_valida_texto($row["nomfisalm"],0,254,"");
				$ls_desalm= $this->io_validacion->uf_valida_texto($row["desalm"],0,254,"");
				$ls_telalm= $this->io_validacion->uf_valida_texto($row["telalm"],0,20,"");
				$ls_ubialm= $this->io_validacion->uf_valida_texto($row["ubialm"],0,254,"");
				$ls_nomresalm= $this->io_validacion->uf_valida_texto($row["nomresalm"],0,60,"");
				$ls_telresalm= $this->io_validacion->uf_valida_texto($row["telresalm"],0,20,"");
					   
				$ls_sql=" INSERT INTO siv_almacen(codemp, codalm, nomfisalm, desalm, telalm, ubialm, nomresalm, telresalm) 
						  VALUES ('".$ls_codemp."','".$ls_codalm."','".$ls_nomfisalm."','".$ls_desalm."','".$ls_telalm."','".
						             $ls_ubialm."','".$ls_nomresalm."','".$ls_telresalm."')";
				 $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_almacen ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
			  
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Origen:</b>  siv_almacen Registros ".$li_total_select."<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Destino:</b> siv_almacen Registros ".$li_total_insert."<br />";
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br /><br />";
				  
		 return true;
	}// end function uf_insert_almacen

	
	function uf_insert_tipoarticulo(){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando siv_tipoarticulo ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		if($this->borrar_tabla){
			$valido=$this->uf_limpiar_tabla('siv_tipoarticulo');
			if($valido===false){return false;}
		}
		
		$ls_sql=" SELECT codtipart, dentipart, obstipart 
				  FROM siv_tipoarticulo ";
		$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_tipoarticulo 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_codtipart= $this->io_validacion->uf_valida_texto($row["codtipart"],0,10,"");
				$ls_dentipart= $this->io_validacion->uf_valida_texto($row["dentipart"],0,254,"");
				$ls_obstipart= $this->io_validacion->uf_valida_texto($row["obstipart"],0,1000,"");
					   
				$ls_sql=" INSERT INTO siv_tipoarticulo(codtipart, dentipart, obstipart) 
						  VALUES ('".$ls_codtipart."','".$ls_dentipart."','".$ls_obstipart."')";
				 $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_tipoarticulo ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
			  
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Origen:</b>  siv_tipoarticulo Registros ".$li_total_select."<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Destino:</b> siv_tipoarticulo Registros ".$li_total_insert."<br />";
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br /><br />";
				  
		 return true;
	}// end function uf_insert_tipoarticulo	
	
	function uf_insert_unidadmedida(){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando siv_unidadmedida ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		if($this->borrar_tabla){
			$valido=$this->uf_limpiar_tabla('siv_unidadmedida');
			if($valido===false){return false;}
		}
		
		$ls_sql=" SELECT codunimed, denunimed, unidad, obsunimed
				  FROM siv_unidadmedida ";
		$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_unidadmedida 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_codunimed= $this->io_validacion->uf_valida_texto($row["codunimed"],0,10,"");
				 $ls_denunimed= $this->io_validacion->uf_valida_texto($row["denunimed"],0,100,"");
				 $li_unidad= $this->io_validacion->uf_valida_monto($row["unidad"],0);
				 $ls_obsunimed= $this->io_validacion->uf_valida_texto($row["obsunimed"],0,4000,"");
					   
				 $ls_sql=" INSERT INTO siv_unidadmedida(codunimed, denunimed, unidad, obsunimed) 
						   VALUES ('".$ls_codunimed."','".$ls_denunimed."',".$li_unidad.",'".$ls_obsunimed."')";
				 $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_unidadmedida ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
			  
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Origen:</b>  siv_unidadmedida Registros ".$li_total_select."<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Destino:</b> siv_unidadmedida Registros ".$li_total_insert."<br />";
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br /><br />";
				  
		 return true;
	}// end function uf_insert_unidadmedida	

	function uf_insert_articulo(){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando siv_articulo ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		if($this->borrar_tabla){
			$valido=$this->uf_limpiar_tabla('siv_articulo');
			if($valido===false){return false;}
		}
		
		
		$ls_sql="SELECT codemp, codart, denart, codtipart, codunimed, feccreart, obsart, exiart, exiiniart, minart, maxart, 
				        reoart, prearta, preartb, preartc, preartd, fecvenart, codcatsig, spg_cuenta, sc_cuenta, pesart, 
				        altart, ancart, proart, ultcosart, cosproart, fotart, serart, ubiart, docart, fabart, codmil, 
						codact, estact, codseg, codfami, codclase, codprod  
				 FROM siv_articulo ";
		$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_articulo 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->io_validacion->uf_valida_texto($row["codemp"],0,4,"");
				$ls_codart=$this->io_validacion->uf_valida_texto($row["codart"],0,20,"");
				$ls_denart=$this->io_validacion->uf_valida_texto($row["denart"],0,254,"");
				$ls_codtipart=$this->io_validacion->uf_valida_texto($row["codtipart"],0,4,"");
				$ls_codunimed=$this->io_validacion->uf_valida_texto($row["codunimed"],0,4,"");
				$ld_feccreart=$this->io_validacion->uf_valida_fecha($row["feccreart"],"1900-01-01");
				$ls_obsart=$this->io_validacion->uf_valida_texto($row["obsart"],0,500,"");
				$li_exiart=$this->io_validacion->uf_valida_monto($row["exiart"],0);
				$li_exiiniart=$this->io_validacion->uf_valida_monto($row["exiiniart"],0);
				$li_minart=$this->io_validacion->uf_valida_monto($row["minart"],0);
				$li_maxart=$this->io_validacion->uf_valida_monto($row["maxart"],0);
				$li_reoart=$this->io_validacion->uf_valida_monto($row["reoart"],0);
				$li_prearta=$this->io_validacion->uf_valida_monto($row["prearta"],0);
				$li_preartb=$this->io_validacion->uf_valida_monto($row["preartb"],0);
				$li_preartc=$this->io_validacion->uf_valida_monto($row["preartc"],0);
				$li_preartd=$this->io_validacion->uf_valida_monto($row["preartd"],0);
				$ld_fecvenart=$this->io_validacion->uf_valida_fecha($row["fecvenart"],"1900-01-01");
				$ls_codcatsig=$this->io_validacion->uf_valida_texto($row["codcatsig"],0,15,"");
				$ls_spg_cuenta=$this->io_validacion->uf_valida_texto($row["spg_cuenta"],0,25,"");
				$ls_sc_cuenta=$this->io_validacion->uf_valida_texto($row["sc_cuenta"],0,25,"");
				$li_pesart=$this->io_validacion->uf_valida_monto($row["pesart"],0);
				$li_altart=$this->io_validacion->uf_valida_monto($row["altart"],0);
				$li_ancart=$this->io_validacion->uf_valida_monto($row["ancart"],0);
				$li_proart=$this->io_validacion->uf_valida_monto($row["proart"],0);
				$li_ultcosart=$this->io_validacion->uf_valida_monto($row["ultcosart"],0);
				$li_cosproart=$this->io_validacion->uf_valida_monto($row["cosproart"],0);				
				$ls_foto= $row["fotart"];
				$ls_serart=$this->io_validacion->uf_valida_texto($row["serart"],0,25,"");
				$ls_ubiart=$this->io_validacion->uf_valida_texto($row["ubiart"],0,10,"");
				$ls_docart=$this->io_validacion->uf_valida_texto($row["docart"],0,20,"");
				$ls_fabart=$this->io_validacion->uf_valida_texto($row["fabart"],0,100,"");
				$ls_codmil=$this->io_validacion->uf_valida_texto($row["codmil"],0,15,"");
					   
				 $ls_sql="INSERT INTO siv_articulo(codemp, codart, denart, codtipart, codunimed, feccreart, obsart, exiart, 
							                          exiiniart, minart, maxart, reoart, prearta, preartb, preartc, preartd, 
							                          fecvenart, codcatsig, spg_cuenta, sc_cuenta, pesart, altart, ancart, 
							                          proart, ultcosart, cosproart, fotart, serart, ubiart, docart, fabart, 
							                          codmil,codact, estact, codseg, codfami, codclase, codprod  ) 
							 	  VALUES ('".$ls_codemp."','".$ls_codart."','".$ls_denart."','".$ls_codtipart."','".
							 			     $ls_codunimed."','".$ld_feccreart."','".$ls_obsart."',".$li_exiart.",".
							 			     $li_exiiniart.",".$li_minart.",".$li_maxart.",".$li_reoart.",".$li_prearta.",".
							                 $li_preartb.",".$li_preartc.",".$li_preartd.",'".$ld_fecvenart."','".$ls_codcatsig."','".
							                 $ls_spg_cuenta."','".$ls_sc_cuenta."',".$li_pesart.",".$li_altart.",".
							                 $li_ancart.",".$li_proart.",".$li_ultcosart.",".$li_cosproart.",'".$ls_foto."','".
							                 $ls_serart."','".$ls_ubiart."','".
							                 $ls_docart."','".$ls_fabart."','".$ls_codmil."','".
											 $row["codact"]."','".$row["estact"]."','".$row["codseg"]."','".
											 $row["codfami"]."','".$row["codclase"]."','".$row["codprod"]."'".
											 ")";
							
				 $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_articulo ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
			  
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Origen:</b>  siv_articulo Registros ".$li_total_select."<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Destino:</b> siv_articulo Registros ".$li_total_insert."<br />";
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br /><br />";
				  
		 return true;
	}// end function uf_insert_articulo	
	
	
	function uf_insert_sigesp_cargos(){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando sigesp_cargos ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		if($this->borrar_tabla){
			$valido=$this->uf_limpiar_tabla('sigesp_cargos');
			if($valido===false){return false;}
		}
		
		$ls_sql=" SELECT codemp, codcar, dencar, codestpro, spg_cuenta, 
		                 porcar, estlibcom, formula, estcla
				   FROM sigesp_cargos ";
		$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_sigesp_cargos 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->io_validacion->uf_valida_texto($row["codemp"],0,4,"");
				$ls_codart= $this->io_validacion->uf_valida_texto($row["codart"],0,20,"");
				$ls_codcar= $this->io_validacion->uf_valida_texto($row["codcar"],0,5,"");
					   
				$ls_sql=" INSERT INTO sigesp_cargos(codemp, codcar, dencar, codestpro, spg_cuenta, 
		                                            porcar, estlibcom, formula, estcla) 
						  VALUES ('".$row["codemp"]."','".$row["codcar"]."','".$row["dencar"]."','".
						             $row["codestpro"]."','".$row["spg_cuenta"]."','".$row["porcar"]."',".
									 $row["estlibcom"].",'".$row["formula"]."','".$row["estcla"]."'".
								  ")";
				 $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_sigesp_cargos ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
			  
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Origen:</b>  sigesp_cargos Registros ".$li_total_select."<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Destino:</b> sigesp_cargos Registros ".$li_total_insert."<br />";
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br /><br />";
				  
		 return true;
	}// end function uf_insert_sigesp_cargos	
	
	function uf_insert_cargosxarticulos(){

		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Copiando siv_cargosarticulo ... '." \r\n");}
		$lb_valido=true;
		$li_total_select=0;
		$li_total_insert=0;
		
		if($this->borrar_tabla){
			$valido=$this->uf_limpiar_tabla('siv_cargosarticulo');
			if($valido===false){return false;}
		}
		
		$ls_sql=" SELECT codemp, codart, codcar  
				   FROM siv_cargosarticulo ";
		$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_cargosxarticulos 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->io_validacion->uf_valida_texto($row["codemp"],0,4,"");
				$ls_codart= $this->io_validacion->uf_valida_texto($row["codart"],0,20,"");
				$ls_codcar= $this->io_validacion->uf_valida_texto($row["codcar"],0,5,"");
					   
				$ls_sql=" INSERT INTO siv_cargosarticulo(codemp, codart, codcar) 
						  VALUES ('".$ls_codemp."','".$ls_codart."','".$ls_codcar."')";
				 $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_cargosxarticulos ERROR->".$this->io_sql_destino->message);
					return false;						
				 }					
				 $li_total_insert++;
				
		  }
			  
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Origen:</b>  siv_cargosarticulo Registros ".$li_total_select."<br />";
		 $this->msjresultado = $this->msjresultado."   <b>Tabla Destino:</b> siv_cargosarticulo Registros ".$li_total_insert."<br />";
		 $this->msjresultado = $this->msjresultado."*****************************************************************<br /><br />";
				  
		 return true;
	}// end function uf_insert_cargosxarticulos	
	
	function ue_limpiar_siv_basico()
	{
		$lb_valido=true;
		$this->io_sql_destino->begin_transaction();
			
		//$resp = $this->liberar_fk();
		if($resp===false){$this->io_sql_destino->rollback(); return false;}	
		if($lb_valido){$lb_valido=$this->uf_limpiar_tabla("siv_cargosarticulo","");}	
		if($lb_valido){$lb_valido=$this->uf_limpiar_tabla("siv_articulo","");}	
		if($lb_valido){$lb_valido=$this->uf_limpiar_tabla("siv_tipoarticulo","");}	
		if($lb_valido){$lb_valido=$this->uf_limpiar_tabla("siv_unidadmedida","");}	
		if($lb_valido){$lb_valido=$this->uf_limpiar_tabla("siv_config","");}	
		if($lb_valido){$lb_valido=$this->uf_limpiar_tabla("siv_almacen","");}	
		if(!$lb_valido){
		    $this->io_sql_destino->rollback();	
		 	$this->io_mensajes->message("Ocurrió un error al borrar la data de Inventario. "); 
			return false;
		}
		//$resp = $this->encadenar_fk();
		//if($resp===false){$this->io_sql_destino->rollback(); return false;}	
		$this->io_sql_destino->commit();
		$this->io_mensajes->message("La data de Inventario se borró correctamente.");
		return true;		
		
	}// end function ue_limpiar_scg_basico
	

	function uf_limpiar_tabla($as_tabla,$as_condicion="")
	{			
		if($this->lo_archivo){@fwrite($this->lo_archivo,date('H:i:s').'.- Eliminando datos de '.$as_tabla.' ... '." \r\n");}
		$this->io_sql_destino->begin_transaction();
		
		$li_total_select=0;
		$li_total_insert=0;
		$ls_sql="DELETE FROM ".$as_tabla." ".$as_condicion;
	
		$io_recordset=$this->io_sql_destino->execute($ls_sql);
	
		if($io_recordset===false)
		{ 
			$this->io_sql_destino->rollback();			
			$lb_valido=false;
			$this->msjresultado="Error al Borrar la tabla: ".$as_tabla.".\r\n".$this->io_sql_destino->message."\r\n";
			$error2="Error al Borrar la tabla: ".$as_tabla.".<br/>".$this->io_sql_destino->message."<br/>";			
			$this->io_mensajes->message("CLASE->".get_class($this)." MÉTODO->uf_limpiar_tabla ERROR->".$error2);
			return false;			
		}
		
		$this->io_sql_destino->commit();
		$this->msjresultado = $this->msjresultado."*****************************************************************<br />";
		$this->msjresultado=$this->msjresultado."   Tabla  ".$as_tabla."  Blanqueada <br />";
		$this->msjresultado=$this->msjresultado."*****************************************************************<br />";			
			
		return true;
	}// end function uf_limpiar_tabla
	
	function uf_crea_siv_comprobante()
	{	
			$lb_valido=true;
		// Prepara cabecera del comprobante
		$ls_comprobante = "0000000APERTURA";
		$ls_fecha		= "2007-01-01";
		$ls_usuario		= $_SESSION["la_logusr"];
		$ls_solicitante = "Apertura";
	
		$ls_sql_comprobante= " INSERT INTO ".$this->ls_dabatase_target.".siv_movimiento (nummov,fecmov,nomsol,codusu) ".
							 " VALUES ('".$ls_comprobante."','".$ls_fecha."','".$ls_usuario."','".$ls_solicitante."') ";
		$io_recordset=$this->io_sql->Execute($ls_sql_comprobante);
		if($io_recordset===false)
		{ 
			$lb_valido=false;
			$ls_cadena="Problema al crear Comprobante de Apertura.\r\n".$this->io_sql->message."\r\n";
			$ls_cadena=$ls_cadena.$ls_sql_comprobante."\r\n";
			if ($this->lo_archivo)			
			{
				@fwrite($this->lo_archivo,$ls_cadena);
			}
		}
		else
		{			
			$ls_cadena =			  "//*****************************************************************//\r\n";
			$ls_cadena = $ls_cadena."   Creada cabecera de comprobante de apertura de inventario  		\r\n";
			$ls_cadena = $ls_cadena."//*****************************************************************//\r\n";
			if ($this->lo_archivo)			
			{
				@fwrite($this->lo_archivo,$ls_cadena);
			}
		}	
		$ls_sql_comprobante="INSERT ".$this->ls_dabatase_target.".siv_dt_movimiento (codemp, nummov, fecmov, codart, codalm, opeinv, codprodoc, ".
							"                                          numdoc, canart, cosart, promov, numdocori, candesart, fecdesart)".
							"SELECT codemp,'0000000APERTURA' nunmov,'2007-01-01' fecmov,codart,codalm,'ENT' opeinv,'APR' codprodoc,".
							"       '0000000APERTURA' numdoc,existencia,(SELECT ultcosart".
							"                                              FROM ".$this->ls_database_source.".siv_articulo".
							"                                             WHERE siv_articuloalmacen.codemp=siv_articulo.codemp".
							"                                               AND siv_articuloalmacen.codart=siv_articulo.codart),".
							"       'APE'promov,'0000000APERTURA',existencia,'2007-01-01' fecdesart".
							"  FROM ".$this->ls_database_source.".siv_articuloalmacen".
							" GROUP BY codemp,codart,codalm";
	
	/*	$ls_sql_comprobante= 	"INSERT INTO ".$this->ls_dabatase_target.".siv_dt_movimiento (codemp,nummov,fecmov,codart,codalm,opeinv,codprodoc,numdoc,canart,cosart,promov,numdocori) ".
								" VALUES ( ".
								" SELECT	codemp,".$ls_comprobante.",".$ls_fecha.",codart,codalm,'ENT', 'ALM', ".$ls_comprobante.",canart,cosart,'RPC',".$ls_comprobante." ".
								"   FROM ( ".
								"SELECT curAlm.codemp,art.codart,art.exiart AS canart,art.ultcosart AS cosart,curAlm.codalm ".
								"FROM ".$this->ls_database_source.".siv_articulo art,(SELECT codemp,codart,codalm ".
								"  	FROM siv_dt_movimiento ".
								"  	GROUP BY codemp,codalm,codart ".
								"  	ORDER BY codemp,codalm,codart) AS curAlm ".
								"WHERE art.codart=curAlm.codart) AS curTodo )";
	*/
		$io_recordset=$this->io_sql->Execute($ls_sql_comprobante);
		if($io_recordset===false)
		{ 
			$lb_valido=false;
			$ls_cadena="Problema al crear Detalle del Comprobante de Apertura.\r\n".$this->io_sql->message."\r\n";
			$ls_cadena=$ls_cadena.$ls_sql_comprobante."\r\n";
			if ($this->lo_archivo)			
			{
				@fwrite($this->lo_archivo,$ls_cadena);
			}
		}
		else
		{			
			$ls_cadena =			"//*****************************************************************//\r\n";
			$ls_cadena = $ls_cadena."   Creado Detalle del Comprobante de apertura de inventario  		\r\n";
			$ls_cadena = $ls_cadena."//*****************************************************************//\r\n";
			if ($this->lo_archivo)			
			{
				@fwrite($this->lo_archivo,$ls_cadena);
			}
		}	
		return $lb_valido;
	}


}
?>