1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| public static function calculDispo($debut,$fin,$finInit,$tab,$longueurMin,$chargePmin,$jourdispo,$chargeJ)
{
$limit=($finInit-$debut)+1;
if ( $limit < $longueurMin)
{return " pas de periode dispo". '<br />';break;}
$somme=($fin-$debut)+1;
if( $somme < $longueurMin)
{
$fin=$finInit;
Production::calculDispo($debut+1,$fin,$finInit,$tab,$longueurMin,$chargePmin,$jourdispo,$chargeJ);}
if ( Production::Chargep($debut,$fin,$tab)<=$chargePmin AND Production::nbjourDispo ($debut,$fin,$tab)>= $jourdispo )
{
//echo 'période de dispo commence ' . $tab[$debut][0].'du mois '. $tab[$debut][1].' est fini le '. $tab[$fin][0].' du mois '. $tab[$fin][1];
$result= 'période de dispo commence ' . $tab[$debut][0].'du mois '. $tab[$debut][1].' est fini le '. $tab[$fin][0].' du mois '. $tab[$fin][1];
/*Production::jourDispo($debut,$fin,$tab,$chargeJ);*/return $result;}
Production::calculDispo($debut,$fin-1,$finInit,$tab,$longueurMin,$chargePmin,$jourdispo,$chargeJ);
}
public static function dispo ($id,$debut,$fin,$finInit,$tab,$longueurMin,$chargePmin,$jourdispo,$chargeJ)
{
ini_set('xdebug.max_nesting_level', 10000);
$charge=array();
for ($mois = 5; $mois <= 7; $mois++){
for ($day = 1; $day <= 31; $day++){
$year='2010';
$query = "SELECT SUM(est_charge) somme
FROM tp_estime
WHERE clb_id = $id
AND DATE_FORMAT(est_date,'%c') = $mois
AND DATE_FORMAT(est_date,'%Y') = $year
AND DATE_FORMAT(est_date,'%e') = $day";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$charge[]= array($day,$mois,$row[0]*100,$year);
/* echo $charge[0][0] . '<br />';
echo $charge[0][1] . '<br />';
echo $charge[0][2] . '<br />' ;*/
}
}
}
return Production::calculDispo($debut,$fin,$finInit,$charge,$longueurMin,$chargePmin,$jourdispo,$chargeJ);
} |
Partager