<?php\r
+\r
class extranetPageChiffres {\r
- public static function listeCharges()\r
- {\r
+\r
+ public static function listeCharges() {\r
$range = array();\r
$y = cubeDate::limitYear();\r
$m = cubeDate::limitMonth();\r
$calendar = new cubeGoogleCalendar('hqf7e244bjej459rj3qco770tc', 'contact@cubedesigners.com', 'valparaiso');\r
$events = $calendar->getEvents(array($y['start'], $m['end']), '', 0);\r
$e = array();\r
- foreach($events as $event) {\r
- foreach($event->when as $when) {\r
+ foreach ($events as $event) {\r
+ foreach ($event->when as $when) {\r
$date = new DateTime($when->starttime);\r
break;\r
}\r
return $e;\r
}\r
\r
- public static function getCharges()\r
- {\r
+ public static function getCharges() {\r
$events = self::listeCharges();\r
$total = 0;\r
- foreach($events as $event) {\r
+ foreach ($events as $event) {\r
$total += floatval($event['montant']);\r
}\r
return $total;\r
}\r
\r
- public static function chargesDetails()\r
- {\r
+ public static function chargesDetails() {\r
global $core;\r
$events = self::listeCharges();\r
$i = 0;\r
$total = 0;\r
$res = '';\r
- foreach($events as $event) {\r
+ foreach ($events as $event) {\r
$total += $event['montant'];\r
- $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+ $odd = cubeMath::isOdd($i) ? ' class="odd"' : '';\r
$res .= '<tr' . $odd . '><td>' . $event['title'] . '</td><td>' . $event['date'] . '</td><td>' . self::format($event['montant']) . '</td></tr>';\r
$i++;\r
}\r
- $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+ $odd = cubeMath::isOdd($i) ? ' class="odd"' : '';\r
$res .= '<tr' . $odd . '><td><strong>' . __('Total') . '</strong></td><td><strong>' . date('Y') . '</strong></td><td><strong>' . self::format($total) . '</strong></td></tr>';\r
return $res;\r
}\r
\r
- public static function listeChiffres()\r
- {\r
+ public static function listeChiffres() {\r
global $core;\r
commonDroits::min(2);\r
$res = self::chiffresAnnee($encours);\r
$res .= self::caGlobal($chiffres, $total, $encours);\r
+ $res.=self::caTrimestre();\r
+ $res.=self::caMensuel();\r
$res .= self::caCategorie($chiffres, $total);\r
$res .= self::caWorkRate($chiffres, $total);\r
return $res;\r
}\r
\r
- public static function chiffresAnnee(&$encours)\r
- {\r
+ public static function chiffresAnnee(&$encours) {\r
global $core;\r
// $charges_payees = self::getCharges();\r
$r = $core->con->select('SELECT SUM(montant_facture) AS total_factures FROM projets_vue');\r
return $res;\r
}\r
\r
- public static function caGlobal(&$chiffres, &$total, $encours)\r
- {\r
+ public static function caGlobal(&$chiffres, &$total, $encours) {\r
global $core;\r
// Chiffres globaux\r
$r = $core->con->select('SELECT * FROM ca ORDER BY annee ASC');\r
$res .= self::caChart($chiffres, $encours);\r
$res .= '</td></tr>';\r
$res .= '<tr><th><strong>' . __("Chiffre d'affaire annuel") . '</strong></th>';\r
- foreach($chiffres as $annee => $ca) {\r
+ foreach ($chiffres as $annee => $ca) {\r
$res .= '<th>' . $annee . '</th>';\r
}\r
$res .= '<th><em>' . __('Total') . '</em></th>';\r
\r
$res .= '<tr><td></td>';\r
$total = 0;\r
- foreach($chiffres as $annee => $ca) {\r
+ foreach ($chiffres as $annee => $ca) {\r
$res .= '<td>' . self::format($ca) . '</td>';\r
$total += $ca;\r
}\r
return $res;\r
}\r
\r
- public static function caCategorie($chiffres, $total)\r
- {\r
+ public static function caTrimestre() {\r
+ global $core;\r
+ // Chiffres globaux\r
+ $r = $core->con->select('SELECT * FROM cat ORDER BY trimestre DESC');\r
+ $chiffres = array();\r
+ while ($r->fetch()) {\r
+ list($annee, $trimestre) = explode('-', $r->trimestre);\r
+ if ($annee < 2009) {\r
+ continue;\r
+ }\r
+ if (!isset($chiffres[$annee])) {\r
+ $chiffres[$annee] = array(1 => 0, 2 => 0, 3 => 0, 4 => 0);\r
+ }\r
+ $chiffres[$annee][$trimestre] = $r->ca;\r
+ }\r
+\r
+\r
+ $res = commonPage::bh();\r
+ $res .= '<table class="liste">';\r
+ $res .= '<tr><th><strong>' . __("Chiffre d'affaire trimestriel") . '</strong></th>';\r
+ for ($i = 1; $i <= 4; $i++) {\r
+ $res .= '<th>T' . $i . '</th>';\r
+ }\r
+ $res.='<th>' . __('Total') . '</th>';\r
+ $res .= '</tr>';\r
+\r
+ foreach ($chiffres as $annee => $trimestres) {\r
+ $res .= '<tr>';\r
+ $total = 0;\r
+ $res.='<td>' . $annee . '</td>';\r
+ foreach ($trimestres as $trimestre => $ca) {\r
+ $res .= '<td>' . self::format($ca) . '</td>';\r
+ $total += $ca;\r
+ }\r
+ $res.='<td><em>' . self::format($total) . '</em></td>';\r
+ $res .= '</tr>';\r
+ }\r
+\r
+ $res .= '</table>';\r
+ $res .= commonPage::bf();\r
+ return $res;\r
+ }\r
+\r
+ public static function caMensuel() {\r
+ global $core;\r
+ // Chiffres globaux\r
+ $r = $core->con->select('SELECT * FROM cam ORDER BY mois DESC');\r
+ $chiffres = array();\r
+ while ($r->fetch()) {\r
+ list($annee, $mois) = explode('-', $r->mois);\r
+ $mois = intval($mois);\r
+ if ($annee < 2009) {\r
+ continue;\r
+ }\r
+ if (!isset($chiffres[$annee])) {\r
+ $chiffres[$annee] = array(1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0, 8 => 0, 9 => 0, 10 => 0, 11 => 0, 12 => 0);\r
+ }\r
+ $chiffres[$annee][$mois] = $r->ca;\r
+ }\r
+\r
+\r
+ $res = commonPage::bh();\r
+ $res .= '<table class="liste">';\r
+ $res .= '<tr><th><strong>' . __("Chiffre d'affaire mensuel") . '</strong></th>';\r
+ for ($i = 1; $i <= 12; $i++) {\r
+ $res .= '<th>' . cubeDate::getMonth($i) . '</th>';\r
+ }\r
+ $res.='<th>' . __('Total') . '</th>';\r
+ $res .= '</tr>';\r
+\r
+ foreach ($chiffres as $annee => $moiss) {\r
+ $res .= '<tr>';\r
+ $total = 0;\r
+ $res.='<td>' . $annee . '</td>';\r
+ foreach ($moiss as $mois => $ca) {\r
+ $res .= '<td class="nowrap">' . self::format($ca) . '</td>';\r
+ $total += $ca;\r
+ }\r
+ $res.='<td class="nowrap"><em>' . self::format($total) . '</em></td>';\r
+ $res .= '</tr>';\r
+ }\r
+\r
+ $res .= '</table>';\r
+ $res .= commonPage::bf();\r
+ return $res;\r
+ }\r
+\r
+ public static function caCategorie($chiffres, $total) {\r
global $core;\r
// Chiffres par catégorie\r
$chiffresc = array();\r
$res .= '<table class="liste">';\r
\r
$res .= '<tr><td colspan="' . (count($annees) + 2) . '">';\r
- $a = date('Y')-1;\r
- $res .= self::caCategoriesChart($a, $chiffresa[$a], 'p3' , 440 , 150);\r
+ $a = date('Y') - 1;\r
+ $res .= self::caCategoriesChart($a, $chiffresa[$a], 'p3', 440, 150);\r
$a++;\r
- $res .= self::caCategoriesChart($a, $chiffresa[$a], 'p3' , 500 , 200);\r
+ $res .= self::caCategoriesChart($a, $chiffresa[$a], 'p3', 500, 200);\r
$res .= '</td></tr>';\r
\r
$res .= '<tr><th><strong>' . __("Chiffre d'affaire par catégorie") . '</strong></th>';\r
\r
- foreach($annees as $annee) {\r
+ foreach ($annees as $annee) {\r
$res .= '<th>' . $annee . '</th>';\r
}\r
$res .= '<th><em>' . __('Total') . '</em></th>';\r
$res .= '</tr>';\r
$i = 0;\r
- foreach($chiffresc as $categorie => $tab) {\r
- $odd = (cubeMath::isOdd($i))?' class="odd"':'';\r
+ foreach ($chiffresc as $categorie => $tab) {\r
+ $odd = (cubeMath::isOdd($i)) ? ' class="odd"' : '';\r
$res .= '<tr' . $odd . '>';\r
$res .= '<td>' . $core->categories[$categorie] . '</td>';\r
\r
- foreach($annees as $annee) {\r
+ foreach ($annees as $annee) {\r
if (isset($tab[$annee])) {\r
$ca = self::format($tab[$annee]);\r
$part = round(($tab[$annee] / $totaux_ca_prev[$annee]) * 100) . '%';\r
return $res;\r
}\r
\r
- public static function caCategoriesChart($a, $datas, $type, $width, $height, $max = 7)\r
- {\r
+ public static function caCategoriesChart($a, $datas, $type, $width, $height, $max = 7) {\r
global $core;\r
$title = sprintf(__('Répartition du CA pour %d'), $a);\r
$chart = new cubeGoogleCharts($type, $width, $height);\r
$total = array_sum($datas);\r
$i = 1;\r
$others = 0;\r
- foreach($datas as $c => $ca) {\r
+ foreach ($datas as $c => $ca) {\r
if ($i <= $max) {\r
$chart->addData($ca, null, $core->categories[$c]);\r
$i++;\r
return $chart->display($title);\r
}\r
\r
- public static function caChart($chiffres, $encours)\r
- {\r
+ public static function caChart($chiffres, $encours) {\r
global $core;\r
\r
$title = __("*Evolution du chiffre d'affaire");\r
$chart = new cubeGoogleCharts('bvs', 940, 200);\r
$chart->setTitle($title);\r
$max = 0;\r
- foreach($chiffres as $annee => $ca) {\r
+ foreach ($chiffres as $annee => $ca) {\r
if (date('Y') == $annee) {\r
$ca += $encours;\r
}\r
\r
$cac = array();\r
$cae = array();\r
- foreach($chiffres as $annee => $ca) {\r
+ foreach ($chiffres as $annee => $ca) {\r
$cac[] = round($ca / $ratio);\r
if (date('Y') == $annee) {\r
$cae[] = ($encours / $ratio);\r
return $chart->display($title);\r
}\r
\r
- public static function caWorkRate($chiffres, $total)\r
- {\r
+ public static function caWorkRate($chiffres, $total) {\r
global $core;\r
// Temps travaillé / Temps prévu\r
$chiffresc = array();\r
$res = commonPage::bh();\r
$res .= '<table class="liste">';\r
$res .= '<tr><th><strong>' . __("Rapport Temps travaillé / Temps payé") . '</strong></th>';\r
- foreach($annees as $annee) {\r
+ foreach ($annees as $annee) {\r
$total_consomme_annee[$annee] = 0;\r
$total_prevu_annee[$annee] = 0;\r
$res .= '<th>' . $annee . '</th>';\r
$res .= '<th><em>' . __('Total') . '</em></th>';\r
$res .= '</tr>';\r
$i = 0;\r
- foreach($chiffresc as $categorie => $tab) {\r
- $odd = (cubeMath::isOdd($i))?' class="odd"':'';\r
+ foreach ($chiffresc as $categorie => $tab) {\r
+ $odd = (cubeMath::isOdd($i)) ? ' class="odd"' : '';\r
$res .= '<tr' . $odd . '>';\r
$res .= '<td>' . $core->categories[$categorie] . '</td>';\r
\r
$total_consomme = 0;\r
$total_prevu = 0;\r
- foreach($annees as $annee) {\r
+ foreach ($annees as $annee) {\r
if (isset($tab[$annee])) {\r
$tc = self::format($tab[$annee]['jours_consommes'], false);\r
$tp = self::format($tab[$annee]['jours_prevus'], false);\r
$i++;\r
}\r
$res .= '<tr><td><strong>' . __('Total') . '</strong></td>';\r
- foreach($annees as $annee) {\r
+ foreach ($annees as $annee) {\r
if (isset($total_prevu_annee[$annee]) && isset($total_consomme_annee[$annee])) {\r
$c = $total_consomme_annee[$annee];\r
$p = $total_prevu_annee[$annee];\r
return $res;\r
}\r
\r
- public static function format($nb, $euro = true)\r
- {\r
+ public static function format($nb, $euro = true, $ifzero = '-') {\r
if ($euro) {\r
$nb = $nb / 1000;\r
}\r
$nb = round($nb);\r
+ if ($nb == 0) {\r
+ return $ifzero;\r
+ }\r
$res = number_format($nb, 0, '.', ' ');\r
if ($euro) {\r
$res .= ' K€';\r
}\r
return $res;\r
}\r
+\r
}\r
\r
?>
\ No newline at end of file