/trunk/presentation/admin_projet.tpl.html |
---|
64,10 → 64,10 |
<label for="praj_duree_finance">Durée financée (en jour) :</label> |
<input size="30" id="praj_duree_finance" name="praj_duree_finance" type="text" value="<?=$Projet->getDureeFinance();?>"/> |
</li> |
<li> |
<!--<li> |
<label for="praj_avancement">Avancement (en %) :</label> |
<input size="10" id="praj_avancement" name="praj_avancement" type="text" value="<?=$Projet->getAvancement();?>"/> |
</li> |
</li>--> |
<li> |
<input name="praj_id_projet" type="hidden" value="<?=$Projet->getIdProjet();?>"/> |
<input id="<?=$form_bouton_id;?>" name="<?=$form_bouton_id;?>" value="<?=$form_bouton_value;?>" type="submit" /> |
/trunk/presentation/styles/disposition.css |
---|
13,7 → 13,7 |
padding-right:5px; |
min-width:150px;} |
/* Disposition des éléments sur la page */ |
/* Disposition des �l�ments sur la page */ |
#zone_entete { |
height:75px;} |
#zone_conteneur { |
52,7 → 52,7 |
#zone_menu{ |
padding:0 0 0 5px;} |
/* Détails */ |
/* D�tails */ |
#gestion input {width:80px;} |
#gestion #btn_valider,.btn_large{ |
width:50%; |
75,4 → 75,24 |
.editer li{ |
display:block; |
float:left; |
margin:0 0 0 5px} |
margin:0 0 0 5px} |
/* codes couleurs */ |
.bg-alerte { |
background-color: #F3B04E; |
} |
/* barre d'avancement */ |
.barre-avancement-ext { |
display: inline-block; |
height: 10px; |
width: 100px; |
border: solid #ddd 1px; |
background-color: white; |
text-align: left; |
} |
.barre-avancement-int { |
height: 10px; |
background-color: #409F40; |
} |
/trunk/presentation/preferences.tpl.html |
---|
15,14 → 15,15 |
<th>Description</th> |
<th>Date début</th> |
<th>Date fin</th> |
<th>Durée prévue</th> |
<th>Durée financée</th> |
<th>Durée prévue (j)</th> |
<th>Durée financée (j)</th> |
<th>Avancement (j)</th> |
<th>Avancement (%)</th> |
</tr> |
</thead> |
<tbody> |
<?php foreach ($preferences as $categorie => $projets):?> |
<tr class="categories"><th colspan="8"><?=$categorie;?></th></tr> |
<tr class="categories"><th colspan="9"><?=$categorie;?></th></tr> |
<?php $ligne = "impair"; ?> |
<?php foreach ($projets as $projet):?> |
<tr class="<?=$ligne ; $ligne = ($ligne == "impair") ? "pair" : "impair" ;?>"> |
33,22 → 34,48 |
<td class="pr_dafi"><?=($projet['dafi'] != '0000-00-00') ? $projet['dafi'] : ' ' ;?></td> |
<td class="pr_dupr"><?=(!empty($projet['dupr'])) ? $projet['dupr'] : ' ' ;?></td> |
<td class="pr_dufi"><?=(!empty($projet['dufi'])) ? $projet['dufi'] : ' ' ;?></td> |
<td class="pr_av"> |
<?php if (!empty($projet['av'])) : ?> |
<!-- colonne "avancement en jours" --> |
<?php |
// calculs utiles pour la suite |
$pourcentageEffectue = 0; |
$pourcentageEnTrop = 0; |
$joursEnTrop = $projet['avc'] - $projet['dupr']; |
if ($projet['dupr'] > 0) { |
$pourcentageEffectue = round(($projet['avc'] / $projet['dupr']) * 100); |
$pourcentageEnTrop = round((($joursEnTrop) / $projet['dupr']) * 100); |
} |
?> |
<?php if ($projet['avc'] > ($projet['dupr'] * 1.15)): ?> |
<!-- on dépasse de 15%, alerte ! --> |
<td class="pr_av_j bg-alerte" title="<?= $joursEnTrop ?> jours ont été accordés au delà des prévisions"> |
<?php else: ?> |
<td class="pr_av_j"> |
<?php endif; ?> |
<?= $projet['avc'] ?> / <?= $projet['dupr'] ?> |
</td> |
<!-- colonne "avancement en %" --> |
<td class="pr_av" title="<?= $pourcentageEffectue ?>%"> |
<div class="barre-avancement-ext"> |
<div class="barre-avancement-int" style="width:<?= min(100, $pourcentageEffectue) ?>px;"> |
</div> |
</div> |
<!--<?php if (!empty($projet['av'])) : ?> |
<img height="10" |
width="<?=$projet['av'];?>" |
title="<?=$projet['av'];?> %" |
width="<?=min(100, $projet['av']);?>" |
title="pipi <?=$projet['av'];?> %" |
src="presentation/images/pixels/avancement.png" |
style="cursor:crosshair;padding-right:<?=(100 - $projet['av']);?>px;border:1px solid #DDD;" |
style="cursor:help;padding-right:<?=(100 - $projet['av']);?>px;border:1px solid #DDD;" |
alt="<?=$projet['av'];?> %" /> |
<?php else : ?> |
<img height="10" |
width="100" |
style="cursor:crosshair;border:1px solid #DDD;" |
style="cursor:help;border:1px solid #DDD;" |
src="presentation/images/pixels/vide.png" |
title="<?=$projet['av'];?> %" |
title="caca <?=$projet['av'];?> %" |
alt="0 %" /> |
<?php endif; ?> |
<?php endif; ?>--> |
</td> |
</tr> |
<?php endforeach; ?> |
/trunk/bibliotheque/metier/Projet.class.php |
---|
191,6 → 191,29 |
$this->avancement = $a; |
} |
/** |
* Calcule l'avancement d'un projet en pourcentage, en fonction du nombre |
* d'heures déclaré et du nombre d'heures effectuées (tous utilisateurs |
* confondus) - @TODO devrait devenir une vue / être requêté au moment de |
* charger le projet |
*/ |
public function getAvancementCalcule() |
{ |
$avancementCalcule = null; |
$requete = "SELECT IFNULL(FLOOR(sum(gtp_duree) / 7), 0) as jours" |
. " FROM gtt_test_gestion_travail_projet" |
. " WHERE gtp_id_projet = " . $this->id_projet; |
$resultat = $GLOBALS['db']->query($requete); |
(DB::isError($resultat)) ? trigger_error(GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete), E_USER_ERROR) : '' ; |
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$avancementCalcule = $donnees['jours']; |
} |
return $avancementCalcule; |
} |
/*** Méthodes : */ |
/** |
/trunk/actions/GttCtrlActionPreferences.class.php |
---|
44,6 → 44,7 |
'dupr' => $Projet->getDureePrevue(), |
'dufi' => $Projet->getDureeFinance(), |
'av' => $Projet->getAvancement(), |
'avc' => $Projet->getAvancementCalcule(), // trop de la boulette ! |
'coche' => $coche); |
} |
ksort($aso_preferences['preferences']); |