Subversion Repositories Applications.gtt

Rev

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

Rev 73 Rev 80
Line 256... Line 256...
256
		$tab_tp = $TravailProjet->consulter($cmd, $param);
256
		$tab_tp = $TravailProjet->consulter($cmd, $param);
257
		if ($tab_tp && count($tab_tp) == 1) {
257
		if ($tab_tp && count($tab_tp) == 1) {
258
			$tab_tp = array($tab_tp);
258
			$tab_tp = array($tab_tp);
259
		}
259
		}
Line -... Line 260...
-
 
260
 
-
 
261
		// Récupération des infos sur l'utilisateur courrant
-
 
262
		$tps_w_jour = $GLOBALS['_GTT_']['Utilisateur']->getTempsDeTravailJour();
260
 
263
 
261
		// Ajout ou Mise à jour des durées de travail
264
		// Ajout ou Mise à jour des durées de travail
-
 
265
		if (isset($_POST['pr'])) {
-
 
266
			$total_heure_act = 0;
-
 
267
			$total_heure_pre = 0;
-
 
268
			$total_jours = 0;
-
 
269
			$jours_w_semaine = array_flip(explode(',', GTT_SEMAINE_JOUR_W_NBRE));
-
 
270
			foreach ($jours_w_semaine as $c => $v) {
-
 
271
				$jours_w_semaine[$c] = array('act' => 0, 'pre' => 0);
262
		if (isset($_POST['pr'])) {
272
			}
263
			foreach($_POST['pr'] as $projet_id => $jours) {
273
			foreach($_POST['pr'] as $projet_id => $jours) {
264
				//echo '<pre>'.print_r($jours, true).'</pre>';
274
				//echo '<pre>'.print_r($jours, true).'</pre>';
-
 
275
				foreach($jours as $jour_num => $nbr_heure) {
-
 
276
					if (isset($jours_w_semaine[$jour_num])) {
-
 
277
						$jours_w_semaine[$jour_num]['act'] += $nbr_heure;
265
				foreach($jours as $jour_num => $nbr_heure) {
278
					}
266
					$bool_ajouter = true;
279
					$bool_ajouter = true;
267
					if (!empty($tab_tp)) {
280
					if (!empty($tab_tp)) {
268
						foreach ($tab_tp as $TP) {
281
						foreach ($tab_tp as $TP) {
269
							if ($TP->getIdDateTravail() == $aso_semaine[$jour_num]['mysql']) {
282
							if ($TP->getIdDateTravail() == $aso_semaine[$jour_num]['mysql']) {
270
								if ($TP->getIdProjet() == $projet_id) {
283
								if ($TP->getIdProjet() == $projet_id) {
-
 
284
									$bool_ajouter = false;
-
 
285
									if (isset($jours_w_semaine[$jour_num])) {
-
 
286
										$jours_w_semaine[$jour_num]['pre'] += $TP->getDuree();
271
									$bool_ajouter = false;
287
									}
272
									if ($TP->getDuree() != $nbr_heure) {
288
									if ($TP->getDuree() != $nbr_heure) {
273
										if (empty($nbr_heure)) {
289
										if (empty($nbr_heure)) {
274
											$TP->supprimer();
290
											$TP->supprimer();
275
										} else {
291
										} else {
Line 289... Line 305...
289
						$TP->setIdDateTravail((string)$aso_semaine[$jour_num]['mysql']);
305
						$TP->setIdDateTravail((string)$aso_semaine[$jour_num]['mysql']);
290
						$TP->ajouter();
306
						$TP->ajouter();
291
					}
307
					}
292
				}
308
				}
293
			}
309
			}
-
 
310
			// Gestion de la mise à jour des heures sup
-
 
311
			$Utilisateur = new Utilisateur();
-
 
312
			$Utilisateur->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
-
 
313
			$Utilisateur->setQuotaHeuresSupp($GLOBALS['_GTT_']['Utilisateur']->getQuotaHeuresSupp());
-
 
314
			$Utilisateur->setCongesPayes(null);
-
 
315
			$Utilisateur->setTempsDeTravailJour(null);
-
 
316
			$Utilisateur->setTempsDeTravailMois(null);
-
 
317
			$Utilisateur->setMarkAdmin(null);
-
 
318
			$Utilisateur->setMarkRecapitulatif(null);
-
 
319
			foreach ($jours_w_semaine as $c => $j) {
-
 
320
				if (($j['pre'] - $j['act']) != 0) {// Modification sur le temps travaillé pour le jour courant
-
 
321
					$heure_sup_pre = $j['pre'] - $tps_w_jour;// -7 = 0 - 7
-
 
322
					$heure_sup_act = $j['act'] - $tps_w_jour;// -5 = 2 - 7
-
 
323
					$heure_sup_dif = $heure_sup_act - $heure_sup_pre;// 2 = -5 - -7  
-
 
324
					if (abs($heure_sup_pre) == $tps_w_jour) {// Premiere modifier du temps travaillé pour le jour courrant
-
 
325
						if ($heure_sup_act < 0) {
-
 
326
							$Utilisateur->diminuerQuotaHeuresSup(abs($heure_sup_act));
-
 
327
						}
-
 
328
						if ($heure_sup_act > 0) {
-
 
329
							$Utilisateur->augmenterQuotaHeuresSup($heure_sup_act);
-
 
330
						}
-
 
331
					} else {
-
 
332
						if ($heure_sup_dif < 0) {
-
 
333
							$Utilisateur->diminuerQuotaHeuresSup(abs($heure_sup_dif));
-
 
334
						}
-
 
335
						if ($heure_sup_dif > 0) {
-
 
336
							$Utilisateur->augmenterQuotaHeuresSup($heure_sup_dif);
-
 
337
						}
-
 
338
					}
-
 
339
				}
-
 
340
			}
-
 
341
			
-
 
342
			
-
 
343
			trigger_error(print_r($jours_w_semaine, true), E_USER_NOTICE);//$heure_sup_pre.'/'.$heure_sup_act.'-'.$total_jours
-
 
344
			$Utilisateur->modifier();
294
		}
345
		}
Line 295... Line 346...
295
 
346
 
296
		// Récupération des absences pour un utilisateur à une date donnée
347
		// Récupération des absences pour un utilisateur à une date donnée
297
    	$Absence = new Absence();
348
    	$Absence = new Absence();
Line 301... Line 352...
301
		if ($tab_a && count($tab_a) == 1) {
352
		if ($tab_a && count($tab_a) == 1) {
302
			$tab_a = array($tab_a);
353
			$tab_a = array($tab_a);
303
		}
354
		}
Line 304... Line 355...
304
 
355
 
-
 
356
		// Ajout ou Mise à jour des durées d'absences pour congés payés
305
		// Ajout ou Mise à jour des durées d'absences pour congés payés
357
		$cp_h_modif = 0;
306
		if (isset($_POST['ab'])) {
358
		if (isset($_POST['ab'])) {
307
			//echo '<pre>'.print_r($_POST['ab'], true).'</pre>';
359
			//echo '<pre>'.print_r($_POST['ab'], true).'</pre>';
308
			foreach($_POST['ab'] as $ab_id => $tab_num_j) {
360
			foreach($_POST['ab'] as $ab_id => $tab_num_j) {
309
				foreach($tab_num_j as $num_j => $ab_duree) {
361
				foreach($tab_num_j as $num_j => $ab_duree) {
Line 316... Line 368...
316
									$bool_ajouter = false;
368
									$bool_ajouter = false;
Line 317... Line 369...
317
 
369
 
318
									if ($A->getDuree() != $ab_duree) {
370
									if ($A->getDuree() != $ab_duree) {
319
										if (empty($ab_duree)) {
371
										if (empty($ab_duree)) {
-
 
372
											$A->supprimer();
-
 
373
											if ($ab_id == GTT_ABSCENCE_ID_CP) {
-
 
374
												$cp_h_modif -= $A->getDuree();
320
											$A->supprimer();
375
											}
-
 
376
										} else {
321
										} else {
377
											$ab_duree_tmp = $A->getDuree();
322
											$A->setDuree($ab_duree);
378
											$A->setDuree($ab_duree);
-
 
379
											$A->modifier();
-
 
380
											if ($ab_id == GTT_ABSCENCE_ID_CP) {
-
 
381
												trigger_error('ici'.($ab_duree_tmp - $ab_duree), E_USER_NOTICE);
-
 
382
												$cp_h_modif -= $ab_duree_tmp - $ab_duree;
323
											$A->modifier();
383
											}
324
										}
384
										}
325
									}
385
									}
326
								}
386
								}
327
							}
387
							}
Line 332... Line 392...
332
						$A->setDuree((float)$ab_duree);
392
						$A->setDuree((float)$ab_duree);
333
						$A->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
393
						$A->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
334
						$A->setIdAbsenceMotif($ab_id);
394
						$A->setIdAbsenceMotif($ab_id);
335
						$A->setIdDateAbsence((string)$aso_semaine[$num_j]['mysql']);
395
						$A->setIdDateAbsence((string)$aso_semaine[$num_j]['mysql']);
336
						$A->ajouter();
396
						$A->ajouter();
-
 
397
						if ($ab_id == GTT_ABSCENCE_ID_CP) {
-
 
398
							$cp_h_modif += $ab_duree;
-
 
399
						}
337
					}
400
					}
338
				}
401
				}
339
			}
402
			}
-
 
403
			// Gestion de la mise à jour des heures sup
-
 
404
			$Utilisateur = new Utilisateur();
-
 
405
			$Utilisateur->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
-
 
406
			$Utilisateur->setQuotaHeuresSupp(null);
-
 
407
			$Utilisateur->setCongesPayes($GLOBALS['_GTT_']['Utilisateur']->getCongesPayes());
-
 
408
			$Utilisateur->setTempsDeTravailJour(null);
-
 
409
			$Utilisateur->setTempsDeTravailMois(null);
-
 
410
			$Utilisateur->setMarkAdmin(null);
-
 
411
			$Utilisateur->setMarkRecapitulatif(null);
-
 
412
			trigger_error($cp_h_modif, E_USER_NOTICE);
-
 
413
			if ($cp_h_modif > 0) {
-
 
414
				$Utilisateur->diminuerCongesPayes($cp_h_modif);
-
 
415
			}
-
 
416
			if ($cp_h_modif < 0) {
-
 
417
				$Utilisateur->augmenterCongesPayes(abs($cp_h_modif));
-
 
418
			}
-
 
419
			
-
 
420
			$Utilisateur->modifier();
340
		}
421
		}
Line -... Line 422...
-
 
422
 
-
 
423
		// Mise à jour de la vue Identité pour les congés payés et RTT
-
 
424
		$GttCtrlActionIdentification = new GttCtrlActionIdentification($this->getRegistre());
-
 
425
		$GttCtrlActionIdentification->setSuivant('__defaut__');
-
 
426
		$this->setSuivant($GttCtrlActionIdentification);
341
 
427
 
342
    	// Action suivante
428
    	// Action suivante
343
    	$this->setSuivant('__defaut__');
429
    	$this->setSuivant('__defaut__');
344
    }
430
    }
345
}
431
}
346
?>
432
?>