Commit 5f149ade6fe7e2c0f068af36ff255109c61ab844

Authored by Etienne Pallier
1 parent 9849f8a7
Exists in master and in 1 other branch dev

Bugfix page statistique sur les matériels (conditions limites, division

par zéro quand année précédente nulle)

v5.3.9-3.7.9
Showing 3 changed files with 50 additions and 23 deletions   Show diff stats
@@ -631,6 +631,10 @@ Ne pas autoriser la commande via url si le bouton order est désactivé dans la @@ -631,6 +631,10 @@ Ne pas autoriser la commande via url si le bouton order est désactivé dans la
631 ======= CHANGES ======= 631 ======= CHANGES =======
632 632
633 ------- 633 -------
  634 +25/11/2021 v5.3.9-3.7.9
  635 + - (b) Bugfix page statistique sur les matériels (conditions limites, division par zéro quand année précédente nulle)
  636 +
  637 +-------
634 24/11/2021 v5.3.8-3.7.9 638 24/11/2021 v5.3.8-3.7.9
635 - (e) Nouvelle Amélioration (bugfix) de la présentation de la page de configuration des champs obligatoires 639 - (e) Nouvelle Amélioration (bugfix) de la présentation de la page de configuration des champs obligatoires
636 - (e) Amélioration de toutes les pages de config : pliées par défaut 640 - (e) Amélioration de toutes les pages de config : pliées par défaut
@@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes :
52 52
53 -------------------------------------------------------------------------------------------- 53 --------------------------------------------------------------------------------------------
54 54
55 -Date: 24/11/2021  
56 -Version: v5.3.8-3.7.9 55 +Date: 25/11/2021
  56 +Version: v5.3.9-3.7.9
57 57
58 58
59 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) 59 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes)
src/Template/Pages/stats.ctp
@@ -76,55 +76,78 @@ function displayEmptyLine() { @@ -76,55 +76,78 @@ function displayEmptyLine() {
76 </tr>"; 76 </tr>";
77 } 77 }
78 78
79 - 79 +// 100 * (current - prev) / prev
  80 +function computeEvolutionFromPrevToCurrent($prev,$current) {
  81 + $evol_from_year_prev = round ( 100 * ($current-$prev) / $prev );
  82 + if ($evol_from_year_prev >= 0) $evol_from_year_prev = '+'.$evol_from_year_prev;
  83 + return $evol_from_year_prev.'%';
  84 +}
80 //function displayStatsLine($title, $line, $suivis, $prets, $bold=false, $year_prev=null, $avg=null) { 85 //function displayStatsLine($title, $line, $suivis, $prets, $bold=false, $year_prev=null, $avg=null) {
81 -function displayStatsLine($title, $line, $is_bold=false, $year_prev=null, $avg=null) { 86 +function displayStatsLine($title, $line, $is_bold=false, $year_prev_tot=-1, $avg=-1) {
82 //debug($line); 87 //debug($line);
83 ?> 88 ?>
84 <tr> 89 <tr>
85 90
86 <!-- Titre --> 91 <!-- Titre -->
87 <td><b><?=$title?></b></td> 92 <td><b><?=$title?></b></td>
88 -  
89 - <!-- Evolution \N-1 et \avg --> 93 +
  94 + <?php
  95 + $year_curr_tot = $line['CREATED'];
  96 + ?>
  97 +
  98 + <!-- Evolution \ N-1 -->
90 <?php 99 <?php
91 - $total = $line['CREATED'];  
92 - $evol_from_year_prev = '/';  
93 - $evol_from_avg = '/';  
94 - if ($year_prev) {  
95 - $evol_from_year_prev = round (($total-$year_prev['CREATED'])/$year_prev['CREATED'] * 100);  
96 - if ($evol_from_year_prev>=0) $evol_from_year_prev = '+'.$evol_from_year_prev;  
97 - $evol_from_year_prev .= '%'; 100 + //$evol_from_year_prev = '/';
  101 + $evol_from_year_prev = $year_prev_tot>0 ? computeEvolutionFromPrevToCurrent($year_prev_tot, $year_curr_tot) : '/';
  102 + /* inutile, on fait pas des maths ici
  103 + // - Si prev = 0 => éviter division par zéro, résultat = +/- INFINI
  104 + if ($year_prev_tot==0) {
  105 + if ($year_curr_tot==0) $evol_from_year_prev = '+0';
  106 + else $evol_from_year_prev = $year_curr_tot>0 ? '+INF' : '-INF';
98 } 107 }
  108 + // - Si prev <> 0 => Cas nominal
  109 + else {
  110 + $evol_from_year_prev = round ( 100 * ($year_curr_tot-$year_prev_tot) / $year_prev_tot );
  111 + if ($evol_from_year_prev >= 0) $evol_from_year_prev = '+'.$evol_from_year_prev;
  112 + $evol_from_year_prev .= '%';
  113 + */
  114 + ?>
  115 + <td><?=$evol_from_year_prev?></td>
  116 +
  117 + <!-- Evolution \ moyenne -->
  118 + <?php
  119 + //$evol_from_avg = '/';
  120 + $evol_from_avg = $avg>0 ? computeEvolutionFromPrevToCurrent($avg, $year_curr_tot) : '/';
  121 + /*
99 if ($avg) { 122 if ($avg) {
100 - $evol_from_avg = round (($total-$avg['CREATED'])/$avg['CREATED'] * 100); 123 + $evol_from_avg = round (($year_curr_tot-$avg['CREATED'])/$avg['CREATED'] * 100);
101 if ($evol_from_avg>=0) $evol_from_avg = '+'.$evol_from_avg; 124 if ($evol_from_avg>=0) $evol_from_avg = '+'.$evol_from_avg;
102 $evol_from_avg .= '%'; 125 $evol_from_avg .= '%';
103 } 126 }
  127 + */
104 ?> 128 ?>
105 - <td><?=$evol_from_year_prev?></td>  
106 <td><?=$evol_from_avg?></td> 129 <td><?=$evol_from_avg?></td>
107 130
108 <!-- TOTAL --> 131 <!-- TOTAL -->
109 - <td><?=echoAsPctAndBold($total, null, $is_bold)?></td> 132 + <td><?=echoAsPctAndBold($year_curr_tot, null, $is_bold)?></td>
110 133
111 <!-- VALIDATED --> 134 <!-- VALIDATED -->
112 - <td><?=echoAsPctAndBold($line['VALIDATED'], $total, $is_bold)?></td> 135 + <td><?=echoAsPctAndBold($line['VALIDATED'], $year_curr_tot, $is_bold)?></td>
113 136
114 <!-- TBA --> 137 <!-- TBA -->
115 <!-- 138 <!--
116 <td><echoAsPctAndBold($line['TOBEARCHIVED'], null, $is_bold)></td> 139 <td><echoAsPctAndBold($line['TOBEARCHIVED'], null, $is_bold)></td>
117 --> 140 -->
118 - <td><?=echoAsPctAndBold($line['TOBEARCHIVED'], $total, $is_bold)?></td> 141 + <td><?=echoAsPctAndBold($line['TOBEARCHIVED'], $year_curr_tot, $is_bold)?></td>
119 142
120 <!-- ARCHIVED --> 143 <!-- ARCHIVED -->
121 - <td><?=echoAsPctAndBold($line['ARCHIVED'], $total, $is_bold)?></td> 144 + <td><?=echoAsPctAndBold($line['ARCHIVED'], $year_curr_tot, $is_bold)?></td>
122 145
123 <!-- SUIVIS --> 146 <!-- SUIVIS -->
124 - <td><?=echoAsPctAndBold($line['suivis'], $total, $is_bold)?></td> 147 + <td><?=echoAsPctAndBold($line['suivis'], $year_curr_tot, $is_bold)?></td>
125 148
126 <!-- EMPRUNTS --> 149 <!-- EMPRUNTS -->
127 - <td><?=echoAsPctAndBold($line['prets'], $total, $is_bold)?></td> 150 + <td><?=echoAsPctAndBold($line['prets'], $year_curr_tot, $is_bold)?></td>
128 151
129 </tr> 152 </tr>
130 <?php 153 <?php
@@ -279,8 +302,8 @@ echo $this-&gt;Form-&gt;end(); @@ -279,8 +302,8 @@ echo $this-&gt;Form-&gt;end();
279 $val = $years[$y]; 302 $val = $years[$y];
280 $year_title = $y; 303 $year_title = $y;
281 if ($y==$current_year) $year_title = "Année en cours ($y)"; 304 if ($y==$current_year) $year_title = "Année en cours ($y)";
282 - $year_prev = $y==$year_min ? null : $years[$y-1];  
283 - displayStatsLine($year_title, $val, false, $year_prev, $avg); 305 + $year_prev_tot = $y==$year_min ? -1 : $years[$y-1]['CREATED'];
  306 + displayStatsLine($year_title, $val, false, $year_prev_tot, $avg['CREATED']);
284 } 307 }
285 308
286 ?> 309 ?>