Muchas gracias bacdavi..... mas bien el problema es que cuando genero los dias libres que le corresponde por cada año, esos dias tienen una fecha de caducidad y el mismo procedimiento debe de chekar diaria mente si los dias libres del empleado ya caducaron y si es asi eliminarlos, y mas que nada para eso quiero implementar el procedimiento almacenado......
aqui hize este metodo para calcular la diferencia entre dos fechas parametrizando si quiero incluir sabados o domingos, el problema es que no conozco mucho de procedimientos almacenados....
Código PHP:
public function calculateDays($start_date,$end_date,$noSaturday="true",$noSunday="true",$noHollydays="true")
{
$start_date=strtotime($start_date);
$end_date=strtotime($end_date);
$year = intval(date("Y", $start_date));
$hollyDays=$this->getHollyday($year);
$difference=$end_date-$start_date;
$difference=$difference;
$seconds_per_day=86400;
// +1 adds the actual date
$difference_days=round($difference/$seconds_per_day + 1 );
$noLaborDays=0;
$isLabor=true;
for($dayLoop=$start_date;$dayLoop<=$end_date;$dayLoop+=$seconds_per_day)
{
$numberOfDay=date("N",$dayLoop);
if($noSaturday == true && $numberOfDay == 6)
{$noLaborDays++;$isLabor=false;}
if($noSunday == true && $numberOfDay == 7)
{$noLaborDays++;$isLabor=false;}
if($noHollydays==true && $isLabor==true)
{
$current=date("Y",$dayLoop);
if($current!=$year)
{
unset($hollyDays);
$hollyDays=$this->getHollyday(intval(date("Y", $dayLoop)));
}
if(in_array($dayLoop,$hollyDays))
$noLaborDays++;
}
$isLabor=true;
}
$totalOfDays=$difference_days-$noLaborDays;
return $totalOfDays;
}
Muchas gracias