<?php
ini_set("session.cookie_lifetime","28800");
ini_set("session.gc_maxlifetime","28800");
session_start();
require_once("ConexionMod.php");
require_once("AreaMod.php");
require_once("Detalle_entidad.php");
class EntidadEnt extends AreaEnt{
	use Detalle_entidad;
	private $identidad,$cod_entidad,$nom_entidad,$permisos,$instaladores,$parches,$resumenes,$claves,$estado;
	/*ABSTRACTO*/
	private $fecha_mel,$fecha_cla,$fecha_myc;
	public function setIdentidad($val){$this->identidad=$val;} public function getIdentidad(){return $this->identidad;}
	public function setCod_entidad($val){$this->cod_entidad=$val;} public function getCod_entidad(){return $this->cod_entidad;}
	public function setNom_entidad($val){$this->nom_entidad=$val;} public function getNom_entidad(){return $this->nom_entidad;}
	public function setPermisos($val){$this->permisos=$val;} public function getPermisos(){return $this->permisos;}
	public function setInstaladores($val){$this->instaladores=$val;} public function getInstaladores(){return $this->instaladores;}
	public function setParches($val){$this->parches=$val;} public function getParches(){return $this->parches;}
	public function setResumenes($val){$this->resumenes=$val;} public function getResumenes(){return $this->resumenes;}
	public function setClaves($val){$this->claves=$val;} public function getClaves(){return $this->claves;}
	public function setEstado($val){$this->estado=$val;} public function getEstado(){return $this->estado;}
	/*ABSTRACTO*/
	public function setFecha_mel($val){$this->fecha_mel=$val;} public function getFecha_mel(){return $this->fecha_mel;}
	public function setFecha_cla($val){$this->fecha_cla=$val;} public function getFecha_cla(){return $this->fecha_cla;}
	public function setFecha_myc($val){$this->fecha_myc=$val;} public function getFecha_myc(){return $this->fecha_myc;}
}
class EntidadMod extends AreaMod{
	
	public function obtenerUltimoCodEntidad(){
		$sql = "SELECT cod_entidad FROM entidad ORDER BY identidad DESC LIMIT 1;";
		$que = mysqli_query(ConexionMod::Conectar(),$sql);
		$res = mysqli_fetch_row($que);
		$obj = new EntidadEnt();
		$obj->setCod_entidad($res[0]);
		return $obj;
		mysqli_close(ConexionMod::Conectar());
	}
	
	
	
	public function registrarEntidad($val){
		$sql="insert into entidad(cod_entidad,nom_entidad) values('".$val->getCod_entidad()."','".$val->getNom_entidad()."');";
		$query=mysqli_query(ConexionMod::Conectar(),$sql) or die("Error de registro");
		mysqli_close(ConexionMod::Conectar());	
	}
	public function verificarExistenciaEntidad($val){
		$sql="SELECT * FROM entidad WHERE cod_entidad=".$val->getCod_entidad()."";	
		$query=mysqli_query(ConexionMod::Conectar(),$sql) or die("Error al buscar entidad");
		if(mysqli_num_rows($query)==0){
			return '0';
		}else{
			return '1';
		}
	}
	
	public function verificandoExistenciaEntidad($val){
		if($val==''){
			$valx='0';
		}else{
			$valx=$val;
		}
		$sql="SELECT * FROM entidad WHERE cod_entidad=".$valx."";	
		$query=mysqli_query(ConexionMod::Conectar(),$sql) or die("Error al verificar Entidad");
		if(mysqli_num_rows($query)==0){
			return '0';
		}else{
			return '1';
		}
	}
	
	
	public function filtrarEntidad($dia,$mes,$ano,$bus,$den,$acc,$ins,$par,$res,$cla){	
		//$sql= "CALL filtrarEntidad('To','To','To','To',1,0,1,1,1,1);";
		$sql= "CALL filtrarEntidad('".$dia."','".$mes."','".$ano."','".$bus."',".$den.",".$acc.",".$ins.",".$par.",".$res.",".$cla.");";
		$query=mysqli_query(ConexionMod::Conectar(),$sql) or die("Error al filtrar entidad");
		$i=0;
		if(mysqli_num_rows($query)!=0){
			while($rs=mysqli_fetch_row($query)){
				$arr[$i]=new EntidadEnt();
				$arr[$i]->setIdentidad($rs[0]);
				$arr[$i]->setCod_entidad($rs[1]);
				$arr[$i]->setNom_entidad($rs[2]);
				$arr[$i]->setPermisos($rs[3]);
				$arr[$i]->setInstaladores($rs[4]);
				$arr[$i]->setParches($rs[5]);
				$arr[$i]->setResumenes($rs[6]);
				$arr[$i]->setClaves($rs[7]);
				$arr[$i]->setFecha_mel($rs[8]);
				$arr[$i]->setFecha_cla($rs[9]);
				$arr[$i]->setFecha_myc($rs[10]);
				$arr[$i]->setEstado($rs[11]);
				$arr[$i]->setDepart($rs[12]);
				$arr[$i]->setProvin($rs[13]);
				$arr[$i]->setDistri($rs[14]);
				$arr[$i]->setIgv($rs[15]);
				$i++;
			}
			return $arr;
		}else{
			return 0;
		}
		mysqli_close(ConexionMod::Conectar());	
	}
	public function autentificarPermisosEntidad($val){
		$nombre=$val->getCod_entidad();
		
		$nom=mysqli_real_escape_string(ConexionMod::Conectar(),$nombre);
		
		$for = 'SELECT * FROM entidad WHERE cod_entidad = "%1$s" AND permisos="1";';
		$sql=sprintf($for,$nom);
		
		//$sql="SELECT * FROM entidad WHERE cod_entidad='".$val->getCod_entidad()."' AND permisos='1'";
		//echo($sql);
		$res=mysqli_query(ConexionMod::Conectar(),$sql);
		if (mysqli_num_rows($res)==0){
			return 0;
		}elseif($reg=mysqli_fetch_array($res)){
			$_SESSION["session_cayo"]=$reg["cod_entidad"];
			return 1;
		}
		mysqli_close(ConexionMod::Conectar());
	}
	public function mostrarEntidad($val){
		$sql="SELECT * FROM entidad WHERE cod_entidad='".$val->getCod_entidad()."'";
		$query=mysqli_query(ConexionMod::Conectar(),$sql) or die("No se puede Mostrar la entidad");
		if(mysqli_num_rows($query)!=0){
			$rs=mysqli_fetch_row($query);
			$objeto=new EntidadEnt();
			$objeto->setIdentidad($rs[0]);
			$objeto->setCod_entidad($rs[1]);
			$objeto->setNom_entidad($rs[2]);
			$objeto->setPermisos($rs[3]);
			$objeto->setInstaladores($rs[4]);
			$objeto->setParches($rs[5]);
			$objeto->setResumenes($rs[6]);
			$objeto->setClaves($rs[7]);
			return $objeto;
		}else{
			return 0;
		}	
		mysqli_close(ConexionMod::Conectar());
	}
	public function listarEntidad(){
		$sql="SELECT * FROM entidad ORDER BY cod_entidad ASC LIMIT 0,20";
		$query=mysqli_query(ConexionMod::Conectar(),$sql);
		$i=0;
		if(mysqli_num_rows($query)!=0){
			while($rs=mysqli_fetch_row($query)){
				$arreglo[$i]=new EntidadEnt();
				$arreglo[$i]->setIdentidad($rs[0]);
				$arreglo[$i]->setCod_entidad($rs[1]);
				$arreglo[$i]->setNom_entidad($rs[2]);
				$arreglo[$i]->setPermisos($rs[3]);
				$arreglo[$i]->setInstaladores($rs[4]);
				$arreglo[$i]->setParches($rs[5]);
				$arreglo[$i]->setResumenes($rs[6]);
				$arreglo[$i]->setClaves($rs[7]);
				$i++;
			}
			return $arreglo;
		}else{
			return 0;
		}
		mysqli_close(ConexionMod::Conectar());	
	}
	public function buscarEntidad($val){
		$sql="SELECT * FROM entidad WHERE cod_entidad like '%".$val."%' || nom_entidad like '%".$val."%' ORDER BY cod_entidad ASC LIMIT 0,20";
		$query=mysqli_query(ConexionMod::Conectar(),$sql);
		$i=0;
		if(mysqli_num_rows($query)!=0){
			while($rs=mysqli_fetch_row($query)){
				$arreglo[$i]=new EntidadEnt();
				$arreglo[$i]->setIdentidad($rs[0]);
				$arreglo[$i]->setCod_entidad($rs[1]);
				$arreglo[$i]->setNom_entidad($rs[2]);
				$arreglo[$i]->setPermisos($rs[3]);
				$arreglo[$i]->setInstaladores($rs[4]);
				$arreglo[$i]->setParches($rs[5]);
				$arreglo[$i]->setResumenes($rs[6]);
				$arreglo[$i]->setClaves($rs[7]);
				$i++;
			}
			return $arreglo;
		}else{
			return 0;
		}
		mysqli_close(ConexionMod::Conectar());
	}
	public function existeEntidad($val){
		$sql="SELECT * FROM entidad WHERE cod_entidad = ".$val."";
		$query=mysqli_query(ConexionMod::Conectar(),$sql);
		$i=0;
		if(mysqli_num_rows($query)!=0){
			while($rs=mysqli_fetch_row($query)){
				$arreglo[$i]=new EntidadEnt();
				$arreglo[$i]->setIdentidad($rs[0]);
				$arreglo[$i]->setCod_entidad($rs[1]);
				$arreglo[$i]->setNom_entidad($rs[2]);
				$arreglo[$i]->setPermisos($rs[3]);
				$arreglo[$i]->setInstaladores($rs[4]);
				$arreglo[$i]->setParches($rs[5]);
				$arreglo[$i]->setResumenes($rs[6]);
				$arreglo[$i]->setClaves($rs[7]);
				$i++;
			}
			return $arreglo;
		}else{
			return 0;
		}
		mysqli_close(ConexionMod::Conectar());
	}
	public function autobuscarEntidad($val){
		$sql="SELECT * FROM entidad WHERE cod_entidad like '%".$val."%' || nom_entidad like '%".$val."%' ORDER BY cod_entidad ASC LIMIT 0,40";
		$query=mysqli_query(ConexionMod::Conectar(),$sql);
		$i=0;
		if(mysqli_num_rows($query)!=0){
			while($rs=mysqli_fetch_row($query)){
				$arreglo[$i]=new EntidadEnt();
				$arreglo[$i]->setIdentidad($rs[0]);
				$arreglo[$i]->setCod_entidad($rs[1]);
				$arreglo[$i]->setNom_entidad($rs[2]);
				$arreglo[$i]->setPermisos($rs[3]);
				$arreglo[$i]->setInstaladores($rs[4]);
				$arreglo[$i]->setParches($rs[5]);
				$arreglo[$i]->setResumenes($rs[6]);
				$arreglo[$i]->setClaves($rs[7]);
				$i++;
			}
			return $arreglo;
		}else{
			return 0;
		}
		mysqli_close(ConexionMod::Conectar());
	}
	public function buscarCodigoEntidad($val){
		$sql="SELECT * FROM entidad WHERE cod_entidad = ".$val->getCod_entidad()."";
		$query=mysqli_query(ConexionMod::Conectar(),$sql) or die("Error de código de la entidad");
		if(mysqli_num_rows($query)!=0){
			$rs=mysqli_fetch_row($query);
			$objeto=new EntidadEnt();
			$objeto->setIdentidad($rs[0]);
			$objeto->setCod_entidad($rs[1]);
			$objeto->setNom_entidad($rs[2]);
			$objeto->setPermisos($rs[3]);
			$objeto->setInstaladores($rs[4]);
			$objeto->setParches($rs[5]);
			$objeto->setResumenes($rs[6]);
			$objeto->setClaves($rs[7]);
			return $objeto;
		}else{
			return 0;
		}	
		mysqli_close(ConexionMod::Conectar());
	}
	public function mostrarEntidadPersonaAreCar($val){
		$sql="SELECT e.cod_entidad,e.nom_entidad,a.nomarea,c.ncargo,m.nmotivor,a.idarea,c.idcargo FROM entidad e RIGHT JOIN agendadet ag ON e.cod_entidad=ag.cod_entidad RIGHT JOIN area a ON a.idarea=ag.idarea RIGHT JOIN cargo c ON c.idcargo=ag.idcargo RIGHT JOIN motivor m ON m.idmotivor=ag.idmotivor RIGHT JOIN persona p ON p.idpersona=ag.idpersona WHERE p.idpersona=".$val->getIdpersona().";";
		$query=mysqli_query(ConexionMod::Conectar(),$sql) or die("Error al listar Entidad Persona Area Cargo");
		$i=0;
		if(mysqli_num_rows($query)!=0){
			while($rs=mysqli_fetch_row($query)){
				$arreglo[$i]=new EntidadEnt();
				$arreglo[$i]->setCod_entidad($rs[0]);
				$arreglo[$i]->setNom_entidad($rs[1]);
				$arreglo[$i]->setNomarea($rs[2]);
				$arreglo[$i]->setNcargo($rs[3]);
				$arreglo[$i]->setNmotivor($rs[4]);
				$arreglo[$i]->setIdarea($rs[5]);
				$arreglo[$i]->setIdcargo($rs[6]);
				$i++;
			}
			return $arreglo;	
		}else{
			return 0;
		}	
		mysqli_close(ConexionMod::Conectar());
		
	}
	public function actiAcceso($val){
		$sql="UPDATE entidad SET permisos=".$val->getPermisos()." WHERE identidad=".$val->getIdentidad()."";
		mysqli_query(ConexionMod::Conectar(),$sql);
		mysqli_close(ConexionMod::Conectar());
	}
	public function actiInstal($val){
		$sql="UPDATE entidad SET instaladores=".$val->getInstaladores()." WHERE identidad=".$val->getIdentidad()."";
		mysqli_query(ConexionMod::Conectar(),$sql);
		mysqli_close(ConexionMod::Conectar());
	}
	public function actiParche($val){
		$sql="UPDATE entidad SET parches=".$val->getParches()." WHERE identidad=".$val->getIdentidad()."";
		mysqli_query(ConexionMod::Conectar(),$sql);
		mysqli_close(ConexionMod::Conectar());
	}
	public function actiResume($val){
		$sql="UPDATE entidad SET resumenes=".$val->getResumenes()." WHERE identidad=".$val->getIdentidad()."";
		mysqli_query(ConexionMod::Conectar(),$sql);
		mysqli_close(ConexionMod::Conectar());
	}
	public function actiClaves($val){
		$sql="UPDATE entidad SET claves=".$val->getClaves()." WHERE identidad=".$val->getIdentidad()."";
		mysqli_query(ConexionMod::Conectar(),$sql);
		mysqli_close(ConexionMod::Conectar());
	}
	public function eliminarEntidad($val){
		$sql="DELETE FROM entidad WHERE cod_entidad=".$val."";
		mysqli_query(ConexionMod::Conectar(),$sql);
		mysqli_close(ConexionMod::Conectar());
	}
	public function actualizarEntidad($cod,$nom){
		$cd=(int)$cod;
		$sql="UPDATE entidad SET nom_entidad='{$nom}' WHERE cod_entidad={$cd}";
		mysqli_query(ConexionMod::Conectar(),$sql);
		mysqli_close(ConexionMod::Conectar());
	}
}
?>