<?php

//require_once("class.conectar.php");

class Vacaciones
//class Vacaciones extends Conectar
{
	//private $visitas=array();
	private $lis_vaca_a=array();
	private $lis_vaca_pp1=array();
	private $lis_vaca_pp2=array();
	private $lis_vaca_p=array();
	private $lis_vaca_per=array();
	private $lis_vaca_ami=array();
	private $lis_vaca_amf=array();
	private $lis_f_vaca_per=array();
	private $lis_vaca_periodo=array();
	private $lis_vaca_per_per=array();
	private $lis_vaca_prog_mes=array();
	private $lis_vaca_eje_am=array();
	private $idva;

//	public function __construct()
	//	{
		//	$this->visitas=array();
		//}
	public function buscar_id_vacac($con,$ugid)
	{
		$sql="select v_id from tb_vacaciones where ug_id='$ugid' order by v_id desc limit 1";
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->idva=$reg['v_id'];
		}
			return $this->idva;
	}
	//consulta si en el mes esta programado los 30 dias de vacaiones
	public function consultar_vacaciones_periodo($con,$ugid, $anno, $mes)
	{
		$sql="select * from tb_vacaciones where ug_id ='$ugid' and v_estado=1 and month(v_fechaini)='$mes' and year(v_fechaini)='$anno' and month(v_fechafin)='$mes' and year(v_fechafin)='$anno' and v_numdias='30'";
		//echo $sql."-1<br>";
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_periodo[]=$reg;
		}
			return $this->lis_vaca_periodo;
	}
	//consulta si la fecha de inicio esta dentro del mes de programacion
		public function consultar_vacaciones_prog_ini($con,$ugid, $anno, $mes)
	{
		$sql="select * from tb_vacaciones where year(v_fechaini)='$anno' and month(v_fechaini)='$mes'and v_estado='0' and ug_id='$ugid'";
		//echo $sql."-1<br>";
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_prog_mes[]=$reg;
		}
			return $this->lis_vaca_prog_mes;
	}

	public function listar_vacaciones_ejec_anno_mes($con,$ugid, $anno, $mes)
	{
		$sql="select v_id as id, concat(date_format(v_fechaini,'%d/%m/%Y'),' AL ', date_format(v_fechafin,'%d/%m/%Y')) as fecha from tb_vacaciones where ((year(v_fechaini)='$anno' and month(v_fechaini)='$mes') or (year(v_fechafin)='$anno' and month(v_fechafin)='$mes')) and v_estado='1' and ug_id='$ugid'";
		//echo $sql."-1<br>";
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_eje_am[]=$reg;
		}
			return $this->lis_vaca_eje_am;
	}

	public function consultar_vacaciones_anno_mes_ini($con,$ugid, $anno, $mes)
	{
		$sql="select * from tb_vacaciones where year(v_fechaini)='$anno' and month(v_fechaini)='$mes' and (v_estado='0' or v_estado='1') and ug_id='$ugid'";
		//echo $sql."-1<br>";
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_ami[]=$reg;
		}
			return $this->lis_vaca_ami;
	}

	public function consultar_vacaciones_anno_mes_fin($con,$ugid, $anno, $mes)
	{
		$sql="select * from tb_vacaciones where year(v_fechafin)='$anno' and month(v_fechafin)='$mes' and (v_estado='0' or v_estado='1') and ug_id='$ugid'";
		//echo $sql."-2<br>";
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_amf[]=$reg;
		}
			return $this->lis_vaca_amf;
	}

	public function consultar_vacaciones_programadas_personal($con,$ugid, $fecha)
	{
		$sql="select * from tb_vacaciones where ug_id='$ugid' and '$fecha' between v_fechaini and v_fechafin and v_estado=0";
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_pp1[]=$reg;
		}
			return $this->lis_vaca_pp1;
	}

	public function consultar_vacaciones_programadas_personal_sinidv($con,$ugid, $fecha,$idv)
	{
		$sql="select * from tb_vacaciones where ug_id='$ugid' and v_id not in ('$idv') and '$fecha' between v_fechaini and v_fechafin and v_estado=0";
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_pp2[]=$reg;
		}
			return $this->lis_vaca_pp2;
	}

	public function consultar_vacaciones_anterior($con,$ugid, $fechaini)
	{
		$sql="select * from tb_vacaciones where ug_id='$ugid' and '$fechaini' between v_fechaini and v_fechafin and (v_estado=0 or v_estado=1)";
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_a[]=$reg;
		}
			return $this->lis_desc_a;
	}

	public function consultar_vacaciones_posterior($con,$ugid, $fechafin)
	{
		$sql="select * from tb_vacaciones where ug_id='$ugid' and '$fechafin' between v_fechaini and v_fechafin and (v_estado=0 or v_estado=1)";
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_p[]=$reg;
		}
			return $this->lis_vaca_p;
	}

		public function consultar_vacaciones_anterior_id($con,$ugid, $fechaini,$numid)
	{
		$sql="select * from tb_vacaciones where ug_id='$ugid' and date('$fechaini') between date(v_fechaini) and date(v_fechafin) and v_id not in ('$numid')  and (v_estado=0 or v_estado=1)";
		//echo $sql;
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_a[]=$reg;
		}
			return $this->lis_desc_a;
	}

	public function consultar_vacaciones_posterior_id($con,$ugid, $fechafin,$numid)
	{
		$sql="select * from tb_vacaciones where ug_id='$ugid' and date('$fechafin') between date(v_fechaini) and date(v_fechafin) and v_id not in ('$numid') and (v_estado=0 or v_estado=1)";
		//echo $sql;
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_p[]=$reg;
		}
			return $this->lis_vaca_p;
	}
	public function insert_vaca_prog($con,$numid,$ugid,$periodo,$fechaini,$fechafin,$numdias,$obs)
	{

		$sql="insert into tb_vacaciones values('$numid','$ugid','$periodo','$fechaini','$fechafin','$numdias',0,'$obs')";
		//echo $sql;
		$res=mysqli_query($con, $sql);

	}

	public function consultar_vacaciones_personal($con,$ugid,$estado)
	{
		$sql="select v_id as id, concat(date_format(v_fechaini,'%d/%m/%Y'),' - ', date_format(v_fechafin,'%d/%m/%Y'),' (', v_numdias,')') ";
		$sql= $sql." as dias, date_format(v_fechaini,'%d/%m/%Y') as fini, date_format(v_fechafin,'%d/%m/%Y') as ffin, v_periodo as periodo from tb_vacaciones where ug_id='$ugid' and v_estado='$estado' order by v_fechaini desc";
		//echo $sql;
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_per[]=$reg;
		}
			return $this->lis_vaca_per;
	}

	public function consultar_fechas_vacaciones_personal($con,$ugid,$numid,$estado)
	{
		$sql="select date_format(v_fechaini,'%d/%m/%Y') as fechaini, date_format(v_fechafin,'%d/%m/%Y') as fechafin, v_periodo as periodo, v_obs as obs from tb_vacaciones where ug_id='$ugid' and v_id='$numid' and v_estado='$estado'";
			//echo $sql;
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_f_vaca_per[]=$reg;
		}
			return $this->lis_f_vaca_per;
	}

	public function modificar_fechas_vacaciones($con, $numid, $ugid, $fechaini, $fechafin, $numdias)
	{
		$sql="update tb_vacaciones set v_fechaini='$fechaini', v_fechafin='$fechafin', v_numdias='$numdias' where v_id='$numid' and ug_id='$ugid' and v_estado=0";
		//echo $sql;
		$res=mysqli_query($con, $sql);
	}

	public function modificar_estado_vacaciones($con,$numid, $ugid, $estini, $estfin,$obs)
	{
		$sql="update tb_vacaciones set v_estado='$estfin', v_obs='$obs' where v_id='$numid' and ug_id='$ugid' and v_estado='$estini'";
		//echo $sql;
		$res=mysqli_query($con, $sql);
	}

	public function modificar_estado_vacaciones_mes($con,$ugid,$anno,$mm, $estini, $estfin)
	{
		$sql="update tb_vacaciones set v_estado='$estfin' where ug_id='$ugid' and v_estado='$estini' and year(v_fechaini)='$anno' and month(v_fechaini)='$mm'";
		$res=mysqli_query($con, $sql);
	}

	public function consultar_vacaciones_fecha($con,$codper,$fecha)
	{
		$sql="SELECT ug_id FROM tb_vacaciones where ug_id='$codper' and (v_estado='1' or v_estado='0') and date('$fecha') between date(v_fechaini) and date(v_fechafin)";
			//echo $sql;
		$res=mysqli_query($con, $sql);
		if($res){
			while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_per[]=$reg;
		}
			return $this->lis_vaca_per;
		}
	}

	public function consultar_vacaciones_fecha_eje($con,$codper,$fecha)
	{
		$sql="SELECT ug_id FROM tb_vacaciones where ug_id='$codper' and v_estado='1'  and date('$fecha') between date(v_fechaini) and date(v_fechafin)";
			//echo $sql;
		$res=mysqli_query($con, $sql);
		if($res){
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_per[]=$reg;
		}
			return $this->lis_vaca_per;
		}
	}

	public function aks_vacaciones($con,$ugid,$periodo,$estado)
	{
		//$sql="select sum(a.v_numdias) as suma, c.tc_diasvaca as numdias from tb_vacaciones a inner join tb_usudep b on  a.ug_id = b.ug_id inner join tb_tipocont c on b.tc_idcont=c.tc_idcont where  a.ug_id='$ugid' and a.v_periodo='$periodo' and a.v_estado='$estado' and b.ua_estado in (1,2,4) group by c.tc_diasvaca";
		$sql="select sum(a.v_numdias) as suma, 30 as numdias from tb_vacaciones a  where  a.ug_id='$ugid' and a.v_periodo='$periodo' and a.v_estado='$estado' group by numdias";
			//echo $sql;
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_per[]=$reg;
		}
			return $this->lis_vaca_per;
	}

	public function aks_vacaciones_sinidv($con,$ugid,$periodo,$estado,$idv)
	{
		//$sql="select sum(a.v_numdias) as suma, c.tc_diasvaca as numdias from tb_vacaciones a inner join tb_usudep b on  a.ug_id = b.ug_id inner join tb_tipocont c on b.tc_idcont=c.tc_idcont where  a.ug_id='$ugid' and a.v_periodo='$periodo' and a.v_estado='$estado' and b.ua_estado in (1,2,4) group by c.tc_diasvaca";
		$sql="select sum(a.v_numdias) as suma, 30 as numdias from tb_vacaciones a  where  a.v_id not in ('$idv') and a.ug_id='$ugid' and a.v_periodo='$periodo' and a.v_estado='$estado' group by numdias";
			//echo $sql;
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_per[]=$reg;
		}
			return $this->lis_vaca_per;
	}

	public function aks_vacaciones_uno($con,$ugid,$periodo,$estado)
	{
		$sql="select v_id as id, month(v_fechaini) as mesvaca, concat(date_format(v_fechaini,'%d/%m/%Y'),' - ',  date_format(v_fechafin,'%d/%m/%Y'),' (', v_numdias,')') as dias, v_estado as estado, v_numdias as numdias from tb_vacaciones where ug_id='$ugid' and v_periodo='$periodo' and v_estado in ($estado) order by id asc limit 1";
			//echo $sql;
		$res=mysqli_query($con, $sql);
		while ($reg=mysqli_fetch_assoc($res))
		{
			$this->lis_vaca_per_per[]=$reg;
		}
			return $this->lis_vaca_per_per;
	}

	public function eliminar_vacaciones($con,$idv,$ugid)
	{
		$sql="delete from tb_vacaciones where ug_id='$ugid' and v_id='$idv'";
		$res=mysqli_query($con, $sql);
	}


}
?>
