* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id: distributeur.ca.class.php,v 1.1 2005/11/29 09:11:14 rodolphe Exp $ * $Source: /srv/cvs/sources/dolibarr/dolibarr/htdocs/telephonie/stats/distributeurs/Attic/distributeur.ca.class.php,v $ * */ require_once (DOL_DOCUMENT_ROOT."/telephonie/stats/graph/bar.class.php"); class GraphDistributeurCa extends GraphBar { Function GraphDistributeurCa($DB, $file) { $this->db = $DB; $this->file = $file; $this->client = 0; $this->year = strftime("%Y",time()); $this->titre = "Chiffre d'affaire ".$this->year; $this->barcolor = "blue"; $this->showframe = true; } Function GraphMakeGraph($distributeur=0) { $num = 0; $year = strftime("%Y",time()); $sql = "DELETE FROM ".MAIN_DB_PREFIX."telephonie_stats"; if ($distributeur > 0) { $sql .= " WHERE graph='distributeur.ca.mensuel.".$distributeur."';"; } else { $sql .= " WHERE graph='distributeur.ca.mensuel'"; } $resql = $this->db->query($sql); if ($distributeur > 0) { $sql = "SELECT date_format(f.date,'%Y%m'), sum(f.cout_vente)"; $sql .= " FROM ".MAIN_DB_PREFIX."telephonie_facture as f"; $sql .= " , ".MAIN_DB_PREFIX."telephonie_societe_ligne as l"; $sql .= " , ".MAIN_DB_PREFIX."telephonie_distributeur_commerciaux as dc"; $sql .= " WHERE l.rowid = f.fk_ligne"; $sql .= " AND l.fk_commercial_sign = dc.fk_user"; $sql .= " AND dc.fk_distributeur = ".$distributeur; $sql .= " GROUP BY date_format(f.date,'%Y%m') ASC"; } else { $sql = "SELECT legend, sum(valeur)"; $sql .= " FROM ".MAIN_DB_PREFIX."telephonie_stats"; $sql .= " WHERE graph like 'distributeur.ca.mensuel.%'"; $sql .= " GROUP BY legend ORDER BY ord ASC"; } $resql = $this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); $i = 0; $j = -1; $datas = array(); $cas = array(); $labels = array(); while ($i < $num) { $row = $this->db->fetch_row($resql); $datas[$i] = $row[1]; $cas[$row[0]] = $row[1]; $labels[$i] = substr($row[0],-2)."/".substr($row[0],2,2); $sqli = "INSERT INTO ".MAIN_DB_PREFIX."telephonie_stats"; $sqli .= " (graph,ord,legend,valeur)"; if ($distributeur > 0) { $sqli .= " VALUES ('distributeur.ca.mensuel.".$distributeur."'"; } else { $sqli .= " VALUES ('distributeur.ca.mensuel'"; } $sqli .= ",'$i','".$row[0]."','".$datas[$i]."');"; $resqli = $this->db->query($sqli); $i++; } $this->db->free($resql); } else { print $this->db->error() . ' ' . $sql; } $month = array(); $month[1] = 'J'; $month[2] = 'F'; $month[3] = 'M'; $month[4] = 'A'; $month[5] = 'M'; $month[6] = 'J'; $month[7] = 'J'; $month[8] = 'A'; $month[9] = 'S'; $month[10] = 'O'; $month[11] = 'N'; $month[12] = 'D'; for ($i = 1 ; $i < 13 ; $i++) { $idx = $year.substr('0'.$i,-2); if ($cas[$idx]) { $datas[$i-1] = $cas[$idx]; } else { $datas[$i-1] = 0; } $labels[$i-1] = $month[$i]; } if (sizeof($datas)) { $this->GraphDraw($this->file, $datas, $labels); } } } ?>