]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 11 Mar 2013 17:53:02 +0000 (17:53 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 11 Mar 2013 17:53:02 +0000 (17:53 +0000)
inc/commons/class.common.core.php
inc/extranet/Controlleur/class.extranet.page.chiffres.php

index 2fad698edfcaed055067ee2d1e0f72e8727be236..79cd427bcc2076f22a3f8ce478c79d71cfffa4c9 100644 (file)
@@ -547,7 +547,9 @@ class commonCore extends cubeCore {
                                . 'WHERE factures.projet=projets.projet_id AND clients.utilisateur_id=projets.client AND factures.createur=equipiers.utilisateur_id AND (factures.facture_id>=0 OR factures.status=1)  ');\r
                $this->views->createView('projets_timereport', 'SELECT * FROM projets_vue WHERE status=0');\r
                $this->views->createView('order_timereport', 'SELECT utilisateur_id,projet AS projet_id,MAX(date) AS derniere_activite FROM timereport,taches,projets WHERE taches.tache_id=timereport.tache_id AND taches.projet=projets.projet_id AND projets.status=0 GROUP BY utilisateur_id,taches.projet ORDER BY utilisateur_id ASC,MAX(date) DESC');\r
-               $this->views->createView('ca', 'SELECT SUM(total_ht) AS ca, YEAR(FROM_UNIXTIME(date_creation)) annee FROM factures WHERE status IN(1,2) GROUP BY annee');\r
+               $this->views->createView('ca', 'SELECT SUM(total_ht) AS ca, YEAR(FROM_UNIXTIME(date_creation)) annee FROM factures WHERE status>0 GROUP BY annee');\r
+               $this->views->createView('cam', 'SELECT SUM(total_ht) AS ca, DATE_FORMAT(FROM_UNIXTIME(date_creation),\'%Y-%m\') mois FROM factures WHERE status>0 GROUP BY mois');\r
+               $this->views->createView('cat', 'SELECT SUM(total_ht) AS ca, CONCAT_WS(\'-\',YEAR(FROM_UNIXTIME(date_creation)),QUARTER(FROM_UNIXTIME(date_creation))) trimestre FROM factures WHERE status>0 GROUP BY trimestre');\r
                $this->views->createView('ftpaccess', 'SELECT email AS userid,password AS passwd,utilisateur_id AS uid,'\r
                                . '\'1000\' AS gid,CONCAT(\'' . FTPROOT . '\',utilisateur_id) AS homedir, \'/bin/false\' AS shell '\r
                                . 'FROM utilisateurs WHERE grade=0 '\r
@@ -590,7 +592,7 @@ class commonCore extends cubeCore {
                                . 'LEFT JOIN utilisateurs_entreprise r ON d.revendeur=r.utilisateur_id '\r
                                . 'LEFT JOIN utilisateurs_entreprise c ON d.utilisateur=c.utilisateur_id '\r
                                . 'LEFT JOIN utilisateurs a ON d.administrateur=a.utilisateur_id');\r
-               cubeDb::mysqlConvert($this->con, 'UTF8', 'utf8_general_ci', 'MYISAM');\r
+               //cubeDb::mysqlConvert($this->con, 'UTF8', 'utf8_general_ci', 'MYISAM');\r
                touch($cache);\r
        }\r
 \r
index 7fe2b48839c3a8fdcb5540ad3b44395ace97434b..a63c20add56208c656cafa0d29602d24cf11c084 100644 (file)
@@ -1,7 +1,8 @@
 <?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
@@ -9,8 +10,8 @@ class extranetPageChiffres {
                $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
@@ -28,47 +29,45 @@ class extranetPageChiffres {
                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
@@ -106,8 +105,7 @@ class extranetPageChiffres {
                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
@@ -121,7 +119,7 @@ class extranetPageChiffres {
                $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
@@ -129,7 +127,7 @@ class extranetPageChiffres {
 \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
@@ -141,8 +139,94 @@ class extranetPageChiffres {
                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
@@ -164,26 +248,26 @@ class extranetPageChiffres {
                $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
@@ -205,8 +289,7 @@ class extranetPageChiffres {
                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
@@ -215,7 +298,7 @@ class extranetPageChiffres {
                $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
@@ -230,15 +313,14 @@ class extranetPageChiffres {
                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
@@ -248,7 +330,7 @@ class extranetPageChiffres {
 \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
@@ -261,8 +343,7 @@ class extranetPageChiffres {
                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
@@ -280,7 +361,7 @@ class extranetPageChiffres {
                $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
@@ -288,14 +369,14 @@ class extranetPageChiffres {
                $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
@@ -317,7 +398,7 @@ class extranetPageChiffres {
                        $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
@@ -333,18 +414,21 @@ class extranetPageChiffres {
                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