From 0afd27e3c245617ddc2fdfeef1c36fb36f23871f Mon Sep 17 00:00:00 2001
From: Maxime Kohlhaas <maxime@atm-consulting.fr>
Date: Fri, 7 Aug 2015 13:29:11 +0200
Subject: [PATCH] New : % of evolution on stats

---
 htdocs/comm/propal/stats/index.php    | 6 ++++++
 htdocs/commande/stats/index.php       | 6 ++++++
 htdocs/compta/facture/stats/index.php | 6 ++++++
 htdocs/core/class/stats.class.php     | 3 +++
 4 files changed, 21 insertions(+)

diff --git a/htdocs/comm/propal/stats/index.php b/htdocs/comm/propal/stats/index.php
index 898f228fdb2..2622a6c239f 100644
--- a/htdocs/comm/propal/stats/index.php
+++ b/htdocs/comm/propal/stats/index.php
@@ -266,8 +266,11 @@ print '<table class="border" width="100%">';
 print '<tr height="24">';
 print '<td align="center">'.$langs->trans("Year").'</td>';
 print '<td align="center">'.$langs->trans("NbOfProposals").'</td>';
+print '<td align="center">%</td>';
 print '<td align="center">'.$langs->trans("AmountTotal").'</td>';
+print '<td align="center">%</td>';
 print '<td align="center">'.$langs->trans("AmountAverage").'</td>';
+print '<td align="center">%</td>';
 print '</tr>';
 
 $oldyear=0;
@@ -287,8 +290,11 @@ foreach ($data as $val)
     print '<tr height="24">';
     print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?year='.$year.($socid>0?'&socid='.$socid:'').($userid>0?'&userid='.$userid:'').'">'.$year.'</a></td>';
     print '<td align="right">'.$val['nb'].'</td>';
+	print '<td align="right" style="'.(($val['nb_diff'] >= 0) ? 'color: green;':'color: red;').'">'.round($val['nb_diff']).'</td>';
     print '<td align="right">'.price(price2num($val['total'],'MT'),1).'</td>';
+	print '<td align="right" style="'.(($val['total_diff'] >= 0) ? 'color: green;':'color: red;').'">'.round($val['total_diff']).'</td>';
     print '<td align="right">'.price(price2num($val['avg'],'MT'),1).'</td>';
+	print '<td align="right" style="'.(($val['avg_diff'] >= 0) ? 'color: green;':'color: red;').'">'.round($val['avg_diff']).'</td>';
     print '</tr>';
     $oldyear=$year;
 }
diff --git a/htdocs/commande/stats/index.php b/htdocs/commande/stats/index.php
index 71558be0e57..fd384524597 100644
--- a/htdocs/commande/stats/index.php
+++ b/htdocs/commande/stats/index.php
@@ -279,8 +279,11 @@ print '<table class="border" width="100%">';
 print '<tr height="24">';
 print '<td align="center">'.$langs->trans("Year").'</td>';
 print '<td align="center">'.$langs->trans("NbOfOrders").'</td>';
+print '<td align="center">%</td>';
 print '<td align="center">'.$langs->trans("AmountTotal").'</td>';
+print '<td align="center">%</td>';
 print '<td align="center">'.$langs->trans("AmountAverage").'</td>';
+print '<td align="center">%</td>';
 print '</tr>';
 
 $oldyear=0;
@@ -302,8 +305,11 @@ foreach ($data as $val)
 	print '<tr height="24">';
 	print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&amp;mode='.$mode.($socid>0?'&socid='.$socid:'').($userid>0?'&userid='.$userid:'').'">'.$year.'</a></td>';
 	print '<td align="right">'.$val['nb'].'</td>';
+	print '<td align="right" style="'.(($val['nb_diff'] >= 0) ? 'color: green;':'color: red;').'">'.round($val['nb_diff']).'</td>';
 	print '<td align="right">'.price(price2num($val['total'],'MT'),1).'</td>';
+	print '<td align="right" style="'.(($val['total_diff'] >= 0) ? 'color: green;':'color: red;').'">'.round($val['total_diff']).'</td>';
 	print '<td align="right">'.price(price2num($val['avg'],'MT'),1).'</td>';
+	print '<td align="right" style="'.(($val['avg_diff'] >= 0) ? 'color: green;':'color: red;').'">'.round($val['avg_diff']).'</td>';
 	print '</tr>';
 	$oldyear=$year;
 }
diff --git a/htdocs/compta/facture/stats/index.php b/htdocs/compta/facture/stats/index.php
index 4eeea76abc0..afd17ed2f17 100644
--- a/htdocs/compta/facture/stats/index.php
+++ b/htdocs/compta/facture/stats/index.php
@@ -263,8 +263,11 @@ print '<table class="border" width="100%">';
 print '<tr height="24">';
 print '<td align="center">'.$langs->trans("Year").'</td>';
 print '<td align="center">'.$langs->trans("NumberOfBills").'</td>';
+print '<td align="center">%</td>';
 print '<td align="center">'.$langs->trans("AmountTotal").'</td>';
+print '<td align="center">%</td>';
 print '<td align="center">'.$langs->trans("AmountAverage").'</td>';
+print '<td align="center">%</td>';
 print '</tr>';
 
 $oldyear=0;
@@ -284,8 +287,11 @@ foreach ($data as $val)
 	print '<tr height="24">';
 	print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&amp;mode='.$mode.($socid>0?'&socid='.$socid:'').($userid>0?'&userid='.$userid:'').'">'.$year.'</a></td>';
 	print '<td align="right">'.$val['nb'].'</td>';
+	print '<td align="right" style="'.(($val['nb_diff'] >= 0) ? 'color: green;':'color: red;').'">'.round($val['nb_diff']).'</td>';
 	print '<td align="right">'.price(price2num($val['total'],'MT'),1).'</td>';
+	print '<td align="right" style="'.(($val['total_diff'] >= 0) ? 'color: green;':'color: red;').'">'.round($val['total_diff']).'</td>';
 	print '<td align="right">'.price(price2num($val['avg'],'MT'),1).'</td>';
+	print '<td align="right" style="'.(($val['avg_diff'] >= 0) ? 'color: green;':'color: red;').'">'.round($val['avg_diff']).'</td>';
 	print '</tr>';
 	$oldyear=$year;
 }
diff --git a/htdocs/core/class/stats.class.php b/htdocs/core/class/stats.class.php
index 9a459f33e41..8ef77f3d282 100644
--- a/htdocs/core/class/stats.class.php
+++ b/htdocs/core/class/stats.class.php
@@ -383,8 +383,11 @@ abstract class Stats
 				$row = $this->db->fetch_object($resql);
 				$result[$i]['year'] = $row->year;
 				$result[$i]['nb'] = $row->nb;
+				if($i>0) $result[$i-1]['nb_diff'] = ($result[$i-1]['nb'] - $row->nb) / $row->nb * 100;
 				$result[$i]['total'] = $row->total;
+				if($i>0) $result[$i-1]['total_diff'] = ($result[$i-1]['total'] - $row->total) / $row->total * 100;
 				$result[$i]['avg'] = $row->avg;
+				if($i>0) $result[$i-1]['avg_diff'] = ($result[$i-1]['avg'] - $row->avg) / $row->avg * 100;
 				$i++;
 			}
 			$this->db->free($resql);
-- 
GitLab