|
Server IP : 10.128.40.6 / Your IP : 216.73.216.233 Web Server : Apache System : Linux webd006.cluster128.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : logmcpe ( 111175) PHP Version : 7.3.33 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0705) : /home/logmcpe/www/mcg/pages/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<?php
// echo "yassin <br/>" ;
include 'includes/config_tmcpro.php' ;
include 'includes/stable_functions_tmcpro.php' ;
// echo "<pre>" ;
// print_r($_POST) ;
// echo "</pre>" ;
$salarie_contrat_id = $_POST['rowid'] ;
function convertToHoursMins($time, $format = '%02d:%02d') {
if ($time < 1) {
return;
}
$hours = floor($time / 60);
$minutes = ($time % 60);
return sprintf($format, $hours, $minutes);
}
function count_week_days($__date_from, $__date_to, $__holidays_between=array(), $__weekend_days=array()) {
$total_days_count = $__date_to > $__date_from ? round(($__date_to - $__date_from)/(24*3600)) : 0;
$full_weeks_count = floor($total_days_count/7);
$weekend_days_count = $full_weeks_count*count($__weekend_days);
$days_left_uncovered = $total_days_count - $full_weeks_count*7;
for($i = 0; $i < $days_left_uncovered; $i++) {
$date_to_check = $i ? strtotime("+{$i} day", $__date_from) : $__date_from;
if(in_array(date('N', $date_to_check), $__weekend_days)) {
$weekend_days_count++;
}
}
$week_days_count = $total_days_count - $weekend_days_count - count($__holidays_between);
return $week_days_count;
}
function type_pre_GET ($value =12)
{
$tab = array(10 => 'Viste medicale', 11 => 'Entretien', 12 => 'Autre ');
return $tab[$value] ;
}
// $R=dbi_query("SELECT client_id id, concat(client_nom, ' ', client_pnom) civ, client_prospect, IF(client_genre='SERENA',1,0) as serena, IF(client_genre='FORMATION',1,0) as formation FROM ".TABLE_CLIENT." where agence_id=$agence ".( $_SESSION['client_actif']=='off' ? "" : "AND client_actif='0'")." ");
// $R=dbi_query("SELECT client_id id, concat(client_nom, ' ', client_pnom) civ, client_prospect, IF(client_genre='SERENA',1,0) as serena, IF(client_genre='FORMATION',1,0) as formation FROM ".TABLE_CLIENT." where agence_id=$agence ".( $_SESSION['client_actif']=='off' ? "" : "AND client_actif='0'")." ");
// exit() ;
function daysfr ($value = 0)
{
$tab = array(0 => 'Dimanche', 1 => 'Lundi', 2 => 'Mardi', 3 => 'Mercredi', 4 => 'Jeudi', 5 => 'Vendredi', 6 => 'Samedi');
return $tab[$value];
}
if($_POST['rowid']>0)
{
$id_relance_programee =$_POST['rowid'] ;
}
function daysfr_new ($value = 0)
{
$tab = array('Sun' => 'Dimanche', 'Mon' => 'Lundi', 'Tue' => 'Mardi', 'Wed' => 'Mercredi', 'Thu' => 'Jeudi', 'Fri' => 'Vendredi', 'Sat' => 'Samedi');
return $tab[$value];
}
// $days = daysfr('Mon') ;
// echo $days."<br/>" ;
// exit() ;
function date_prestation_to_jour($dat)
{
$a=int2date_autre_format_deux($dat) ;
$dt = strtotime($a);
$day = date("D", $dt);
$jour=daysfr_new($day) ;
return $jour ;
// return $day ;
}
// echo "testddd <br/> " ;
// exit() ;
function get_prest_sem( $interdispo,$from ,$to,$agence,$CLIENTS)
{
$id=0;
$p=array();
// $week_end = $to ;
$salarie_id = $interdispo ;
$data = array();
$now = new DateTime();
$start = $from ;
$end = $to;
// $end = $now -> format('Ymt');
$date = $start ;
$i=0 ;
while ($date <= $end )
{
// $q = dbi_query("
// SELECT * FROM PRESTATIONS p where presta_date_debut <= $date AND (p.presta_date_fin >= $date OR p.presta_date_fin IS NULL)
// AND p.presta_id IN ( select presta_id FROM PRESTATIONS_MODIF WHERE salarie_id = $salarie_id )
// ");
$q = dbi_query("
SELECT * FROM PRESTATIONS p where presta_date_debut <= $date AND (p.presta_date_fin >= $date OR p.presta_date_fin IS NULL)
AND ( p.presta_id IN (select presta_id FROM PRESTATIONS WHERE salarie_id = $salarie_id ) OR p.presta_id IN ( select presta_id FROM PRESTATIONS_MODIF WHERE salarie_id = $salarie_id ) )
AND ( p.presta_recur IS NULL OR p.presta_recur NOT IN ( SELECT presta_id FROM PRESTATIONS where presta_date_fin < $date ) )
");
// echo "
// SELECT * FROM PRESTATIONS p where presta_date_debut <= $date AND (p.presta_date_fin >= $date OR p.presta_date_fin IS NULL)
// AND (p.presta_id IN (select presta_id FROM PRESTATIONS WHERE salarie_id = $salarie_id ) OR p.presta_id IN ( select presta_id FROM PRESTATIONS_MODIF WHERE salarie_id = $salarie_id ) )
// ".'<br>';
// exit() ;
while($prest = dbi_fetch_row($q))
{
$date_presta_sem = $prest['presta_date_debut'] ;
$q1 = dbi_query("SELECT * FROM PRESTATIONS_MODIF WHERE presta_id = ".$prest['presta_id']." order by start, modif_id ") ;
while (($m = dbi_fetch_row($q1)) && $date >= $m['start'])
{
if( $m['presta_sem'] != NULL ) $date_presta_sem = $m['start'];
if( $prest['presta_sem'] > 1 ) {
if($m['presta_jour'] !== NULL && $date >= $m['start']) {
$date_presta_sem = $m['start'];
$date_presta_sem = date("Ymd", strtotime('monday this week', strtotime(int2date_autre_format($date_presta_sem))));
}
}
$prest['client_id'] = $m['client_id'] === NULL ? $prest['client_id'] : $m['client_id'] ;
$prest['salarie_id'] = $m['salarie_id'] === NULL ? $prest['salarie_id'] : $m['salarie_id'] ;
$prest['presta_sem'] = $m['presta_sem'] === NULL ? $prest['presta_sem'] : $m['presta_sem'] ;
$prest['presta_jour'] = $m['presta_jour'] === NULL ? $prest['presta_jour'] : $m['presta_jour'] ;
$prest['presta_Hdeb'] = $m['presta_Hdeb'] === NULL ? $prest['presta_Hdeb'] : $m['presta_Hdeb'] ;
$prest['presta_date_debut'] = $m['presta_date_debut'] === NULL ? $prest['presta_date_debut'] : $m['presta_date_debut'] ;
$prest['presta_Hduree'] = $m['presta_Hduree'] === NULL ? $prest['presta_Hduree'] : $m['presta_Hduree'] ;
$prest['chantier_id'] = $m['chantier_id'] === NULL ? $prest['chantier_id'] : $m['chantier_id'] ;
$prest['presta_forfait'] = $m['presta_forfait'] === NULL ? $prest['presta_forfait'] : $m['presta_forfait'] ;
}
if( $prest['salarie_id'] == $salarie_id ) {
// if($date == '20200806')
// echo $prest["presta_id"].' ** ';
$day = date("w", strtotime( int2date_autre_format($date)));
// if( $day == $prest['presta_jour']){
if( $day == $prest['presta_jour'] OR ( $date == $prest['presta_date_debut'] && $prest['presta_date_debut'] == $prest['presta_date_fin'] ) ){
// $istart = str_pad($prest['presta_Hdeb'] / 10000 , 2, '0', STR_PAD_LEFT) ;
$hstart = str_pad((int)($prest['presta_Hdeb'] / 10000) , 2, '0', STR_PAD_LEFT) ;
// $hstart = str_pad(round($prest['presta_Hdeb'] / 10000, 0) , 2, '0', STR_PAD_LEFT) ;
$mstart = str_pad(($prest['presta_Hdeb'] % 10000)/100 , 2, '0', STR_PAD_LEFT);
$hend = str_pad(round(addDuree($prest['presta_Hdeb'], $prest['presta_Hduree']) / 10000, 0) , 2, '0', STR_PAD_LEFT) ;
$mend = str_pad((addDuree($prest['presta_Hdeb'], $prest['presta_Hduree']) % 10000)/100 , 2, '0', STR_PAD_LEFT);
$istart = int2date_autre_format($date).' '.$hstart.':'.$mstart.':00';
$iend = int2date_autre_format($date).' '.$hend.':'.$mend.':00';
$EXP = dbi_fetch_row(dbi_query("SELECT date_presta FROM EXCEPTIONS WHERE presta_id = ".$prest['presta_id']." AND date_presta = ".$date." " )) ; ;
if($EXP ){} else {
if( $prest['presta_sem'] == 1 )
{
$Clt = dbi_fetch_row(dbi_query("SELECT * FROM client WHERE client_id = ".$prest['client_id'] ." " )) ;
$data[$i]['presta_id'] = $prest["presta_id"];
$data[$i]['client_id'] = $prest["client_id"];
$data[$i]['presta_Hdeb'] = $prest["presta_Hdeb"];
$data[$i]['presta_Hduree'] = $prest["presta_Hduree"];
$data[$i]['presta_jour'] = $prest["presta_jour"];
$data[$i]['presta_date_debut'] = $prest["presta_date_debut"];
if($prest['client_id'] == $TMCPROCLIENTID)
$data[$i]['title'] = '('. convertToHoursMins($prest['presta_Hduree'], '%01dh%02d').") ".$prest['prestation_motif'];
else
$data[$i]['title'] = '('. convertToHoursMins($prest['presta_Hduree'], '%01dh%02d').") ".$Clt["client_nom"];
// $data[$i]['title'] = '('. convertToHoursMins($prest['presta_Hduree'], '%01dh%02d').") ".$Clt["client_nom"];
$data[$i]['start'] = $istart;
$data[$i]['end'] = $iend;
$data[$i]['date'] = $date;
++$i;
}
else
{
$nbre =count_week_days(strtotime(int2date_autre_format($date_presta_sem,'d.m.Y')), strtotime(int2date_autre_format($date,'d.m.Y')));
$modolo = $nbre % $prest['presta_sem'] ;
if( $modolo == 0) {
$Clt = dbi_fetch_row(dbi_query("SELECT * FROM client WHERE client_id = ".$prest['client_id'] ." " )) ;
$data[$i]['presta_id'] = $prest["presta_id"];
$data[$i]['client_id'] = $prest["client_id"];
$data[$i]['presta_Hdeb'] = $prest["presta_Hdeb"];
$data[$i]['presta_Hduree'] = $prest["presta_Hduree"];
$data[$i]['presta_jour'] = $prest["presta_jour"];
if($prest['client_id'] == $TMCPROCLIENTID)
$data[$i]['title'] = '('. convertToHoursMins($prest['presta_Hduree'], '%01dh%02d').") ".$prest['prestation_motif'];
else
$data[$i]['title'] = '('. convertToHoursMins($prest['presta_Hduree'], '%01dh%02d').") ".$Clt["client_nom"];
$data[$i]['start'] = $istart;
$data[$i]['end'] = $iend;
$data[$i]['date'] = $date;
++$i;
}
}
}
}
}
// echo date("Ymd", strtotime( int2date_autre_format($date))).' !! '.$prest['presta_id'].' $$ '.$prest['presta_jour'].'<br>';
}
// $date = time2int($time) ;
$date = date("Ymd", strtotime("+1 day", strtotime($date)));
}
// $presta_Hduree /= 60 ;
// echo "=ddddfyyyy===> $presta_Hduree <br/>" ;
// echo '<pre>';
// print_r($data);
// echo '</pre>';
/*
exit() ;
// echo "===> rr <br/>" ;
$id=0;
$p=array();
$db=debutsem(date('Y', strtotime($from)),date('m', strtotime($from)),date('d', strtotime($from)));
$dbto=debutsem(date('Y', strtotime($to)),date('m', strtotime($to)),date('d', strtotime($to)));
echo " ---> $db /ssssss/ $and <br/> ";
$fin=date('Ymd',int2time($dbto)+6*24*3600 );
while($db < $fin )
{
$and = date('Ymd',int2time($db)+6*24*3600 );
$presta_jour1 = array('nynnnnn' => '1', 'nnynnnn' => '2', 'nnnynnn' => '3', 'nnnnynn' => '4', 'nnnnnyn' => '5', 'nnnnnny' => '6', 'ynnnnnn' => '0') ;
$presta_jour2 = array('1' => 'nynnnnn', '2' => 'nnynnnn', '3' => 'nnnynnn', '4' => 'nnnnynn', '5' => 'nnnnnyn', '6' => 'nnnnnny', '0' => 'ynnnnnn') ;
$q2 = dbi_query("SELECT p.* FROM PRESTATIONS p, client c WHERE p.client_id=c.client_id AND ((presta_date_debut <= $db) OR (presta_jour = 'nnnnnnn' OR presta_jour is NULL)) AND presta_date_debut < $and AND (p.presta_date_fin >= $db OR p.presta_date_fin >= $and OR p.presta_date_fin IS NULL) ");
// $q2 = dbi_query("SELECT p.* FROM ".TABLE_PREST." p, ".TABLE_CLIENT." c WHERE p.client_id=c.client_id and p.agence_id=$agence AND presta_date_debut <= $and AND (p.presta_date_fin >= $db OR p.presta_date_fin IS NULL) ");
// $q2 = dbi_query("SELECT * FROM ".TABLE_PREST." p where p.client_id=".$clien['client_id']." AND p.agence_id=$agence AND presta_date_debut < $to AND (p.presta_date_fin >= $from OR p.presta_date_fin >= $to OR p.presta_date_fin IS NULL) ");
while($prest = dbi_fetch_row($q2))
{
if($prest['presta_jour']== 'nnnnnnn' || $prest['presta_jour']== '' || $prest['presta_jour']== NULL )
$prest['presta_jour']=$presta_jour2[date("w",strtotime($prest['presta_date_fin']))];
// echo "===============FFFFFFFFFFF===>".$prest['presta_jour']."<br/>" ;
$data = array('jour' => $prest['presta_jour'], 'deb' => $prest['presta_Hdeb'], 'duree' => $prest['presta_Hduree'], 'inter' => $prest['salarie_id'], 'taux' => $prest['presta_forfait']) ;
// $q1 = dbi_query("SELECT * FROM ".TABLE_PRESTA_MODIF." WHERE presta_id = ".$prest['presta_id']." order by `start`, `date`") ;
$q1 = dbi_query("SELECT * FROM PRESTATIONS_MODIF WHERE presta_id = ".$prest['presta_id']." AND start <= $and order by `start`, `date`") ;
// echo " ---> $db - KKKKK OOOPPPPP - $and <br/> ";
// echo $prest['presta_jour'].' !! ';
while (($m = dbi_fetch_row($q1)) )
{
$jour = $m['presta_jour'] === NULL ? $data['jour'] : $m['presta_jour'] ;
$date=jour_jouren2($jour,$db);
if($date>=$m['start']) {
// if($m['start'] <= $to)
// {
$data['jour'] = $m['jour'] === NULL ? $data['jour'] : $m['jour'] ;
$data['deb'] = $m['Hdeb'] === NULL ? $data['deb'] : $m['Hdeb'] ;
$data['duree'] = $m['presta_Hduree'] === NULL ? $data['duree'] : $m['presta_Hduree'] ;
$data['inter'] = $m['salarie_id'] === NULL ? $data['inter'] : $m['salarie_id'] ;
$data['taux'] = $m['taux'] === NULL ? $data['taux'] : $m['taux'] ;
}
}
$jour=$data['jour'];
if ($data['inter']==$interdispo)
{
$heurefin=addDuree($data['deb'],$data['duree']);
$qexcept=dbi_query("SELECT * FROM ".TABLE_EXCEPT." WHERE (date BETWEEN ".$db." AND ".$and.") AND presta_id=".$prest['presta_id']." ");
if($rr = dbi_fetch_row($qexcept)){
}
else{
if (in_array($prest['client_id'], $CLIENTS))
{
echo "!kk! ".$jour." / $db !! <br/>";
$presta=array("presta_id" => $prest['presta_id'],"presta_desc" => $prest['presta_desc'] , "presta_date_debut" => $prest['presta_date_debut'] , "presta_Hdeb" => $data['deb'] , "presta_Hduree" => $data['duree'] , "presta_recur" => $prest['presta_recur'] , "presta_date_fin" => $prest['presta_date_fin'] , "presta_jour" => $jour , "presta_forfait" => $prest['presta_jour'] , "presta_forfaitHT" => $prest['presta_forfaitHT'], "presta_status" => $prest['presta_status'] , "presta_sem" => $prest['presta_sem'] , "client_id" => $prest['client_id'] , "inter_id" => $data['inter'] , "agence_id" => $prest['agence_id'], "date" => jour_jouren2($jour,$db));
$p[$id]= $presta;
++$id;
}
}
}
}
$db = time2int(add_day(int2time($db),7) );
}*/
return $data;
}
$salarie_contrat_date_debut = "20210308" ;
$salarie_contrat_date_fin = "20220308" ;
$salarie_id = 2543 ;
$pre=get_prest_sem( $salarie_id ,$salarie_contrat_date_debut,$salarie_contrat_date_fin ,47,$CLIENTS);
echo '<pre>';
print_r($pre);
echo '</pre>' ;
?>