Subversion Repositories Applications.gtt

Rev

Rev 130 | Rev 159 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 130 Rev 135
Line 275... Line 275...
275
		$Utilisateur->setCongesPayes($GLOBALS['_GTT_']['Utilisateur']->getCongesPayes());
275
		$Utilisateur->setCongesPayes($GLOBALS['_GTT_']['Utilisateur']->getCongesPayes());
Line 276... Line 276...
276
 
276
 
277
		// Ajout ou Mise à jour des durées de travail
277
		// Ajout ou Mise à jour des durées de travail
278
		if (isset($_POST['pr'])) {
278
		if (isset($_POST['pr'])) {
279
			foreach($_POST['pr'] as $projet_id => $jours) {
-
 
280
				//echo '<pre>'.print_r($jours, true).'</pre>';
279
			foreach($_POST['pr'] as $projet_id => $jours) {
281
				foreach($jours as $jour_num => $nbr_heure) {
280
				foreach($jours as $jour_num => $nbr_heure) {
282
					if (isset($jours_w_semaine[$jour_num])) {
281
					if (isset($jours_w_semaine[$jour_num])) {
283
						$jours_w_semaine[$jour_num]['act'] += $nbr_heure;
282
						$jours_w_semaine[$jour_num]['act'] += $nbr_heure;
284
					}
283
					}
Line 346... Line 345...
346
					if (!empty($tab_a)) {
345
					if (!empty($tab_a)) {
347
						foreach ($tab_a as $A) {
346
						foreach ($tab_a as $A) {
348
							if ($A->getIdDateAbsence() == $aso_semaine[$num_j]['mysql']) {
347
							if ($A->getIdDateAbsence() == $aso_semaine[$num_j]['mysql']) {
349
								if ($A->getIdAbsenceMotif() == $ab_id) {
348
								if ($A->getIdAbsenceMotif() == $ab_id) {
350
									$bool_ajouter = false;
349
									$bool_ajouter = false;
-
 
350
									$jours_w_semaine[$num_j]['mod'] = true;
351
									// Gestion des heures sup en fonction du type d'absence
351
									// Gestion des heures sup en fonction du type d'absence
352
									if ($AbsenceMotif->getMarkHsDiminuer()) {
352
									if ($AbsenceMotif->getMarkHsDiminuer()) {
353
										$jours_w_semaine[$num_j]['pre_a'] += $A->getDuree();
353
										$jours_w_semaine[$num_j]['pre_a'] += $A->getDuree();
354
									} else {
354
									} else {
355
										$jours_w_semaine[$num_j]['pre'] += $A->getDuree();
355
										$jours_w_semaine[$num_j]['pre'] += $A->getDuree();
356
										$jours_w_semaine[$num_j]['mod'] = true;
-
 
357
									}
356
									}
358
									if ($A->getDuree() != $ab_duree) {
357
									if ($A->getDuree() != $ab_duree) {
359
										if (empty($ab_duree)) {
358
										if (empty($ab_duree)) {
360
											if ($AbsenceMotif->getMarkCpDiminuer()) {
359
											if ($AbsenceMotif->getMarkCpDiminuer()) {
361
												$cp_h_modif -= $A->getDuree();
-
 
362
											}
-
 
363
											if ($AbsenceMotif->getMarkHsDiminuer()) {
-
 
364
												$hs_h_modif -= $A->getDuree();
360
												$Utilisateur->augmenterCongesPayes($A->getDuree());
365
											}
361
											}
366
											// Une fois des données saisie dans un jour, on ne supprime pas la ligne mais
362
											// Une fois des données saisie dans un jour, on ne supprime pas la ligne mais
367
											// on met la durée 0
363
											// on met la durée 0
368
											$A->setDuree(0);
364
											$A->setDuree(0);
369
											$A->modifier();
365
											$A->modifier();
370
										} else {
366
										} else {
371
											$ab_duree_tmp = $A->getDuree();
367
											$ab_duree_tmp = $A->getDuree();
372
											$A->setDuree($ab_duree);
368
											$A->setDuree($ab_duree);
373
											$A->modifier();
369
											$A->modifier();
374
											if ($AbsenceMotif->getMarkCpDiminuer()) {
370
											if ($AbsenceMotif->getMarkCpDiminuer()) {
375
												$cp_h_modif -= $ab_duree_tmp - $ab_duree;
-
 
376
											}
-
 
377
											if ($AbsenceMotif->getMarkHsDiminuer()) {
-
 
378
												$hs_h_modif -= $ab_duree_tmp - $ab_duree;
371
												$Utilisateur->augmenterCongesPayes(($ab_duree_tmp - $ab_duree));
379
											}
372
											}
380
										}
373
										}
381
									}
374
									}
382
								}
375
								}
383
							}
376
							}
Line 389... Line 382...
389
						$A->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
382
						$A->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
390
						$A->setIdAbsenceMotif($ab_id);
383
						$A->setIdAbsenceMotif($ab_id);
391
						$A->setIdDateAbsence((string)$aso_semaine[$num_j]['mysql']);
384
						$A->setIdDateAbsence((string)$aso_semaine[$num_j]['mysql']);
392
						$A->ajouter();
385
						$A->ajouter();
393
						if ($AbsenceMotif->getMarkCpDiminuer()) {
386
						if ($AbsenceMotif->getMarkCpDiminuer()) {
394
							$cp_h_modif += $ab_duree;
-
 
395
						}
-
 
396
						if ($AbsenceMotif->getMarkHsDiminuer()) {
-
 
397
							$hs_h_modif += $ab_duree;
387
							$Utilisateur->diminuerCongesPayes($ab_duree);
398
						}
388
						}
399
					}
389
					}
400
				}
390
				}
401
			}
391
			}
402
			
-
 
403
			// Gestion de la mise à jour des congés payés
-
 
404
			if ($cp_h_modif > 0) {
-
 
405
				$Utilisateur->diminuerCongesPayes($cp_h_modif);
-
 
406
			}
-
 
407
			if ($cp_h_modif < 0) {
-
 
408
				$Utilisateur->augmenterCongesPayes($cp_h_modif);
-
 
409
			}
-
 
410
			// Gestion de la mise à jour des heures sup
-
 
411
			if ($hs_h_modif > 0) {
-
 
412
				$Utilisateur->diminuerQuotaHeuresSup($hs_h_modif);
-
 
413
			}
-
 
414
			if ($hs_h_modif < 0) {
-
 
415
				$Utilisateur->augmenterQuotaHeuresSup($hs_h_modif);
-
 
416
			}
-
 
417
			//$Utilisateur->modifier();
-
 
418
		}
392
		}
Line 419... Line 393...
419
 
393
 
420
		// Gestion de la mise à jour des heures sup
394
		// Gestion de la mise à jour des heures sup
-
 
395
		foreach ($jours_w_semaine as $c => $j) {
421
		foreach ($jours_w_semaine as $c => $j) {
396
			// Modifications existantes pour le jour courant
422
			if (($j['pre'] != 0 || $j['act'] != 0) ) {// Modification sur le temps travaillé pour le jour courant
397
			if (($j['pre'] != 0 || $j['act'] != 0) || ($j['act_a'] != 0 || $j['pre_a'] != 0)) {
423
				$heure_sup_pre = $j['pre'] - ($j['tdt'] - $j['pre_a']);// -7 = 0 - 7
398
				$heure_sup_pre = ($j['tdt'] - ($j['pre_a'] + $j['pre'])) + $j['pre_a'];
424
				$heure_sup_act = $j['act'] - ($j['tdt'] - $j['act_a']);// -5 = 2 - 7
399
				$heure_sup_act = ($j['tdt'] - ($j['act_a'] + $j['act'])) + $j['act_a'];
425
				$heure_sup_dif = $heure_sup_act - $heure_sup_pre ;// 2 =  -5 - -7  
400
				$heure_sup_dif = $heure_sup_act - $heure_sup_pre ;  
426
				if ($j['mod'] == false) {// Première fois que l'on modifie le jour
401
				if ($j['mod'] == false) {// Première fois que l'on modifie le jour
427
					if ($heure_sup_act < 0) {
402
					if ($heure_sup_act > 0) {
428
						$Utilisateur->diminuerQuotaHeuresSup($heure_sup_act);
403
						$Utilisateur->diminuerQuotaHeuresSup($heure_sup_act);
429
					}
404
					}
430
					if ($heure_sup_act > 0) {
405
					if ($heure_sup_act < 0) {
431
						$Utilisateur->augmenterQuotaHeuresSup($heure_sup_act);
406
						$Utilisateur->augmenterQuotaHeuresSup($heure_sup_act);
432
					}					
407
					}					
433
				} else  {// Les heures sup ont déjà été comptabilisées
408
				} else  {// Les heures sup ont déjà été comptabilisées
434
					if ($heure_sup_dif < 0) {
409
					if ($heure_sup_dif > 0) {
435
						$Utilisateur->diminuerQuotaHeuresSup($heure_sup_dif);
410
						$Utilisateur->diminuerQuotaHeuresSup($heure_sup_dif);
436
					}
411
					}
437
					if ($heure_sup_dif > 0) {
412
					if ($heure_sup_dif < 0) {
438
						$Utilisateur->augmenterQuotaHeuresSup($heure_sup_dif);
413
						$Utilisateur->augmenterQuotaHeuresSup($heure_sup_dif);
439
					}					
414
					}					
440
				}
415
				}
441
			}
416
			}