<?php
require_once("../shared/class_folder/class_sql.php");
require_once("../shared/class_folder/class_datastore.php");
require_once("../shared/class_folder/class_mensajes.php");
require_once("../shared/class_folder/sigesp_include.php");
require_once("../shared/class_folder/sigesp_c_seguridad.php");
require_once("../shared/class_folder/class_funciones.php");

class sigesp_saf_c_activo
{
	var $obj="";
	var $io_sql;
	var $siginc;
	var $con;

	function sigesp_saf_c_activo()
	{
		
		global $ruta;
		
		if($ruta==''){$ruta="../";}
		$this->ruta=$ruta;
		
		$this->io_msg=new class_mensajes();
		$this->dat_emp=$_SESSION["la_empresa"];
		$in=new sigesp_include();
		$this->con=$in->uf_conectar();
		$this->io_sql=new class_sql($this->con);
		$this->seguridad= new sigesp_c_seguridad();
		$this->io_funcion = new class_funciones();
		$this->codemp=$_SESSION["la_empresa"]['codemp'];
		
		require_once($ruta."shared/class_folder/sigesp_conexiones.php");
		$this->io_conexiones=new conexiones();
		
	}//fin de la function sigesp_saf_c_metodos()
	
	function formato_numerico_us($numero,$redondeo=2){
	
			$busca = array(".", ",");
			$sustituye   = array("", ".");
			number_format(str_replace($busca,$sustituye,$numero),$redondeo,'.','');
			return number_format(str_replace($busca,$sustituye,$numero),$redondeo,'.','');
	
	}
	
	function uf_saf_select_activo($as_codemp,$as_codact)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_select_activo
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact //codigo de activo
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que verifica si existe un determinado activo en la tabla saf_activo
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_sql = "SELECT * FROM saf_activo  ".
				  "WHERE codemp='".$as_codemp."' ".
				  "AND codact='".$as_codact."'" ;
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_select_activo ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		}
		else
		{
			if($row=$this->io_sql->fetch_row($rs_data))
			{$lb_valido=true;}
		}
		$this->io_sql->free_result($rs_data);
		return $lb_valido;
	}//fin de la function uf_saf_select_movimientos()
	
	function FormatDatosPresentActivos($datos=array()){
	
		$this->fecregistro = $this->fecregistro?$this->fecregistro:'1900/01/01';
		$this->fecnacsem = $this->fecnacsem?$this->fecnacsem:'1900/01/01';
		$this->DatosActivo['fecregistro']=$this->io_conexiones->formatea_fecha_normal($this->DatosActivo['fecregistro']);
		$this->DatosActivo['fecnacsem']=$this->io_conexiones->formatea_fecha_normal($this->DatosActivo['fecnacsem']);
		
		$this->DatosActivo['capacidad'] = number_format($this->DatosActivo['capacidad'],2,',','.');
		$this->DatosActivo['peso'] = number_format($this->DatosActivo['peso'],2,',','.');
		$this->DatosActivo['areaconst'] = number_format($this->DatosActivo['areaconst'],2,',','.');
		$this->DatosActivo['tiempogaran'] = number_format($this->DatosActivo['tiempogaran'],2,',','.');
		
		$this->DatosActivo['codori']=$this->DatosActivo['codori']=='------------'?"":$this->DatosActivo['codori'];
		$this->DatosActivo['codforadq']=$this->DatosActivo['codforadq']=='----'?"":$this->DatosActivo['codforadq'];
		
	}
	
	function FormatDatosBdActivos($datos=array()){
	
		$this->fecregistro = $this->fecregistro?$this->fecregistro:'01/01/1900';
		$this->fecregistro = $this->io_conexiones->formatea_fecha_bd($this->fecregistro);
		$this->fecnacsem = $this->fecnacsem?$this->fecnacsem:'01/01/1900';
		$this->fecnacsem = $this->io_conexiones->formatea_fecha_bd($this->fecnacsem);
		
		$this->capacidad = $this->capacidad?$this->formato_numerico_us($this->capacidad):'0.00';
		$this->peso = $this->peso?$this->formato_numerico_us($this->peso):'0.00';
		$this->areaconst = $this->areaconst?$this->formato_numerico_us($this->areaconst):'0.00';
		$this->tiempogaran = $this->tiempogaran?$this->formato_numerico_us($this->tiempogaran):'0.00';
		
		
		$this->codori = $this->codori?$this->codori:'------------';
		$this->codforadq = $this->codforadq?$this->codforadq:'----';
			
	}
	
	function  uf_saf_insert_activo($as_codemp,$ad_fecregact,$as_codact,$as_denact,$as_maract,$as_modact,$ad_feccmpact,$ai_cosact,
								   $as_codconbie,$as_codpai,$as_codest,$as_codmun,$as_radiotipo,$as_obsact,$as_catalogo,$as_numordcom,
								   $as_codpro,$as_denpro,$ai_monord,$as_foto,$as_spgcuenta,$as_codfuefin,$as_codsitcon,$as_codconcom,
								   $ad_fecordcom,$as_numsolpag,$ad_fecemisol,$ls_estdepact,$aa_seguridad,$as_codgru,
								   $as_codsubgru,$as_codsec,$as_codite, $as_clasif,$as_codsudeban)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_insert_activo
		//         Access: public (sigesp_siv_d_activo)
		//     Argumentos: $as_codemp    // codigo de empresa                 $as_codmun    // codigo de municipio
		//				   $as_codact    // codigo de activo          	      $as_radiotipo // tipo de bien
		//			       $as_denact    // denominacion del activo           $as_obsact    // observaciones
		//				   $ad_fecregact // fecha de registro del activo	  $as_catalogo  // codigo del catalogo SIGECOF
		//				   $as_maract    // marca del activo  				  $as_numordcom // numero de la orden de compra
		//				   $as_modact    // modelo del activo			      $as_codpro    // codigo de proveedor
		//				   $ad_feccmpact // fecha de compra del activo	      $as_denpro    // denominacion del proveedor
		//				   $ai_cosact    // costo del activo   				  $ai_monord    // monto de la orden de compra
		//				   $as_codconbie // codigo de condicion del bien      $as_foto      // foto del activo
		//				   $as_codpai    // codigo de pais				  	  $as_spgcuenta // codigo de cuenta presupuestaria
		//				   $as_codest    // codigo de estado			      $as_numsolpag // numero de la solicitud de pago
		//                 $ad_fecemisol // fecha de emision de la solicitud  $aa_seguridad // arreglo de registro de seguridad
		//                 $as_codgru    // codigo del grupo                  $as_codsubgru // codigo del subgrupo
		//                 $as_codsec    //  codsec							  $as_codite    // codigo del item
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que inserta los datos basicos de un activo en la tabla saf_activo
		//	   Creado Por: Ing. Luis Anibal Lang
		// Modificado Por: Ing. Yozelin Barragan
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 21/05/2007
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=true;		
		$this->io_sql->begin_transaction();
		$_SESSION['disable_trans']=1;	
		if($ad_fecemisol=="")
		{
			$ad_fecemisol="1900-01-01";
		}
		if($as_codgru=="")
		{
		   $as_codgru="---";
		}
		if($as_codsubgru=="")
		{
		   $as_codsubgru="---";
		}
		if($as_codsec=="")
		{
		   $as_codsec="---";
		}
		if($as_codite=="")
		{
		   $as_codite="---";
		}
		if (empty($as_codconbie) || strlen($as_codconbie)<>2)
		   {
		     $as_codconbie = '02';
		   }
		if($as_codsudeban=="")
		{
		   $as_codsudeban="-----";
		}
		$as_radiotipo = $as_radiotipo?$as_radiotipo:'0';
		
		$this->FormatDatosBdActivos();
		
		$ls_sql = "INSERT INTO saf_activo (codemp,codact,denact,maract,modact,fecregact,feccmpact,codconbie,spg_cuenta_act,esttipinm,". 
				  "                        catalogo,costo,estdepact,obsact,fotact,codpai,codest,codmun,cod_pro,nompro,numordcom,monordcom,codfuefin,".
				  "                        numsolpag,fecemisol,codsitcon,codconcom,codgru,codsubgru,codsec,codite, tipinm,codcat,
				  						   codforadq, esptec, otrasesp, codestuso, 
										   codcolor, codusoedi, codaseg, codtipcob, codtiplug, codcatuni, 
										   comp, tienecomp, esvehiculo, tiempogaran, codunimedgar, codtipveh, 
										   codmarca, codmodelo, serialcar, serialmot, sigplaca, nrotitprop, 
										   capacidad, codunimedcap, sisrastreo, espsisrast, anofabveh, codtipani, 
										   codprosem, codraza, codgenero, peso, codunimedpeso, nrohierro, 
										   fecnacsem, senas, urbaniza, calleave, casaedif, oficregistro, 
										   refregistro, tomo, folio, protocoloreg, nroregistro, fecregistro, 
										   propanterior, areaconst, codunimedarea, codori
				  
				  )". 
				  "VALUES( '".$as_codemp."','".$as_codact."','".$as_denact."','".$as_maract."','".$as_modact."','".$ad_fecregact."',".
				  "        '".$ad_feccmpact."','".$as_codconbie."','".$as_spgcuenta."','".$as_radiotipo."','".$as_catalogo."',".$ai_cosact.",".
				  "        '".$ls_estdepact."','".$as_obsact."','".$as_foto."','".$as_codpai."','".$as_codest."','".$as_codmun."','".$as_codpro."',".
				  "        '".$as_denpro."','".$as_numordcom."',".$ai_monord.",'".$as_codfuefin."','".$as_numsolpag."','".$ad_fecemisol."',".
				  "        '".$as_codsitcon."','".$as_codconcom."','".$as_codgru."','".$as_codsubgru."','".$as_codsec."','".$as_codite."','".$as_clasif."','".$as_codsudeban."',
				  		   '".$this->codforadq."','".$this->esptec."','".$this->otrasesp."','".$this->codestuso."',
						   '".$this->codcolor."','".$this->codusoedi."','".$this->codaseg."','".$this->codtipcob."','".$this->codtiplug."','".$this->codcatuni."',
						   '".$this->comp."','".$this->tienecomp."','".$this->esvehiculo."','".$this->tiempogaran."','".$this->codunimedgar."','".$this->codtipveh."',
						   '".$this->codmarca."','".$this->codmodelo."','".$this->serialcar."','".$this->serialmot."','".$this->sigplaca."','".$this->nrotitprop."',
						   '".$this->capacidad."','".$this->codunimedcap."','".$this->sisrastreo."','".$this->espsisrast."','".$this->anofabveh."','".$this->codtipani."',
						   '".$this->codprosem."','".$this->codraza."','".$this->codgenero."','".$this->peso."','".$this->codunimedpeso."','".$this->nrohierro."',
						   '".$this->fecnacsem."','".$this->senas."','".$this->urbaniza."','".$this->calleave."','".$this->casaedif."','".$this->oficregistro."',
						   '".$this->refregistro."','".$this->tomo."','".$this->folio."','".$this->protocoloreg."','".$this->nroregistro."','".$this->fecregistro."',
						   '".$this->propanterior."','".$this->areaconst."','".$this->codunimedarea."','".$this->codori."'						   
				  
				  )";
		$li_row=$this->io_sql->execute($ls_sql);
		if($li_row===false)
		{
			print ($this->io_sql->message);
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_insert_activo ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
			$lb_valido=false;
			$_SESSION['disable_trans']=0;
			$this->io_sql->rollback();
			return false;
		}
		
		
		/////////////////////////////////         SEGURIDAD               /////////////////////////////		
		$ls_evento="INSERT";
		$ls_descripcion ="Insertó el Activo ".$as_codact." de la Empresa ".$as_codemp;
		$ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
										$aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
										$aa_seguridad["ventanas"],$ls_descripcion);
		/////////////////////////////////         SEGURIDAD               /////////////////////////////		
		
		
										
		$resp = $this->uf_saf_insert_seriales($as_codemp,$as_codact,$as_codact,"00000000000000000000",$as_codact,
		                                       "","","","R",$_SESSION["la_logusr"],"",$aa_seguridad);
		$_SESSION['disable_trans']=0;
		if($resp===false){$this->io_sql->rollback(); return false;}
		
		if($this->ori_codori and $this->ori_codforadq){			
			$resp = $this->ProcOrigenAdq();		
			if($resp===false){$this->io_sql->rollback(); return false;}		
		}
			
		$this->io_sql->commit();
		
		return true;
	}//fin de la uf_saf_insert_activos

	function  uf_saf_update_activo($as_codemp,$ad_fecregact,$as_codact,$as_denact,$as_maract,$as_modact,$ad_feccmpact,$ai_cosact,
								   $as_codconbie,$as_codpai,$as_codest,$as_codmun,$as_radiotipo,$as_obsact,$as_catalogo,$as_numordcom,
								   $as_codpro,$as_denpro,$ai_monord,$as_foto,$as_spgcuenta,$as_codfuefin,$as_codsitcon,$as_codconcom,
								   $ad_fecordcom,$as_numsolpag,$ad_fecemisol,$ls_estdepact,$aa_seguridad,$as_codgru,
								   $as_codsubgru,$as_codsec,$as_codite,$as_clasif,$as_codsudeban)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_update_activo
		//         Access: public (sigesp_siv_d_activo)
		//     Argumentos: $as_codemp    // codigo de empresa                 $as_codmun    // codigo de municipio
		//				   $as_codact    // codigo de activo          	      $as_radiotipo // tipo de bien
		//			       $as_denact    // denominacion del activo           $as_obsact    // observaciones
		//				   $ad_fecregact // fecha de registro del activo	  $as_catalogo  // codigo del catalogo SIGECOF
		//				   $as_maract    // marca del activo  				  $as_numordcom // numero de la orden de compra
		//				   $as_modact    // modelo del activo			      $as_codpro    // codigo de proveedor
		//				   $ad_feccmpact // fecha de compra del activo	      $as_denpro    // denominacion del proveedor
		//				   $ai_cosact    // costo del activo   				  $ai_monord    // monto de la orden de compra
		//				   $as_codconbie // codigo de condicion del bien      $as_foto      // foto del activo
		//				   $as_codpai    // codigo de pais				  	  $as_spgcuenta // codigo de cuenta presupuestaria
		//				   $as_codest    // codigo de estado			      $as_numsolpag // numero de la solicitud de pago
		//                 $ad_fecemisol // fecha de emision de la solicitud  $aa_seguridad // arreglo de registro de seguridad
		//                 $as_codgru    // codigo del grupo                  $as_codsubgru // codigo del subgrupo
		//                 $as_codsec    //  codsec							  $as_codite    // codigo del item
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que actualiza los datos basicos de un activo en la tabla saf_activo
		//	   Creado Por: Ing. Luis Anibal Lang
		// Modificado Por: Ing. Yozelin Barragan
		// Fecha Creación: 01/01/2006 				Fecha Última Modificación : 05/06/2006 -- 21/05/2007
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		
		$this->io_sql->begin_transaction();
		
		if($ad_fecemisol=="")
		{
			$ad_fecemisol="1900-01-01";
		}
		
		if($as_codgru=="")
		{
		   $as_codgru="---";
		}
		if($as_codsubgru=="")
		{
		   $as_codsubgru="---";
		}
		if($as_codsec=="")
		{
		   $as_codsec="---";
		}
		if($as_codite=="")
		{
		   $as_codite="---";
		}
		$as_codsudeban = $as_codsudeban?$as_codsudeban:'-----';
	   
	    $this->FormatDatosBdActivos();
	   
		$ls_sql="UPDATE saf_activo".
				"   SET denact='".$as_denact."',maract='".$as_maract."',modact='".$as_modact."',fecregact='".$ad_fecregact."',".
				" 		esttipinm='".$as_radiotipo."',feccmpact='".$ad_feccmpact."',codconbie='".$as_codconbie."',". 
   				" 		spg_cuenta_act='".$as_spgcuenta."',catalogo='".$as_catalogo."',costo='".$ai_cosact ."',".
				" 		estdepact='".$ls_estdepact."',obsact='".$as_obsact."',fotact='".$as_foto."',codpai='".$as_codpai."',".
				" 		codest='".$as_codest."',codmun='".$as_codmun ."',cod_pro='".$as_codpro."',nompro='".$as_denpro."',".
				" 		numordcom='".$as_numordcom."',monordcom='". $ai_monord."',codfuefin='".$as_codfuefin."',".
				"       numsolpag='".$as_numsolpag."',fecemisol='".$ad_fecemisol."',codsitcon='".$as_codsitcon."',codconcom='".$as_codconcom."',". 
				" 		codgru='".$as_codgru."',codsubgru='".$as_codsubgru."',codsec='".$as_codsec."',codite='".$as_codite."', ".
				"       tipinm='".$as_clasif."',codcat='".$as_codsudeban."',
				        codforadq='".$this->codforadq."', esptec='".$this->esptec."', otrasesp='".$this->otrasesp."', codestuso='".$this->codestuso."', 
						codcolor='".$this->codcolor."', codusoedi='".$this->codusoedi."', codaseg='".$this->codaseg."', codtipcob='".$this->codtipcob."', codtiplug='".$this->codtiplug."', 
						codcatuni='".$this->codcatuni."', comp='".$this->comp."', tienecomp='".$this->tienecomp."', esvehiculo='".$this->esvehiculo."', tiempogaran='".$this->tiempogaran."', 
						codunimedgar='".$this->codunimedgar."', codtipveh='".$this->codtipveh."', codmarca='".$this->codmarca."', codmodelo='".$this->codmodelo."', serialcar='".$this->serialcar."', 
						serialmot='".$this->serialmot."', sigplaca='".$this->sigplaca."', nrotitprop='".$this->nrotitprop."', capacidad='".$this->capacidad."', codunimedcap='".$this->codunimedcap."', 
						sisrastreo='".$this->sisrastreo."', espsisrast='".$this->espsisrast."', anofabveh='".$this->anofabveh."', codtipani='".$this->codtipani."', codprosem='".$this->codprosem."', 
						codraza='".$this->codraza."', codgenero='".$this->codgenero."', peso='".$this->peso."', codunimedpeso='".$this->codunimedpeso."', nrohierro='".$this->nrohierro."', 
						fecnacsem='".$this->fecnacsem."', senas='".$this->senas."', urbaniza='".$this->urbaniza."', calleave='".$this->calleave."', casaedif='".$this->casaedif."', oficregistro='".$this->oficregistro."', 
						refregistro='".$this->refregistro."', tomo='".$this->tomo."', folio='".$this->folio."', protocoloreg='".$this->protocoloreg."', nroregistro='".$this->nroregistro."', 
						fecregistro='".$this->fecregistro."', propanterior='".$this->propanterior."', areaconst='".$this->areaconst."', 
						codunimedarea='".$this->codunimedarea."', codori='".$this->codori."'
				
				 ".
				" WHERE codemp =  '".$as_codemp ."'". 
				"   AND codact =  '".$as_codact ."'"; 
				
				
		$li_row = $this->io_sql->execute($ls_sql);
		//echo $ls_sql.'<br>';
		if($li_row===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_update_activo ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));		
			$this->io_sql->rollback();
			return false;
		}
		
		$lb_valido=true;
		/////////////////////////////////         SEGURIDAD               /////////////////////////////		
		$ls_evento="UPDATE";
		$ls_descripcion ="Actualizó el Activo ".$as_codact." de la Empresa ".$as_codemp;
		$ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
										$aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
										$aa_seguridad["ventanas"],$ls_descripcion);
		/////////////////////////////////         SEGURIDAD               /////////////////////////////		
						
		if($this->ori_codori and $this->ori_codforadq){			
			$resp = $this->ProcOrigenAdq();		
			if($resp===false){$this->io_sql->rollback(); return false;}		
		}
		
		$this->io_sql->commit();
	    return true;
		
	}// fin de la function uf_sss_update_movimientos

	function uf_saf_delete_activo($as_codemp,$as_codact,$aa_seguridad)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_delete_activo
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact //codigo de activo
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que elimina un determinado activo en la tabla saf_activo
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$this->io_sql->begin_transaction();	
		$lb_encontrado=$this->uf_saf_select_dta($as_codemp,$as_codact);
		if ($lb_encontrado)
		   {
			 $this->io_msg->message("El Activo tiene seriales asociados");
		   }
		else
		   {
			 $lb_tiene = $this->uf_saf_select_dtedificios($as_codemp,$as_codact);
			 if ($lb_tiene)
			    {
				  $this->io_msg->message("El Activo tiene Edificios asociados !!!");
				}
			 else
			    {
				  $lb_encontrado=$this->uf_saf_select_movimiento($as_codemp,$as_codact);
				  if ($lb_encontrado)
				     {
					   $this->io_msg->message("El Activo tiene movimientos asociados");
				     }
			 	  else
				     {
					   $ls_sql = "DELETE FROM saf_activo WHERE codemp= '".$as_codemp. "' AND codact = '".$as_codact."'";
					   $li_exec=$this->io_sql->execute($ls_sql);
					   if ($li_exec===false)
						  {
						    $this->io_msg->message("CLASE->activo MÉTODO->uf_saf_delete_activo ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
							$this->io_sql->rollback();
						  }
					   else
						  {
						    $lb_valido=true;
							/////////////////////////////////         SEGURIDAD               /////////////////////////////
							$ls_evento="DELETE";
							$ls_descripcion ="Eliminó el Activo ".$as_codact." de la Empresa ".$as_codemp;
							$ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
															$aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
															$aa_seguridad["ventanas"],$ls_descripcion);
							/////////////////////////////////         SEGURIDAD               /////////////////////////////			
							$this->io_sql->commit();
						  }
				     }
				}
		   }
		return $lb_valido;
	} //fin de uf_saf_delete_movimientos

	function uf_saf_select_dta($as_codemp,$as_codact)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_select_dta
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact //codigo de activo
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que verifica si un activo tiene seriales asociados
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_sql = "SELECT codemp FROM saf_dta  ".
				  "WHERE codemp='".$as_codemp."' ".
				  "AND codact='".$as_codact."'" ;
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_select_dta ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		}
		else
		{
			if($row=$this->io_sql->fetch_row($rs_data))
			{$lb_valido=true;}
		}
		$this->io_sql->free_result($rs_data);
		return $lb_valido;
	}//fin de la function uf_saf_select_dta

	function uf_saf_select_dtedificios($as_codemp,$as_codact)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_select_dtedificios
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact //codigo de activo
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que verifica si un activo tiene seriales asociados
		//	   Creado Por: Ing. Néstor Falcón.
		// Fecha Creación: 06/01/2009 								Fecha Última Modificación : 06/01/2009
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_sql  = "SELECT codemp FROM saf_edificios WHERE codemp='".$as_codemp."' AND codact='".$as_codact."'";
		$rs_data = $this->io_sql->select($ls_sql);
		if ($rs_data===false)
		   {
		     $this->io_msg->message("CLASE->activo MÉTODO->uf_saf_select_dtedificios;ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		     echo $this->io_sql->message;
		   }
		else
		   {
		     if ($row=$this->io_sql->fetch_row($rs_data))
			    {
				  $lb_valido = true;
				}
		   }
		$this->io_sql->free_result($rs_data);
		return $lb_valido;
	}//fin de la function uf_saf_select_dtedificios.

	function uf_saf_select_movimiento($as_codemp,$as_codact)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_select_movimiento
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact //codigo de activo
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que verifica si un activo tiene seriales asociados
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_sql = "SELECT * FROM saf_dt_movimiento  ".
				  "WHERE codemp='".$as_codemp."' ".
				  "AND codact='".$as_codact."'" ;
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_select_movimiento ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		}
		else
		{
			if($row=$this->io_sql->fetch_row($rs_data))
			{$lb_valido=true;}
		}
		$this->io_sql->free_result($rs_data);
		return $lb_valido;
	}//fin de la function uf_saf_select_movimiento

	function  uf_saf_update_depreciacion($as_codemp,$as_codact,$as_metodo,$ai_vidautil,$as_valres,$as_ctadep,$as_ctacon,
										 $as_codestpro1,$as_codestpro2,$as_codestpro3,$as_codestpro4,$as_codestpro5,$as_estcla,$aa_seguridad)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_update_depreciacion
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp    //codigo de empresa 
		//				   $as_codact    //codigo de activo
		//				   $as_metodo    // codigo del metodo de depreciacion
		//				   $ai_vidautil  // vida util del activo
		//				   $as_valres    // valor de rescate del activo
		//				   $as_ctadep    // codigo cuenta de la depreciacion
		//				   $as_ctacon    // codigo cuenta asociada al activo
		//				   $as_codestpro1 // codigo de estructura programatica nivel 1
		//				   $as_codestpro2 // codigo de estructura programatica nivel 2
		//				   $as_codestpro3 // codigo de estructura programatica nivel 3
		//				   $as_codestpro4 // codigo de estructura programatica nivel 4
		//				   $as_codestpro5 // codigo de estructura programatica nivel 5
		//				   $aa_seguridad // arreglo de registro de seguridad
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que actualiza los datos de la depreciacion de un activo en la tabla saf_activo
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		 $lb_valido=true;
		 $as_codestpro1=str_pad($as_codestpro1,25,"0",0);
		 $as_codestpro2=str_pad($as_codestpro2,25,"0",0);
		 $as_codestpro3=str_pad($as_codestpro3,25,"0",0);
		 $as_codestpro4=str_pad($as_codestpro4,25,"0",0);
		 $as_codestpro5=str_pad($as_codestpro5,25,"0",0);
		 $this->uf_load_config("SAF","DEPRECIACION","AFECTACION_DEPRECIACION",$ls_tipafedep);//Tipo de Afectacion de la Depreciación.
		 if ($ls_tipafedep=='C')
		    {
			  $as_estcla = '-';
			  $as_codestpro1 = $as_codestpro2 = $as_codestpro3 = $as_codestpro4 = $as_codestpro5 = str_pad('',25,'-',0);
			}
		 $ls_sql =  "UPDATE saf_activo
		 			    SET codmetdep = '".$as_metodo ."', 
					        vidautil = '".$ai_vidautil ."', 
							cossal   = '".$as_valres ."',
							spg_cuenta_dep = '".$as_ctadep ."', 
							sc_cuenta = '".$as_ctacon."', 
							codestpro1 = '".$as_codestpro1 ."',
					        codestpro2 = '".$as_codestpro2 ."', 
					        codestpro3 = '".$as_codestpro3 ."',
							codestpro4 = '".$as_codestpro4 ."',
					        codestpro5 = '".$as_codestpro5 ."',
					        estcla = '".$as_estcla."'
					  WHERE codemp =  '".$as_codemp."' 
					    AND codact =  '".$as_codact."'";
		$this->io_sql->begin_transaction();
		$li_row = $this->io_sql->execute($ls_sql);
		if($li_row===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_update_depreciacion ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
			$lb_valido=false;
			$this->io_sql->rollback();
		}
		else
		{
			$lb_valido=true;
			/////////////////////////////////         SEGURIDAD               /////////////////////////////		
			$ls_evento="UPDATE";
			$ls_descripcion ="Actualizó la depreciación del Activo ".$as_codact." de la Empresa ".$as_codemp;
			$ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
											$aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
											$aa_seguridad["ventanas"],$ls_descripcion);
			/////////////////////////////////         SEGURIDAD               /////////////////////////////		
			
			if($lb_valido)
			{
				$this->io_sql->commit();
			}
			else
			{
				$this->io_sql->rollback();
			}
		}
	  	return $lb_valido;
	}// fin de la function uf_saf_update_depreciacion

	function uf_saf_load_seriales($as_codemp,$as_codact,&$ao_object,&$ai_totrows)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_load_seriales
		//         Access: public  
		//      Argumento: $as_codemp  //codigo de empresa 
		//				   $as_codact  //codigo de activo
		//				   $ao_object  // arreglo de objetos de la grid
		//				   $ai_totrows // total de filas
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que carga los seriales asociados a un activo
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 07/06/2006 								Fecha Última Modificación : 07/06/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_gestor = $_SESSION["ls_gestor"];
		$ls_sql_int = "";
		if (strtoupper($ls_gestor) == "MYSQLT")
		{
		 $ls_sql_int = " CONCAT(c.nomper,' ',c.apeper) as nomres_per, CONCAT(d.nombene,' ',d.apebene) as nomres_ben, 
                         CONCAT(e.nomper,' ',e.apeper) as nomrespri_per, CONCAT(f.nombene,' ',f.apebene) as nomrespri_ben";
		}
		else
		{
		 $ls_sql_int = " c.nomper||' '||c.apeper as nomres_per, d.nombene||' '||d.apebene as nomres_ben, 
                         e.nomper||' '||e.apeper as nomrespri_per, f.nombene||' '||f.apebene as nomrespri_ben ";
		}
		
		$ls_sql = "SELECT a.*, b.desorg as denuniadm, ".$ls_sql_int." ".
		          "   FROM saf_dta a ".
                  " LEFT JOIN srh_organigrama b ON b.codorg = a.coduniadm ".
                  " LEFT JOIN sno_personal c on c.codper = a.codres ".
                  " LEFT JOIN rpc_beneficiario d on d.ced_bene = a.codres  ".
                  " LEFT JOIN sno_personal e on e.codper = a.codrespri ".
                  " LEFT JOIN rpc_beneficiario f on f.ced_bene = a.codrespri".
				  " WHERE a.codemp='".$as_codemp."'". 
				  " AND a.codact='".$as_codact."'";	 
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_load_seriales ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		}
		else
		{
			while($row=$this->io_sql->fetch_row($rs_data))
			{
				$ls_nomresuso = "";
				$ls_nomrespri = "";
				$ls_codact=$row["codact"]; 
				$ls_seract=$row["seract"];
				$ls_chaact=$row["idchapa"];
				$ls_unidad=$row["coduniadm"];
				$ls_denunidad=$row["denuniadm"];
				$ls_nomrespri_per=$row["nomrespri_per"];
				$ls_nomrespri_ben=$row["nomrespri_ben"];
				$ls_nomresuso_per=$row["nomres_per"];
				$ls_nomresuso_ben=$row["nomres_ben"];
				$ls_responsable=$row["codrespri"];
				$ls_responsableuso=$row["codres"];
				$ls_observacion=$row["obsideact"];
				$ls_idactivo=$row["ideact"];
				
				if ($ls_nomrespri_per == "" && $ls_nomrespri_ben == "" )
				{
				 $ls_nomrespri = "POR DEFINIR";
				}
				elseif($ls_nomrespri_per != "") 
				{
				 $ls_nomrespri = $ls_nomrespri_per;
				}
				else
				{
				 $ls_nomrespri = $ls_nomrespri_ben;
				}
				
				if ($ls_nomresuso_per == "" && $ls_nomresuso_ben == "" )
				{
				 $ls_nomresuso = "POR DEFINIR";
				}
				elseif($ls_nomresuso_per != "")
				{
				 $ls_nomresuso = $ls_nomresuso_per;
				}
				else
				{
				 $ls_nomresuso = $ls_nomresuso_ben;
				} 
	
				$ao_object[$ai_totrows][1]="<input name=txtcodactd".$ai_totrows." type=text id=txtcodactd".$ai_totrows." class=sin-borde size=18 maxlength=15 value='".$ls_codact."' onKeyUp='javascript: ue_validarnumero(this);'>";
				$ao_object[$ai_totrows][2]="<input name=txtseractd".$ai_totrows." type=text id=txtseractd".$ai_totrows." class=sin-borde size=22 maxlength=20 value='".$ls_seract."' onKeyPress='return keyrestrictgrid(event)' onBlur='ue_rellenarcampo(this,15)'>";
				$ao_object[$ai_totrows][3]="<input name=txtchaactd".$ai_totrows." type=text id=txtchaactd".$ai_totrows." class=sin-borde size=18 maxlength=15 value='".$ls_chaact."' onKeyUp='javascript: ue_validarnumero(this);' onBlur='ue_rellenarcampo(this,15)'>";
				$ao_object[$ai_totrows][4]="<input name=txtdenunidadd".$ai_totrows." type=text id=txtdenunidadd".$ai_totrows." class=sin-borde size=50 maxlength=50 value='".$ls_denunidad."' onKeyUp='javascript: ue_validarcomillas(this);' readonly>".
				                           "<input name=txtunidadd".$ai_totrows." type=hidden id=txtunidadd".$ai_totrows." class=sin-borde size=18 maxlength=100 value='".$ls_unidad."' onKeyUp='javascript: ue_validarnumero(this);' onBlur='ue_rellenarcampo(this,10)'>";
				$ao_object[$ai_totrows][5]="<input name=txtnomrespri".$ai_totrows." type=text id=txtnomrespri".$ai_totrows." class=sin-borde size=50 maxlength=50 value='".$ls_nomrespri."' onKeyUp='javascript: ue_validarcomillas(this);'  readonly>".
				                           "<input name=txtresponsabled".$ai_totrows." type=hidden id=txtresponsabled".$ai_totrows." class=sin-borde size=12 maxlength=10 value='".$ls_responsable."' onKeyUp='javascript: ue_validarnumero(this);' onBlur='ue_rellenarcampo(this,10)'>";
				$ao_object[$ai_totrows][6]="<input name=txtnomres".$ai_totrows." type=text id=txtnomres".$ai_totrows." class=sin-borde size=50 maxlength=50 value='".$ls_nomresuso."' onKeyUp='javascript: ue_validarcomillas(this);'  readonly>".
				                           "<input name=txtcodres".$ai_totrows." type=hidden id=txtcodres".$ai_totrows." class=sin-borde size=12 maxlength=10 value='".$ls_responsableuso."' readonly>";			  	   
				$ao_object[$ai_totrows][7]="<input name=txtobserd".$ai_totrows." type=text id=txtobserd".$ai_totrows." class=sin-borde size=18 maxlength=100 value='".$ls_observacion."' onKeyUp='javascript: ue_validarcomillas(this);' >";
				$ao_object[$ai_totrows][8]="<input name=txtidactivod".$ai_totrows." type=text id=txtidactivod".$ai_totrows." class=sin-borde size=18 maxlength=15 value='".$ls_idactivo."' onKeyUp='javascript: ue_validarnumero(this);' readonly>";			
				$ao_object[$ai_totrows][9]="<a href=javascript:uf_agregarpartes(".$ai_totrows.");><img src=../shared/imagebank/tools/nuevo.gif alt='Agregar partes' width=15 height=15 border=0></a>";			
				$ao_object[$ai_totrows][10]="<a href=javascript:uf_delete_dt(".$ai_totrows.");><img src=../shared/imagebank/tools15/eliminar.gif alt=Aceptar width=15 height=15 border=0></a>";			
	
				$ai_totrows=$ai_totrows + 1;			
			}
		}
		$this->io_sql->free_result($rs_data);
		return $lb_valido;
	}// fin uf_saf_load_seriales
	function uf_saf_select_seriales($as_codemp,$as_codact,$as_idact)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_select_seriales
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact //codigo de activo
		//				   $as_idact    // id de activo
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que verifica la existencia de un activo en la tabla saf_dta
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_sql = "SELECT * FROM saf_dta  ".
				  "WHERE codemp='".$as_codemp."'". 
				  " AND codact='".$as_codact."'".
				  " AND ideact='".$as_idact."'" ;
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_select_seriales ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		}
		else
		{
			if($row=$this->io_sql->fetch_row($rs_data))
			{$lb_valido=true;}
		}
		$this->io_sql->free_result($rs_data);
		return $lb_valido;
	}//fin de la function uf_saf_select_seriales

	function uf_saf_select_unidad($as_codemp,$as_coduniadm)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_select_unidad
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_coduniadm // codigo de unidad administrativa
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que verifica la existencia de una unidad administrativa en la tabla spg_unidadadministrativa
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_sql="SELECT coduniadm".
				"  FROM saf_unidadadministrativa".
				" WHERE codemp='".$as_codemp."'". 
				"   AND coduniadm='".$as_coduniadm."'" ;
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_select_unidad ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		}
		else
		{
			if($row=$this->io_sql->fetch_row($rs_data))
			{$lb_valido=true;}
		}
		$this->io_sql->free_result($rs_data);
		return $lb_valido;
	}//fin de la function uf_saf_select_unidad()

	function uf_saf_select_responsable($as_codemp,$as_codres)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_select_responsable
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codres // codigo de personal (responsable)
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que verifica la existencia de un personal en la tabla sno_personal
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_sql = "SELECT * FROM sno_personal  ".
				  " WHERE codemp='".$as_codemp."'". 
				  " AND codper='".$as_codres."'" ;
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_select_responsable ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		}
		else
		{
			if($row=$this->io_sql->fetch_row($rs_data))
			{$lb_valido=true;}
		}
		$this->io_sql->free_result($rs_data);
		return $lb_valido;
	}//fin de la function uf_saf_select_responsable

	function  uf_saf_insert_seriales($as_codemp,$as_codact,$as_idact,$as_seract,$as_idchapa,$as_coduniadm,$as_codrespri,$as_obsideact,
									$as_estact,$as_logusr,$as_codres,$aa_seguridad)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_insert_seriales
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp    //codigo de empresa 
		//				   $as_codact    // codigo de activo
		//				   $as_idact     // id de activo
		//				   $as_idchapa   // numero de chapa en el activo
		//				   $as_coduniadm // codigo de unidad adminisrativa
		//				   $as_codrespri // codigo de personal (responsable primario)
		//				   $as_obsideact // observaciones en el registro de seriales
		//				   $as_estact    // estado de activo
		//				   $as_logusr    // usuario que esta registrando el serial
		//				   $as_codres    // codigo de personal (responsable por uso)
		//				   $aa_seguridad // arreglo de registro de seguridad
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que inserta los seriales y otros datos importantes de los activos relacionados a un activo en particular
		//					en la tabla saf_dta
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 12/06/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$ls_sql = "INSERT INTO saf_dta (codemp,codact,ideact,seract,idchapa,coduniadm,codrespri,obsideact,estact,".
			          "                     codusureg,codres)".
					  " VALUES( '".$as_codemp."','".$as_codact."','".$as_idact."','".$as_seract."','".$as_idchapa."',".
					  "         '".$as_coduniadm."','".$as_codrespri."','".$as_obsideact."','".$as_estact."','".$as_logusr."',".
					  "         '".$as_codres."') ";
		$this->io_sql->begin_transaction();
		$li_row=$this->io_sql->execute($ls_sql);	
	    if($li_row===false)
	    {
		 $this->io_msg->message("CLASE->activo MÉTODO->uf_saf_insert_seriales ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		 $lb_valido=false;
		 $this->io_sql->rollback();
		}
		else
		{
		 $lb_valido=true;
		 /////////////////////////////////         SEGURIDAD               /////////////////////////////		
		 $ls_evento="INSERT";
		 $ls_descripcion ="Insertó Serial".$as_seract."con Id".$as_idact." asociado al Activo ".$as_codact." de la Empresa ".$as_codemp;
		 $ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
										 $aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
										 $aa_seguridad["ventanas"],$ls_descripcion);
		 /////////////////////////////////         SEGURIDAD               /////////////////////////////		
		 $this->io_sql->commit();
	   }
		return $lb_valido;
	}//fin de la uf_saf_insert_seriales

	function  uf_saf_update_seriales($as_codemp,$as_codact,$as_idact,$as_seract,$as_idchapa,$as_coduniadm,$as_codrespri,$as_obsideact,
									$as_estact,$as_codres,$aa_seguridad)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_update_seriales
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp    //codigo de empresa 
		//				   $as_codact    // codigo de activo
		//				   $as_idact     // id de activo
		//				   $as_idchapa   // numero de chapa en el activo
		//				   $as_coduniadm // codigo de unidad adminisrativa
		//				   $as_codrespri // codigo de personal (responsable primario)
		//				   $as_obsideact // observaciones en el registro de seriales
		//				   $as_estact    // estado de activo
		//				   $as_codres    // codigo de personal (responsable por uso)
		//				   $aa_seguridad // arreglo de registro de seguridad
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que actualiza los seriales y otros datos importantes de los activos relacionados a un activo en 
		//				   particular en la tabla saf_dta
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
			 $ls_sql =  "UPDATE saf_dta ".
			 			"   SET seract='". $as_seract ."',".
			 			"       idchapa='". $as_idchapa ."',".
						"       coduniadm='". $as_coduniadm ."', ".
						"       codrespri='". $as_codrespri ."',".
						"       obsideact='". $as_obsideact ."',".
						"       codres='". $as_codres ."'".
						" WHERE codemp =  '". $as_codemp ."'". 
						"   AND codact =  '". $as_codact ."'".
						"   AND ideact =  '". $as_idact ."'";
			$this->io_sql->begin_transaction();
			$li_row = $this->io_sql->execute($ls_sql);
			if($li_row===false)
			{
				$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_update_seriales ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
				$lb_valido=false;
				$this->io_sql->rollback();
			}
			else
			{
				$lb_valido=true;
				/////////////////////////////////         SEGURIDAD               /////////////////////////////		
				$ls_evento="UPDATE";
				$ls_descripcion ="Actualizó Serial".$as_seract."con Id".$as_idact." asociado al Activo ".$as_codact." de la Empresa ".$as_codemp;
				$ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
												$aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
												$aa_seguridad["ventanas"],$ls_descripcion);
				/////////////////////////////////         SEGURIDAD               /////////////////////////////		
				$this->io_sql->commit();
			}
		
	  return $lb_valido;
	}// fin de la function uf_saf_update_seriales

	function uf_saf_delete_seriales($as_codemp,$as_seract,$as_codact,$as_idact,$aa_seguridad)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_delete_seriales
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact // codigo de activo
		//				   $as_idact  // id de activo
		//				   $aa_seguridad   // arreglo de registro de seguridad
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que elimina un serial y otros datos de los activos relacionados a un activo en 
		//				   particular en la tabla saf_dta
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=true;
		$lb_encontrado=$this->uf_saf_select_dt_movimiento($as_codemp,$as_codact,$as_idact);
		if(!$lb_encontrado)
		{
			$lb_encontrado=$this->uf_saf_select_partes($as_codemp,$as_codact,$as_idact,'%%');
		}
		if(!$lb_encontrado)
		{
			$ls_sql = " DELETE FROM saf_dta".
					  " WHERE codemp= '".$as_codemp. "'".
					  " AND codact= '".$as_codact. "'".
					  " AND ideact= '".$as_idact. "'"; 
			$this->io_sql->begin_transaction();	
			$li_row=$this->io_sql->execute($ls_sql);
			if($li_row===false)
			{
				$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_delete_seriales ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
				$lb_valido=false;
				$this->io_sql->rollback();
			}
			else
			{
				$lb_valido=true;
				/////////////////////////////////         SEGURIDAD               /////////////////////////////
				$ls_evento="DELETE";
				$ls_descripcion ="Eliminó Serial".$as_seract."con Id".$as_idact." asociado al Activo ".$as_codact." de la Empresa ".$as_codemp;
				$ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
												$aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
												$aa_seguridad["ventanas"],$ls_descripcion);
				/////////////////////////////////         SEGURIDAD               /////////////////////////////			
				$this->io_sql->commit();
			}
		}
		else
		{
			$this->io_msg->message("El Activo tiene movimientos y/o partes asociados");
		}
		return $lb_valido;
	} //fin de uf_saf_delete_seriales

	function uf_saf_select_dt_movimiento($as_codemp,$as_codact,$as_idact)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_select_movimiento
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact // codigo de activo
		//				   $as_idact  // identificador del activo
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que verifica si un activo ha tenido movimientos
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_sql = "SELECT codact,ideact FROM saf_dt_movimiento  ".
				  " WHERE codemp='".$as_codemp."'". 
				  "   AND codact='".$as_codact."'" .
				  "   AND ideact='".$as_idact."'" ;
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_select_movimiento ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		}
		else
		{
			if($row=$this->io_sql->fetch_row($rs_data))
			{$lb_valido=true;}
		}
		$this->io_sql->free_result($rs_data);
		return $lb_valido;
	}//fin de la function uf_saf_select_movimiento

	function uf_saf_select_partes($as_codemp,$as_codact,$as_idact,$as_codpar)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_select_partes
		//         Access: public 
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact // codigo de activo
		//				   $as_idact  // id de activo
		//				   $as_codpar // codigo de parte asociada al activo
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que verifica la existencia de una parte asociada a un activo en la tabla saf_partes
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_sql = "SELECT * FROM saf_partes  ".
				  "WHERE codemp='".$as_codemp."'".
				  " AND codact='".$as_codact."'".
				  " AND ideact='".$as_idact."'".
				  " AND codpar like '".$as_codpar."'" ;
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_select_partes ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
		}
		else
		{
			if($row=$this->io_sql->fetch_row($rs_data))
			{$lb_valido=true;}
		}
		$this->io_sql->free_result($rs_data);
		return $lb_valido;

	}//fin de la function uf_saf_select_partes()

	function  uf_saf_insert_partes($as_codemp,$as_codact,$as_idact,$as_codpar,$as_denpar,$as_estpar,$aa_seguridad)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_insert_partes
		//         Access: public 
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact // codigo de activo
		//				   $as_idact  // id de activo
		//				   $as_codpar // codigo de parte
		//				   $as_denpar // denominacion de la parte
		//				   $as_estpar // estado en que se encuentra la parte
		//				   $aa_seguridad // arreglo de registro de seguridad
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que inserta una parte asociada a un activo en la tabla saf_partes
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=true;
        $this->io_sql->begin_transaction();
		$ls_sql = "INSERT INTO saf_partes (codemp, codact, ideact, codpar, denpar, estpar, cmpmov, serpar, obspar)". 
				  " VALUES( '".$as_codemp."','".$as_codact."','".$as_idact."','".$as_codpar."', '".$as_denpar."','".$as_estpar."','000000000000000','".$this->serpar."','".$this->obspar."')";
		$li_row=$this->io_sql->execute($ls_sql);
		if($li_row===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_insert_partes ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
			$lb_valido=false;
			$this->io_sql->rollback();
		}
		else
		{
			$lb_valido=true;
			/////////////////////////////////         SEGURIDAD               /////////////////////////////		
			$ls_evento="INSERT";
			$ls_descripcion ="Insertó el codigo de parte ".$as_codpar." con Id ".$as_idact." asociado al Activo ".$as_codact." de la Empresa ".$as_codemp;
			$ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
											$aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
											$aa_seguridad["ventanas"],$ls_descripcion);
			/////////////////////////////////         SEGURIDAD               /////////////////////////////		
			$this->io_sql->commit();
		}
		return $lb_valido;
	}//fin de uf_saf_insert_partes

	function  uf_saf_update_partes($as_codemp,$as_codact,$as_idact,$as_codpar,$as_denpar,$as_estpar,$aa_seguridad)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_update_partes
		//         Access: public 
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact // codigo de activo
		//				   $as_idact  // id de activo
		//				   $as_codpar // codigo de parte
		//				   $as_denpar // denominacion de la parte
		//				   $as_estpar // estado en que se encuentra la parte
		//				   $aa_seguridad // arreglo de registro de seguridad
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que actualiza una parte asociada a un activo en la tabla saf_partes
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	 $lb_valido=true;
	 $ls_sql = "UPDATE saf_partes SET   denpar='". $as_denpar ."', 
	                                    estpar='". $as_estpar ."', 
										serpar='". $this->serpar."', 
										obspar='". $this->obspar ."'".
			   " WHERE codemp =  '". $as_codemp ."'".
			   " AND codact =  '". $as_codact ."'".
			   " AND ideact =  '". $as_idact ."'".
			   " AND codpar =  '". $as_codpar ."'";
        $this->io_sql->begin_transaction();
		$li_row = $this->io_sql->execute($ls_sql);
		if($li_row===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_update_partes ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
			$lb_valido=false;
			$this->io_sql->rollback();
		}
		else
		{
			$lb_valido=true;
			/////////////////////////////////         SEGURIDAD               /////////////////////////////		
			$ls_evento="UPDATE";
			$ls_descripcion ="Actualizó el codigo de parte ".$as_codpar." con Id ".$as_idact." asociado al Activo ".$as_codact." de la Empresa ".$as_codemp;
			$ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
											$aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
											$aa_seguridad["ventanas"],$ls_descripcion);
			/////////////////////////////////         SEGURIDAD               /////////////////////////////		
			$this->io_sql->commit();
		}
	  return $lb_valido;
	}// fin de la function uf_sss_update_partes

	function uf_saf_delete_partes($as_codemp,$as_codact,$as_idact,$as_codpar,$aa_seguridad)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_update_partes
		//         Access: public 
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_codact // codigo de activo
		//				   $as_idact  // id de activo
		//				   $as_codpar // codigo de parte
		//				   $aa_seguridad // arreglo de registro de seguridad
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que elimina una parte asociada a un activo en la tabla saf_partes
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=true;
		$ls_sql =  " DELETE FROM saf_partes".
				   " WHERE codemp =  '". $as_codemp ."'".
				   " AND codact =  '". $as_codact ."'".
				   " AND ideact =  '". $as_idact ."'".
				   " AND codpar =  '". $as_codpar ."'";
		$this->io_sql->begin_transaction();	
		$li_row=$this->io_sql->execute($ls_sql);
		if($li_row===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_delete_partes ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
			$lb_valido=false;
			$this->io_sql->rollback();

		}
		else
		{
			$lb_valido=true;
			/////////////////////////////////         SEGURIDAD               /////////////////////////////
			$ls_evento="DELETE";
			$ls_descripcion ="Eliminó el codigo de parte ".$as_codpar." con Id ".$as_idact." asociado al Activo ".$as_codact." de la Empresa ".$as_codemp;
			$ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
											$aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
											$aa_seguridad["ventanas"],$ls_descripcion);
			/////////////////////////////////         SEGURIDAD               /////////////////////////////			
			$this->io_sql->commit();
		}
		return $lb_valido;
	} //fin de uf_saf_delete_partes

	function uf_saf_select_cuentaspg($as_codemp,&$as_cuenta)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_select_articulo
		//         Access: public (sigesp_siv_d_articulo)
		//      Argumento: $as_codemp //codigo de empresa 
		//				   $as_cuenta //numero de cuenta presupuestaria
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que verifica si existe una determinada cuenta presupuestaria
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 28/03/2006 								Fecha Última Modificación : 28/03/2006 
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_spgcuenta=substr($as_cuenta,0,3);
		if($ls_spgcuenta=='404')
		{$lb_valido=true;}
		else
		{return false;}
		$ls_sql="SELECT spg_cuenta".
				"  FROM spg_cuentas  ".
				" WHERE codemp='".$as_codemp."'".
				"   AND spg_cuenta LIKE '".trim($as_cuenta)."%'" ;
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_select_cuentaspg ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
			$lb_valido=false;
		}
		else
		{
			if($row=$this->io_sql->fetch_row($rs_data))
			{
				$lb_valido=true;
				$this->io_sql->free_result($rs_data);
				$as_cuenta=$row["spg_cuenta"];
			}
			else
			{
				$lb_valido=false;
			}
		}
		return $lb_valido;
	}// end function uf_siv_select_articulo

	function uf_upload($as_nomfot,$as_tipfot,$as_tamfot,$as_nomtemfot)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_upload
		//		   Access: public (sigesp_snorh_d_personal)
		//	    Arguments: as_nomfot  // Nombre Foto
		//				   as_tipfot  // Tipo Foto
		//				   as_tamfot  // Tamaño Foto
		//				   as_nomtemfot  // Nombre Temporal
		//	      Returns: Retorna un booleano
		//	  Description: Funcion que sube una foto al servidor
		//	   Creado Por: Ing. Yesenia Moreno
		// Fecha Creación: 01/01/2006 								Fecha Última Modificación : 
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=true;
		if ($as_nomfot!="")
		{
			if (!((strpos($as_tipfot, "gif") || strpos($as_tipfot, "jpeg") || strpos($as_tipfot, "png")) && ($as_tamfot < 100000))) 
			{ 
				$lb_valido=false;
				$as_nomfot="";
				$this->io_msg->message("El archivo de la foto no es válido.");
			}
			else
			{ 
				if (!((move_uploaded_file($as_nomtemfot, "fotosactivos/".$as_nomfot))))
				{
					$lb_valido=false;
					$as_nomfot="";
		        	$this->io_msg->message("CLASE->articulo MÉTODO->uf_upload ERROR->".$this->io_funciones->uf_convertirmsg($this->io_sql->message)); 
				}
			}
		}
		return $lb_valido;	
    }
  //----------------------------------------------------------------------------------------------------------------------------------

  //-----------------------------------------------------------------------------------------------------------------------------------
	function uf_select_config($as_codemp)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_select_config
		//		   Access: public
		//	    Arguments: 
		//	      Returns: $ls_resultado variable buscado
		//	  Description: Función que obtiene una variable de la tabla config
		// Modificado por: Ing. Yozelin Barragan            
		// Fecha Creación: 01/01/2006 	 Fecha Última Modificación : 21/05/2007
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	    $lb_valido=false;
		$ls_sql="SELECT * ".
	   		    "  FROM sigesp_config ".
			    " WHERE codemp='".$as_codemp."' ".
			    "   AND codsis='SAF' ".
			    "   AND seccion='CATEGORIA' ".
			    "   AND entry='TIPO-CATEGORIA-CSG-CGR' ";
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_mensajes->message("CLASE->articulo ->uf_select_config ERROR->".$this->io_funciones->uf_convertirmsg($this->io_sql->message)); 
			$lb_valido=false;
		}
		else
		{
			if($row=$this->io_sql->fetch_row($rs_data))
			{
				$lb_valido=true; 
			}
		}
		return rtrim($lb_valido);
	}// end function uf_select_config
   //----------------------------------------------------------------------------------------------------------------------------------
	
   //-----------------------------------------------------------------------------------------------------------------------------------
	function uf_insert_config($as_codemp,$as_sistema, $as_seccion, $as_variable, $as_valor, $as_tipo)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_insert_config
		//		   Access: public
		//	    Arguments: as_sistema  // Sistema al que pertenece la variable
		//				   as_seccion  // Sección a la que pertenece la variable
		//				   as_variable  // Variable nombre de la variable a buscar
		//				   as_valor  // valor por defecto que debe tener la variable
		//				   as_tipo  // tipo de la variable
		//	      Returns: $lb_valido True si se ejecuto el insert ó False si hubo error en el insert
		//	  Description: Función que inserta la variable de configuración
		//	   Creado Por: Ing. Yesenia Moreno
		// Fecha Creación: 01/01/2006 				Fecha Última Modificación : 
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=true;
		$this->io_sql->begin_transaction();		
		$ls_sql="INSERT INTO sigesp_config(codemp, codsis, seccion, entry, value, type)VALUES ".
				"('".$as_codemp."','".$as_sistema."','".$as_seccion."','".$as_variable."','".$as_valor."','".$as_tipo."')";
		$li_row=$this->io_sql->execute($ls_sql);
		if($li_row===false)
		{
			$lb_valido=false;
			$this->io_mensajes->message("CLASE->articulo ->uf_insert_config ERROR->".$this->io_funciones->uf_convertirmsg($this->io_sql->message));
			$this->io_sql->rollback();
		}
		else
		{
			$this->io_sql->commit();
		}
		return $lb_valido;
	}// end function uf_insert_config	
	//-----------------------------------------------------------------------------------------------------------------------------------
  
   //-----------------------------------------------------------------------------------------------------------------------------------
	function uf_saf_guardar_configuracion($as_codemp,$as_sistema,$as_seccion,$as_variable,$as_valor,$as_tipo)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_guardar_configuracion
		//		   Access: public
		//	    Arguments: as_sistema  // Sistema al que pertenece la variable
		//				   as_seccion  // Sección a la que pertenece la variable
		//				   as_variable  // Variable nombre de la variable a buscar
		//				   as_valor  // valor por defecto que debe tener la variable
		//				   as_tipo  // tipo de la variable
		//	      Returns: $lb_valido True si se ejecuto el insert ó False si hubo error en el insert
		//	  Description: Función que inserta la variable de configuración
		//	   Creado Por: Ing. Yozelin Barragan
		// Fecha Creación: 21/05/2007				Fecha Última Modificación : 
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	    $lb_valido = true;
		$lb_existe = $this->uf_select_config($as_codemp);
		if (!$lb_existe)
		   {
		     $lb_valido = $this->uf_insert_config($as_codemp,$as_sistema, $as_seccion, $as_variable, $as_valor, $as_tipo);
		   }
		/*else
		{
		   $this->io_msg->message("La configuracion ya existe.");  
		   $lb_valido=false;
		}*/
	    return  $lb_valido;
	}// end function uf_saf_guardar_configuracion	
	//-----------------------------------------------------------------------------------------------------------------------------------
  
   //-----------------------------------------------------------------------------------------------------------------------------------
	function uf_select_valor_config($as_codemp)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_select_valor_config
		//		   Access: public
		//	    Arguments: 
		//	      Returns: $ls_resultado variable buscado
		//	  Description: Función que obtiene una variable de la tabla config
		// Modificado por: Ing. Yozelin Barragan            
		// Fecha Creación: 21/05/2007 	 Fecha Última Modificación :
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	   
		$ls_sql="SELECT * ".
	   		    "  FROM sigesp_config ".
			    " WHERE codemp='".$as_codemp."' ".
			    "   AND codsis='SAF' ".
			    "   AND seccion='CATEGORIA' ".
			    "   AND entry='TIPO-CATEGORIA-CSG-CGR' ";
		
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->articulo ->uf_select_config ERROR->".$this->io_funciones->uf_convertirmsg($this->io_sql->message)); 
			return false;
		}
		
		
		return trim($rs_data->fields["value"]);
	}// end function uf_select_config
   //----------------------------------------------------------------------------------------------------------------------------------
function  uf_saf_update_res_uniadm_seriales($as_codemp,$as_codact,$as_idact,$as_coduniadm,$as_codrespri,
					                             $as_codres,$aa_seguridad)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_saf_update_res_uniadm_seriales
		//         Access: public (sigesp_siv_d_activos)
		//      Argumento: $as_codemp    //codigo de empresa 
		//				   $as_codact    // codigo de activo
		//				   $as_idact     // id de activo
		//				   $as_coduniadm // codigo de unidad adminisrativa
		//				   $as_codrespri // codigo de personal (responsable primario)
		//				   $as_codres    // codigo de personal (responsable por uso)
		//				   $aa_seguridad // arreglo de registro de seguridad
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que actualiza los seriales y otros datos importantes de los activos relacionados a un activo en 
		//				   particular en la tabla saf_dta
		//	   Creado Por: Ing. Arnaldo Suárez
		// Fecha Creación: 20/02/2006 								Fecha Última Modificación : 01/01/2006
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=false;
		$ls_sql =  "UPDATE saf_dta SET ".
				   "       coduniadm='". $as_coduniadm ."', ".
				   "       codrespri='". $as_codrespri ."',".
				   "       codres='". $as_codres ."'".
				   " WHERE codemp =  '". $as_codemp ."'". 
				   "   AND codact =  '". $as_codact ."'".
				   "   AND ideact =  '". $as_idact ."'";			
			$this->io_sql->begin_transaction();
			$li_row = $this->io_sql->execute($ls_sql);
			if($li_row===false)
			{
				$this->io_msg->message("CLASE->activo MÉTODO->uf_saf_update_res_uniadm_seriales ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
				$lb_valido=false;
				$this->io_sql->rollback();
			}
			else
			{
				$lb_valido=true;
				/////////////////////////////////         SEGURIDAD               /////////////////////////////		
				$ls_evento="UPDATE";
				$ls_descripcion ="Actualizó detalle de Activo ".$as_codact."con Id".$as_idact." de la Empresa ".$as_codemp;
				$ls_variable= $this->seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"],
												$aa_seguridad["sistema"],$ls_evento,$aa_seguridad["logusr"],
												$aa_seguridad["ventanas"],$ls_descripcion);
				/////////////////////////////////         SEGURIDAD               /////////////////////////////		
				$this->io_sql->commit();
			}	
		
	  return $lb_valido;
	}// fin de la function uf_saf_update_seriales

  function uf_load_config($as_codsis,$as_seccion,$as_entry,&$ls_value)
  {
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//	     Function: uf_load_config
	//		   Access: public
	//	    Arguments: 
	//	      Returns: $lb_existe = Variable booleana que retornará true en caso de ser encontrado, caso contrario false.
	//	  Description: Determina si el registro ya existe dentro de la Tabla sigesp_config.
	// Modificado por: Ing. Néstor Falcón.            
	// Fecha Creación: 09/07/2009 	 Fecha Última Modificación : 09/07/2009
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	$lb_existe = false;
	$ls_sql = "SELECT value 
	             FROM sigesp_config 
	            WHERE codemp = '".$_SESSION["la_empresa"]["codemp"]."' 
				  AND codsis = '".$as_codsis."'
				  AND seccion = '".$as_seccion."'
				  AND entry = '".$as_entry."'";
	$rs_data = $this->io_sql->select($ls_sql);
	if ($rs_data===false)
	   {
		 $this->io_msg->message("CLASE->sigesp_saf_c_activo.php->uf_load_config;ERROR->".$this->io_funciones->uf_convertirmsg($this->io_sql->message)); 
	     $lb_valido = false;
	   }
	else
	   {
	     if ($row=$this->io_sql->fetch_row($rs_data))
			{
			  $ls_value = $row["value"];
			  $lb_existe = true; 
			}
	   }
    return $lb_existe;
  }	
  
  
  function ObtCfg($as_codsis,$as_seccion,$as_entry)
  {
  	
	$ls_sql = "SELECT value 
	             FROM sigesp_config 
	            WHERE codemp = '".$_SESSION["la_empresa"]["codemp"]."' 
				  AND codsis = '".$as_codsis."'
				  AND seccion = '".$as_seccion."'
				  AND entry = '".$as_entry."'";
	$rs_data = $this->io_sql->select($ls_sql);
	
	if ($rs_data===false){
	  $this->io_msg->message("CLASE->sigesp_saf_c_activo ->ObtCfg ERROR->".$this->io_sql->message); 
	  return false;
    }	
	
    return $rs_data->fields["value"];
	
  }	
  
  
  function GuardarCfg($codsis, $seccion, $entry, $type, $value){		
			
			$ls_sql=" DELETE FROM sigesp_config WHERE codemp='".$this->codemp."' AND codsis='".$codsis."' AND seccion='".$seccion."' AND entry='".$entry."' AND type='".$type."';
					  INSERT INTO sigesp_config(codemp, codsis, seccion, entry, value, type)VALUES ".
					 "('".$this->codemp."','".$codsis."','".$seccion."','".$entry."','".$value."','".$type."')";
			$resp=$this->io_sql->execute($ls_sql);
			if($resp===false)
			{			
				$this->io_msg->message("CLASE->articulo ->GuardarCfg ERROR->".$this->io_sql->message);				
				return false;
			}
			//echo $ls_sql.'<br><br>';
			return true;
	}
	
	function ConsultaFormaAdq($opciones=array()){	
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		$metodo='ConsultaFormaAdq';
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY claforadq, codforadq";
					break;
			  
			  case "por_codigo":
					$sql_criterio = " WHERE codforadq='".$opciones['codforadq']."' ";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_forma_adqact ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboForAdq($opciones=array(),$funcion_js=""){
				
				$CfgNombreCombo = 'cmbforadq';
				$CampoId = 'codforadq';
				$CampoDen = 'denforadq';
				$opciones['funcion_js'] = $funcion_js?$funcion_js:$opciones['funcion_js'];
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaFormaAdq($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>('.$fila["claforadq"].') - '.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaEstatusUso($opciones=array()){	
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		$metodo='ConsultaEstatusUso';
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codestuso";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_estatus_uso ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboEstUso($opciones=array()){
				
				$CfgNombreCombo = 'cmbestuso';
				$CampoId = 'codestuso';
				$CampoDen = 'denestuso';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaEstatusUso($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaColores($opciones=array()){	
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		$metodo='ConsultaColores';
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codcolor";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_colores ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboColor($opciones=array()){
				
				$CfgNombreCombo = 'cmbcolor';
				$CampoId = 'codcolor';
				$CampoDen = 'dencolor';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaColores($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaTipoVehiculos($opciones=array()){	
	
		$metodo='ConsultaTipoVehiculos';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codtipveh";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_tipos_vehiculo ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboTipVeh($opciones=array()){
				
				$CfgNombreCombo = 'cmbtipveh';
				$CampoId = 'codtipveh';
				$CampoDen = 'dentipveh';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaTipoVehiculos($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaTipoAnimal($opciones=array()){	
	
		$metodo='ConsultaTipoAnimal';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codtipani";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_tipos_animal ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboTipoAnimal($opciones=array()){
								
				$CfgNombreCombo = 'cmbtipani';
				$CampoId = 'codtipani';
				$CampoDen = 'dentipani';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaTipoAnimal($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaPropSemoviente($opciones=array()){	
	
		$metodo='ConsultaPropSemoviente';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codprosem";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_propositos_semovientes ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboPropSemoviente($opciones=array()){
				
				$CfgNombreCombo = 'cmbprosem';
				$CampoId = 'codprosem';
				$CampoDen = 'denprosem';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaPropSemoviente($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaUsoEdif($opciones=array()){	
	
		$metodo='ConsultaUsoEdif';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codusoedi";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_usos_edifterre ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboUsoEdif($opciones=array()){
				
				$CfgNombreCombo = 'cmbusoedi';
				$CampoId = 'codusoedi';
				$CampoDen = 'denusoedi';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaUsoEdif($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	
	function ConsultaAseguradora($opciones=array()){	
	
		$metodo='ConsultaAseguradora';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codaseg";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_aseguradoras ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboAseguradora($opciones=array()){
				
				$CfgNombreCombo = 'cmbaseg';
				$CampoId = 'codaseg';
				$CampoDen = 'denaseg';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaAseguradora($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaTipCobertura($opciones=array()){	
	
		$metodo='ConsultaTipCobertura';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codtipcob";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_tipocobertura ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboTipCobertura($opciones=array()){
				
				$CfgNombreCombo = 'cmbtipcob';
				$CampoId = 'codtipcob';
				$CampoDen = 'dentipcob';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaTipCobertura($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaTipLugar($opciones=array()){	
	
		$metodo='ConsultaTipLugar';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codtiplug";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_tipolugares ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboTipLugar($opciones=array()){
				
				$CfgNombreCombo = 'cmbtiplug';
				$CampoId = 'codtiplug';
				$CampoDen = 'dentiplug';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaTipLugar($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	
	
	function ConsultaCategUniAdm($opciones=array()){	
	
		$metodo='ConsultaCategUniAdm';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codcatuni";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_categorias_uniadm ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboCategUniAdm($opciones=array()){
				
				$CfgNombreCombo = 'cmbcatuni';
				$CampoId = 'codcatuni';
				$CampoDen = 'dencatuni';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaCategUniAdm($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaRaza($opciones=array()){	
	
		$metodo='ConsultaRaza';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codraza";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_raza ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboRaza($opciones=array()){
				
				$CfgNombreCombo = 'cmbraza';
				$CampoId = 'codraza';
				$CampoDen = 'denraza';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaRaza($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaGenero($opciones=array()){	
	
		$metodo='ConsultaGenero';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codgenero";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_genero ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboGenero($opciones=array()){
				
				$CfgNombreCombo = 'cmbgenero';
				$CampoId = 'codgenero';
				$CampoDen = 'dengenero';
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']='por_listado';
				$resultado = $this->ConsultaGenero($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaUnimed($opciones=array()){	
	
		$metodo='ConsultaUnimed';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codunimed";
					break;
					
			  case "por_tipo":
					$sql_criterio = "WHERE codtipunimed='".$opciones['codtipunimed']."' ORDER BY codunimed";
					break;			
		}
								   
		$ls_sql = "SELECT * FROM saf_unimed ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboUnimed($opciones=array(),$codtipunimed="",$nombrecombo=""){
				
				$CfgNombreCombo = $nombrecombo?$nombrecombo:'cmbunimed';
				$CampoId = 'codunimed';
				$CampoIdCarga = $CampoId;
				
				switch($nombrecombo){
						case 'cmbunimedcap':
							$CampoIdCarga = 'codunimedcap';
							break;
							
						case 'cmbunimedarea':
							$CampoIdCarga = 'codunimedarea';
							break;
							
						case 'cmbunimedpeso':
							$CampoIdCarga = 'codunimedpeso';
							break;			
				}
				
				$CampoDen = 'denunimed';
				$opciones['codtipunimed'] = $codtipunimed;
				$id_carga="";
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoIdCarga]){$id_carga = '';}else{$id_carga = $opciones[$CampoIdCarga];}
				
				$opciones['criterio']=$codtipunimed?'por_tipo':'por_listado';
				$resultado = $this->ConsultaUnimed($opciones);
				
				$combo = '<select name="'.$CfgNombreCombo.'" id="'.$CfgNombreCombo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";				
					if($fila[$CampoId] == $id_carga){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	function ConsultaUnimedGarantia($opciones=array()){	
	
		$metodo='ConsultaUnimedGarantia';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_listado';
		
		switch($opciones['criterio']){
							 
			  case "por_listado":
					$sql_criterio = " ORDER BY codunimedgar";
					break;
			   }
								   
		$ls_sql = "SELECT * FROM saf_unimed_garantia ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return $rs_data;
	}
	
	function ComboUnimedGarantia($opciones=array(),$codtipunimed="",$nombrecombo=""){
				
				$CfgNombreCombo = $nombrecombo?$nombrecombo:'cmbunimedgar';
				$CampoId = 'codunimedgar';
				$CampoDen = 'denunimedgar';
				$opciones['codtipunimedgar'] = $codtipunimed;
				
				if(!$opciones['nombre_combo']){$nombre_combo = $CfgNombreCombo;}else{$nombre_combo = $opciones['nombre_combo'];}
				if(!$opciones[$CampoId]){$carga = ' Seleccione '; $id_carga = '';}
				else{$carga = $opciones[$CampoDen];  $id_carga = $opciones[$CampoId];}
				
				$opciones['criterio']=$codtipunimed?'por_tipo':'por_listado';
				$resultado = $this->ConsultaUnimedGarantia($opciones);
				
				$combo = '<select name="'.$nombre_combo.'" id="'.$nombre_combo.'" onChange="'.$opciones['funcion_js'].'">
				          <option value="">- Seleccione -</option>';
				
				foreach($resultado as $fila){ 
				    $selected="";
					if($id_carga==$fila[$CampoId]){$selected="selected";}
					$combo .= '<option value="'.$fila[$CampoId].'" '.$selected.'>'.$fila[$CampoDen].'</option>';								
				} 
				$combo .= '</select>';
																							
				echo $combo;
	}
	
	
	function ObtenerDatosActivo($opciones=array()){	
	
		$metodo='ObtenerDatosActivo';
		
		$opciones['criterio'] = $opciones['criterio']?$opciones['criterio']:'por_activo';
		
		switch($opciones['criterio']){
							 
			  case "por_activo":
					$sql_criterio = " WHERE codemp='".$this->codemp."' AND codact='".$opciones['codact']."' ";
					break;
			   }
								   
		$ls_sql = "SELECT * FROM saf_activo ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		if(!$rs_data->RecordCount()){$this->DatosActivo=array();}
		
		$this->DatosActivo = $rs_data->fields;
		
		return $rs_data;
	}
	
	function ObtenerDatosOrigen($opciones=array()){	
	
		$metodo='ObtenerDatosOrigen';
		
		$opciones['criterio'] = "por_activo";
		

	    switch($opciones['criterio']){
						 
			  case "por_activo":
					$sql_criterio = " LEFT JOIN rpc_proveedor p ON p.cod_pro = o.ori_codprov
					                  WHERE o.codemp='".$this->codemp."' 
										AND o.ori_codori='".$opciones['ori_codori']."' 
										AND o.ori_codforadq='".$opciones['ori_codforadq']."' ";
					break;
	    }
								   
		$ls_sql = " SELECT o.*, p.nompro as ori_nomprov FROM saf_origen_adquisicion o ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		if(!$rs_data->RecordCount()){$this->DatosOrigen=array();}
		
		$this->DatosOrigen = $rs_data->fields;
		
		return $rs_data;
	}
	
	
	function ConsultaOrigenAdq($opciones=array()){	
	
		$metodo='ConsultaOrigenAdq';
						
	    switch($opciones['criterio']){
						 
			  case "por_numero":
					$sql_criterio = " WHERE codemp='".$this->codemp."' 
										AND ori_codori='".$opciones['ori_codori']."' 
										AND ori_codforadq='".$opciones['ori_codforadq']."' ";
					break;
	    }
								   
		$ls_sql = " SELECT * FROM saf_origen_adquisicion ".$sql_criterio;
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}		
		
		return $rs_data;
	}
	
	function ProcOrigenAdq($opciones=array()){	
		
		if(!$this->ori_codori){return true;}
		if(!$this->ori_codforadq){
			$this->io_msg->message("No se ha seleccionado ninguna forma de adquisición !");
			return false;
		}
		
		$param['criterio']='por_numero';
		$param['ori_codori']=$this->ori_codori;
		$param['ori_codforadq']=$this->ori_codforadq;
		$rs = $this->ConsultaOrigenAdq($param);		
		if($rs===false){return false;}
		
		$this->FormatDatosBdOrigenAdq();
		
		if(!$rs->RecordCount()){
			$resp = $this->InsertarOrigenAdq();		
			if($resp===false){return false;}	
		}
		$resp = $this->ActualizarOrigenAdq();		
		if($resp===false){return false;}
	}
	
	
	function FormatDatosPresentOrigenAdq($datos=array()){
		
		$this->DatosOrigen['ori_fecconc']=$this->io_conexiones->formatea_fecha_normal($this->DatosOrigen['ori_fecconc']);
		$this->DatosOrigen['ori_feccontconc']=$this->io_conexiones->formatea_fecha_normal($this->DatosOrigen['ori_feccontconc']);
		$this->DatosOrigen['ori_fecnotentconc']=$this->io_conexiones->formatea_fecha_normal($this->DatosOrigen['ori_fecnotentconc']);
		$this->DatosOrigen['ori_fecfact']=$this->io_conexiones->formatea_fecha_normal($this->DatosOrigen['ori_fecfact']);
		$this->DatosOrigen['ori_fecordcomp']=$this->io_conexiones->formatea_fecha_normal($this->DatosOrigen['ori_fecordcomp']);
		$this->DatosOrigen['ori_fecsentactcont']=$this->io_conexiones->formatea_fecha_normal($this->DatosOrigen['ori_fecsentactcont']);
		$this->DatosOrigen['ori_feclicit']=$this->io_conexiones->formatea_fecha_normal($this->DatosOrigen['ori_feclicit']);
		$this->DatosOrigen['ori_fecreg']=$this->io_conexiones->formatea_fecha_normal($this->DatosOrigen['ori_fecreg']);		
	}
	
	function FormatDatosBdOrigenAdq($datos=array()){
	
		$this->ori_fecconc = $this->ori_fecconc?$this->ori_fecconc:'01/01/1900';
		$this->ori_fecconc = $this->io_conexiones->formatea_fecha_bd($this->ori_fecconc);
		
		$this->ori_feccontconc = $this->ori_feccontconc?$this->ori_feccontconc:'01/01/1900';
		$this->ori_feccontconc = $this->io_conexiones->formatea_fecha_bd($this->ori_feccontconc);
		
		$this->ori_fecnotentconc = $this->ori_fecnotentconc?$this->ori_fecnotentconc:'01/01/1900';
		$this->ori_fecnotentconc = $this->io_conexiones->formatea_fecha_bd($this->ori_fecnotentconc);
		
		$this->ori_fecfact = $this->ori_fecfact?$this->ori_fecfact:'01/01/1900';
		$this->ori_fecfact = $this->io_conexiones->formatea_fecha_bd($this->ori_fecfact);
		
		$this->ori_fecordcomp = $this->ori_fecordcomp?$this->ori_fecordcomp:'01/01/1900';
		$this->ori_fecordcomp = $this->io_conexiones->formatea_fecha_bd($this->ori_fecordcomp);
		
		$this->ori_fecsentactcont = $this->ori_fecsentactcont?$this->ori_fecsentactcont:'01/01/1900';
		$this->ori_fecsentactcont = $this->io_conexiones->formatea_fecha_bd($this->ori_fecsentactcont);
		
		$this->ori_fecreg = $this->ori_fecreg?$this->ori_fecreg:'01/01/1900';
		$this->ori_fecreg = $this->io_conexiones->formatea_fecha_bd($this->ori_fecreg);
		
		$this->ori_feclicit = $this->ori_feclicit?$this->ori_feclicit:'01/01/1900';
		$this->ori_feclicit = $this->io_conexiones->formatea_fecha_bd($this->ori_feclicit);
				
	}
	
	function InsertarOrigenAdq($opciones=array()){	
		
		$metodo='InsertarOrigenAdq';
				
		$ls_sql = " INSERT INTO saf_origen_adquisicion(
							codemp, ori_codori, ori_codforadq, ori_claforadq, ori_denconc, 
							ori_nroconc, ori_fecconc, ori_codprov, ori_nrocontconc, ori_feccontconc, 
							ori_nronotentconc, ori_fecnotentconc, ori_nrofact, ori_fecfact, 
							ori_numordcomp, ori_fecordcomp, ori_nompropant, ori_nomben, ori_nomautor, 
							ori_nrosentactcont, ori_fecsentactcont, ori_nomreg, ori_tomo, 
							ori_folio, ori_fecreg, ori_nomceddac, ori_nomdon, ori_nomcopper, 
							ori_nomlicit, ori_nrolict, ori_feclicit, ori_nompertrans, ori_nombenrecibtrans)
					VALUES ('".$this->codemp."', '".$this->ori_codori."', '".$this->ori_codforadq."', '".$this->ori_claforadq."', '".$this->ori_denconc."', 
							'".$this->ori_nroconc."', '".$this->ori_fecconc."', '".$this->ori_codprov."', '".$this->ori_nrocontconc."', '".$this->ori_feccontconc."', 
							'".$this->ori_nronotentconc."', '".$this->ori_fecnotentconc."', '".$this->ori_nrofact."', '".$this->ori_fecfact."', 
							'".$this->ori_numordcomp."', '".$this->ori_fecordcomp."', '".$this->ori_nompropant."', '".$this->ori_nomben."', '".$this->ori_nomautor."', 
							'".$this->ori_nrosentactcont."', '".$this->ori_fecsentactcont."', '".$this->ori_nomreg."', '".$this->ori_tomo."', 
							'".$this->ori_folio."', '".$this->ori_fecreg."', '".$this->ori_nomceddac."', '".$this->ori_nomdon."', '".$this->ori_nomcopper."', 
							'".$this->ori_nomlicit."', '".$this->ori_nrolict."', '".$this->ori_feclicit."', '".$this->ori_nompertrans."', '".$this->ori_nombenrecibtrans."'); ";
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return true;
	}
	
	
	function ActualizarOrigenAdq($opciones=array()){
	
		$metodo='ActualizarOrigenAdq';
		
		$ls_sql = "  UPDATE saf_origen_adquisicion
					   SET ori_denconc='".$this->ori_denconc."', 
						   ori_nroconc='".$this->ori_nroconc."', ori_fecconc='".$this->ori_fecconc."', ori_codprov='".$this->ori_codprov."', ori_nrocontconc='".$this->ori_nrocontconc."', 
						   ori_feccontconc='".$this->ori_feccontconc."', ori_nronotentconc='".$this->ori_nronotentconc."', ori_fecnotentconc='".$this->ori_fecnotentconc."', 
						   ori_nrofact='".$this->ori_nrofact."', ori_fecfact='".$this->ori_fecfact."', ori_numordcomp='".$this->ori_numordcomp."', ori_fecordcomp='".$this->ori_fecordcomp."', 
						   ori_nompropant='".$this->ori_nompropant."', ori_nomben='".$this->ori_nomben."', ori_nomautor='".$this->ori_nomautor."', ori_nrosentactcont='".$this->ori_nrosentactcont."', 
						   ori_fecsentactcont='".$this->ori_fecsentactcont."', ori_nomreg='".$this->ori_nomreg."', ori_tomo='".$this->ori_tomo."', ori_folio='".$this->ori_folio."', 
						   ori_fecreg='".$this->ori_fecreg."', ori_nomceddac='".$this->ori_nomceddac."', ori_nomdon='".$this->ori_nomdon."', ori_nomcopper='".$this->ori_nomcopper."', 
						   ori_nomlicit='".$this->ori_nomlicit."', ori_nrolict='".$this->ori_nrolict."', ori_feclicit='".$this->ori_feclicit."', ori_nompertrans='".$this->ori_nompertrans."', 
						   ori_nombenrecibtrans='".$this->ori_nombenrecibtrans."'
					 WHERE codemp='".$this->codemp."' 
					   AND ori_codori='".$this->ori_codori."'
					   AND ori_codforadq='".$this->ori_codforadq."'
					";
		
		$rs_data=$this->io_sql->execute($ls_sql);
		
		if($rs_data==false){				
			$mensaje = '<b>CLASE:</b> '.get_class($this).' <br><b>METODO:</b> '.$metodo.' <br><b>ERROR-></b><br>'.$this->io_sql->message;					
			if($this->ajax){$this->io_conexiones->mensajes_ajax($mensaje);}
			else{$this->io_msg->message($mensaje);}
			return false;
		}
		
		return true;
	}
	
}//fin de la class sigesp_saf_c_activo
?>
