Subversion Repositories Applications.gtt

Compare Revisions

Ignore whitespace Rev 105 → Rev 106

/trunk/actions/GttCtrlActionGestion.class.php
203,6 → 203,9
foreach ($tab_a as $A) {
if ($A->getIdAbsenceMotif() == $AM->getIdAbsenceMotif()) {
$num = $aso_jours[$A->getIdDateAbsence()];
if ($A->getDuree() < 0) {
$A->setDuree(0);
}
$aso_gestion['ab'][$AM->getIdAbsenceMotif()][$num] = $A->getDuree();
$aso_gestion['ab_total'][$num] += $A->getDuree();
$aso_gestion['totaux'][$num] += $A->getDuree();
260,7 → 263,7
// Initialisation de la variable pour la gestion des heures sup
$jours_w_semaine = array_flip(explode(',', GTT_SEMAINE_JOUR_W_NBRE));
foreach ($jours_w_semaine as $c => $v) {
$jours_w_semaine[$c] = array('act' => 0, 'pre' => 0);
$jours_w_semaine[$c] = array('act' => 0, 'pre' => 0, 'act_a' => 0, 'pre_a' => 0, 'mod' => false);
}
 
// Ajout ou Mise à jour des durées de travail
277,12 → 280,14
if ($TP->getIdDateTravail() == $aso_semaine[$jour_num]['mysql']) {
if ($TP->getIdProjet() == $projet_id) {
$bool_ajouter = false;
if (isset($jours_w_semaine[$jour_num])) {
$jours_w_semaine[$jour_num]['pre'] += $TP->getDuree();
}
$jours_w_semaine[$jour_num]['pre'] += $TP->getDuree();
$jours_w_semaine[$jour_num]['mod'] = true;
if ($TP->getDuree() != $nbr_heure) {
if (empty($nbr_heure)) {
$TP->supprimer();
// Une fois des données saisie dans un jour, on ne supprime pas la ligne mais
// on met la durée 0
$TP->setDuree(0);
$TP->modifier();
} else {
$TP->setDuree($nbr_heure);
$TP->modifier();
321,22 → 326,29
$AbsenceMotif->consulter(AbsenceMotif::GAM_ID, $ab_id, true);
 
foreach($tab_num_j as $num_j => $ab_duree) {
// Gestion des heures sup en fonction du type d'absence
if (isset($jours_w_semaine[$num_j])) {
$jours_w_semaine[$num_j]['act'] += $ab_duree;
if ($AbsenceMotif->getMarkHsDiminuer()) {
$jours_w_semaine[$num_j]['act_a'] += $ab_duree;
} else {
$jours_w_semaine[$num_j]['act'] += $ab_duree;
}
}
$bool_ajouter = true;
if (!empty($tab_a)) {
foreach ($tab_a as $A) {
if ($A->getIdDateAbsence() == $aso_semaine[$num_j]['mysql']) {
 
if ($A->getIdAbsenceMotif() == $ab_id) {
$bool_ajouter = false;
if (isset($jours_w_semaine[$num_j])) {
// Gestion des heures sup en fonction du type d'absence
if ($AbsenceMotif->getMarkHsDiminuer()) {
$jours_w_semaine[$num_j]['pre_a'] += $A->getDuree();
} else {
$jours_w_semaine[$num_j]['pre'] += $A->getDuree();
$jours_w_semaine[$num_j]['mod'] = true;
}
if ($A->getDuree() != $ab_duree) {
if (empty($ab_duree)) {
$A->supprimer();
if ($AbsenceMotif->getMarkCpDiminuer()) {
$cp_h_modif -= $A->getDuree();
}
343,6 → 355,10
if ($AbsenceMotif->getMarkHsDiminuer()) {
$hs_h_modif -= $A->getDuree();
}
// Une fois des données saisie dans un jour, on ne supprime pas la ligne mais
// on met la durée 0
$A->setDuree(0);
$A->modifier();
} else {
$ab_duree_tmp = $A->getDuree();
$A->setDuree($ab_duree);
381,13 → 397,14
$Utilisateur->diminuerCongesPayes($cp_h_modif);
}
if ($cp_h_modif < 0) {
$Utilisateur->augmenterCongesPayes(abs($cp_h_modif));
$Utilisateur->augmenterCongesPayes($cp_h_modif);
}
// Gestion de la mise à jour des heures sup
if ($hs_h_modif > 0) {
$Utilisateur->diminuerQuotaHeuresSup($hs_h_modif);
}
if ($hs_h_modif < 0) {
$Utilisateur->augmenterQuotaHeuresSup(abs($hs_h_modif));
$Utilisateur->augmenterQuotaHeuresSup($hs_h_modif);
}
$Utilisateur->modifier();
}
394,29 → 411,27
 
// Gestion de la mise à jour des heures sup
foreach ($jours_w_semaine as $c => $j) {
if (($j['pre'] - $j['act']) != 0) {// Modification sur le temps travaillé pour le jour courant
$heure_sup_pre = $j['pre'] - $tps_w_jour;// -7 = 0 - 7
$heure_sup_act = $j['act'] - $tps_w_jour;// -5 = 2 - 7
$heure_sup_dif = $heure_sup_act - $heure_sup_pre;// 2 = -5 - -7
if (abs($heure_sup_pre) == $tps_w_jour) {// Premiere modifier du temps travaillé pour le jour courrant
if (($j['pre'] != 0 || $j['act'] != 0) ) {// Modification sur le temps travaillé pour le jour courant
$heure_sup_pre = $j['pre'] - ($tps_w_jour - $j['pre_a']);// -7 = 0 - 7
$heure_sup_act = $j['act'] - ($tps_w_jour - $j['act_a']);// -5 = 2 - 7
$heure_sup_dif = $heure_sup_act - $heure_sup_pre ;// 2 = -5 - -7
if ($j['mod'] == false) {// Première fois que l'on modifie le jour
if ($heure_sup_act < 0) {
$Utilisateur->diminuerQuotaHeuresSup(abs($heure_sup_act));
$Utilisateur->diminuerQuotaHeuresSup($heure_sup_act);
}
if ($heure_sup_act > 0) {
$Utilisateur->augmenterQuotaHeuresSup($heure_sup_act);
}
} else {
}
} else {// Les heures sup ont déjà été comptabilisées
if ($heure_sup_dif < 0) {
$Utilisateur->diminuerQuotaHeuresSup(abs($heure_sup_dif));
$Utilisateur->diminuerQuotaHeuresSup($heure_sup_dif);
}
if ($heure_sup_dif > 0) {
$Utilisateur->augmenterQuotaHeuresSup($heure_sup_dif);
}
}
}
}
}
trigger_error(print_r($jours_w_semaine, true), E_USER_NOTICE);//$heure_sup_pre.'/'.$heure_sup_act.'-'.$total_jours
$Utilisateur->modifier();
 
// Mise à jour de la vue Identité pour les congés payés et RTT
/trunk/presentation/gestion.tpl.html
4,65 → 4,68
</div>
<div id="calendrier_gestion" class="calendrier">
<?php if ($bool_projets) : ?>
<form id="gestion" name="gestion" action="<?=$url_gestion_valider;?>" method="post">
<table id="tab_gestion">
<caption>
<a href="<?=$url_semaine_precedente;?>">&lt;&lt;</a>
<?=$sj_1['jour'];?> <?=$sj_1['mois'];?> <?=$sj_1['annee'];?> au <?=$sj_7['jour'];?> <?=$sj_7['mois'];?> <?=$sj_7['annee'];?>
<a href="<?=$url_semaine_suivante;?>">&gt;&gt;</a>
</caption>
<thead>
<tr>
<th>Projets</th>
<?php foreach ($elements[$s] as $jour) : ?>
<th class="<?=$jour['class'];?>">
<?=$jour['jour_nom'];?> <?=$jour['jour'];?>
</th>
<?php endforeach; ?>
</tr>
</thead>
<tbody>
<?php if ($bool_projets) : ?>
<?foreach ($preferences as $categorie => $projets):?>
<tr><td colspan="8" class="categorie"><?=$categorie;?></td></tr>
<?foreach ($projets as $projet):?>
<tr>
<td class="projet"><?=$projet['nom'];?></td>
<?php foreach ($elements[$s] as $num => $jour) : ?>
<td class="<?=$jour['class'];?>"><input id="pr:<?=$projet['id'];?>:<?=$num;?>" name="pr:<?=$projet['id'];?>:<?=$num;?>" value="<?=$projet['date'][$num];?>" type="text"/></td>
<form id="gestion" name="gestion" action="<?=$url_gestion_valider;?>" method="post">
<table id="tab_gestion">
<caption>
<a href="<?=$url_semaine_precedente;?>">&lt;&lt;</a>
<?=$sj_1['jour'];?> <?=$sj_1['mois'];?> <?=$sj_1['annee'];?> au <?=$sj_7['jour'];?> <?=$sj_7['mois'];?> <?=$sj_7['annee'];?>
<a href="<?=$url_semaine_suivante;?>">&gt;&gt;</a>
</caption>
<thead>
<tr>
<th>Projets</th>
<?php foreach ($elements[$s] as $jour) : ?>
<th class="<?=$jour['class'];?>">
<?=$jour['jour_nom'];?> <?=$jour['jour'];?>
</th>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
<tr><td class="total_titre">Totaux</td>
<?php foreach ($elements[$s] as $num => $jour) : ?>
<td class="categorie_total"><?=$categorie_totaux[$categorie][$num];?></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
<? endif;?>
<tr><td colspan="8" class="categorie">Absences</td></tr>
<?php foreach ($ab as $ab_id => $tab_ab_jours) : ?>
<tr><td class="absence_titre"><?=$ab_libelle[$ab_id];?></td>
<?php foreach ($elements[$s] as $num => $jour) : ?>
<td class="ab <?=$jour['class'];?>"><input id="ab:<?=$ab_id;?>:<?=$num;?>" name="ab:<?=$ab_id;?>:<?=$num;?>" value="<?=$tab_ab_jours[$num];?>" type="text"/></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
<tr><td class="total_titre">Totaux</td>
<?php foreach ($elements[$s] as $num => $jour) : ?>
<td class="categorie_total"><?=$ab_total[$num];?></td>
<?php endforeach; ?>
</tr>
<tr><td class="totaux_titre">Totaux journée</td>
<?php foreach ($elements[$s] as $num => $jour) : ?>
<td class="totaux"><?=$totaux[$num];?></td>
<?php endforeach; ?>
</tr>
</tbody>
</table>
<input id="btn_valider" name="btn_valider" value="<?=$i18n_general_valider;?>" type="submit" />
</form>
</tr>
</thead>
<tbody>
<?php if ($bool_projets) : ?>
<?foreach ($preferences as $categorie => $projets):?>
<tr>
<td class="categorie"><?=$categorie;?></td>
<?php foreach ($elements[$s] as $num => $jour) : ?>
<td class="categorie_total"><?=$categorie_totaux[$categorie][$num];?></td>
<?php endforeach; ?>
</tr>
<?foreach ($projets as $projet):?>
<tr>
<td class="projet"><?=$projet['nom'];?></td>
<?php foreach ($elements[$s] as $num => $jour) : ?>
<td class="<?=$jour['class'];?>"><input id="pr:<?=$projet['id'];?>:<?=$num;?>" name="pr:<?=$projet['id'];?>:<?=$num;?>" value="<?=$projet['date'][$num];?>" type="text"/></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
<?php endforeach; ?>
<? endif;?>
<tr>
<td class="categorie">Absences</td>
<?php foreach ($elements[$s] as $num => $jour) : ?>
<td class="categorie_total"><?=$ab_total[$num];?></td>
<?php endforeach; ?>
</tr>
<?php foreach ($ab as $ab_id => $tab_ab_jours) : ?>
<tr>
<td class="absence_titre"><?=$ab_libelle[$ab_id];?></td>
<?php foreach ($elements[$s] as $num => $jour) : ?>
<td class="ab <?=$jour['class'];?>"><input id="ab:<?=$ab_id;?>:<?=$num;?>" name="ab:<?=$ab_id;?>:<?=$num;?>" value="<?=$tab_ab_jours[$num];?>" type="text"/></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
<tr>
<td class="totaux_titre">Totaux journée</td>
<?php foreach ($elements[$s] as $num => $jour) : ?>
<td class="totaux"><?=$totaux[$num];?></td>
<?php endforeach; ?>
</tr>
</tbody>
</table>
<input id="btn_valider" name="btn_valider" value="<?=$i18n_general_valider;?>" type="submit" />
</form>
<?php else : ?>
<p class="information">Veuillez sélectionner des projets via le menu "Gestion de mes projets".</p>
<p class="information">Veuillez sélectionner des projets via le menu "Gestion de mes projets".</p>
<? endif;?>
</div>