diff --git a/htdocs/telephonie/stats/commerciaux/commercial.gain.class.php b/htdocs/telephonie/stats/commerciaux/commercial.gain.class.php new file mode 100644 index 00000000000..b1c68b0996d --- /dev/null +++ b/htdocs/telephonie/stats/commerciaux/commercial.gain.class.php @@ -0,0 +1,84 @@ + + * + * 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$ + * $Source$ + * + */ + +require_once (DOL_DOCUMENT_ROOT."/telephonie/stats/graph/bar.class.php"); + +class GraphCommercialGain extends GraphBar { + + Function GraphCommercialGain($DB, $file) + { + $this->db = $DB; + $this->file = $file; + + $this->client = 0; + $this->titre = "Gain mensuel"; + + $this->barcolor = "pink"; + $this->showframe = true; + } + + Function GraphMakeGraph($commercial=0) + { + $num = 0; + + $sql = "SELECT date_format(f.date,'%Y%m'), sum(f.gain)"; + $sql .= " FROM ".MAIN_DB_PREFIX."telephonie_facture as f"; + $sql .= " , ".MAIN_DB_PREFIX."telephonie_societe_ligne as l"; + $sql .= " WHERE l.rowid = f.fk_ligne"; + $sql .= " AND l.fk_commercial_sign = ".$commercial; + $sql .= " GROUP BY date_format(f.date,'%Y%m') ASC"; + + $resql = $this->db->query($sql); + + if ($resql) + { + $num = $this->db->num_rows($resql); + $i = 0; + $j = -1; + $datas = array(); + $labels = array(); + + while ($i < $num) + { + $row = $this->db->fetch_row($resql); + + $datas[$i] = $row[1]; + $labels[$i] = substr($row[0],-2)."/".substr($row[0],2,2); + + $i++; + } + + $this->db->free($resql); + } + else + { + print $this->db->error() . ' ' . $sql; + } + + if (sizeof($datas)) + { + $this->GraphDraw($this->file, $datas, $labels); + } + + } +} +?> diff --git a/htdocs/telephonie/stats/commerciaux/groupes/groupe.ca.class.php b/htdocs/telephonie/stats/commerciaux/groupes/groupe.ca.class.php new file mode 100644 index 00000000000..e1eafc83178 --- /dev/null +++ b/htdocs/telephonie/stats/commerciaux/groupes/groupe.ca.class.php @@ -0,0 +1,105 @@ + + * + * 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$ + * $Source$ + * + */ + +require_once (DOL_DOCUMENT_ROOT."/telephonie/stats/graph/bar.class.php"); + +class GraphGroupeChiffreAffaire extends GraphBar { + + Function GraphGroupeChiffreAffaire($DB, $file) + { + $this->db = $DB; + $this->file = $file; + + $this->client = 0; + $this->titre = ""; + + $this->barcolor = "blue"; + $this->showframe = true; + } + + Function GraphMakeGraph($groupe=0) + { + $num = 0; + + $sql = "SELECT nom"; + $sql .= " FROM ".MAIN_DB_PREFIX."usergroup as u"; + $sql .= " WHERE u.rowid = ".$groupe; + + $resql = $this->db->query($sql); + + if ($resql) + { + $row = $this->db->fetch_row($resql); + $nom = $row[0]; + $this->db->free($resql); + } + else + { + print $this->db->error() . ' ' . $sql; + } + + $this->titre = "Chiffre d'affaire mensuel : ".$nom; + + $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."usergroup_user as ug"; + $sql .= " WHERE l.rowid = f.fk_ligne"; + $sql .= " AND ug.fk_user = l.fk_commercial_sign"; + $sql .= " AND ug.fk_usergroup = ".$groupe; + $sql .= " GROUP BY date_format(f.date,'%Y%m') ASC"; + + $resql = $this->db->query($sql); + + if ($resql) + { + $num = $this->db->num_rows($resql); + $i = 0; + $j = -1; + $datas = array(); + $labels = array(); + + while ($i < $num) + { + $row = $this->db->fetch_row($resql); + + $datas[$i] = $row[1]; + $labels[$i] = substr($row[0],-2)."/".substr($row[0],2,2); + + $i++; + } + + $this->db->free($resql); + } + else + { + print $this->db->error() . ' ' . $sql; + } + + if (sizeof($datas)) + { + $this->GraphDraw($this->file, $datas, $labels); + } + + } +} +?> diff --git a/htdocs/telephonie/stats/commerciaux/groupes/groupe.gain.class.php b/htdocs/telephonie/stats/commerciaux/groupes/groupe.gain.class.php new file mode 100644 index 00000000000..8c590d5b197 --- /dev/null +++ b/htdocs/telephonie/stats/commerciaux/groupes/groupe.gain.class.php @@ -0,0 +1,105 @@ + + * + * 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$ + * $Source$ + * + */ + +require_once (DOL_DOCUMENT_ROOT."/telephonie/stats/graph/bar.class.php"); + +class GraphGroupeGain extends GraphBar { + + Function GraphGroupeGain($DB, $file) + { + $this->db = $DB; + $this->file = $file; + + $this->client = 0; + $this->titre = "Gain mensuel du groupe"; + + $this->barcolor = "pink"; + $this->showframe = true; + } + + Function GraphMakeGraph($groupe=0) + { + $num = 0; + + $sql = "SELECT nom"; + $sql .= " FROM ".MAIN_DB_PREFIX."usergroup as u"; + $sql .= " WHERE u.rowid = ".$groupe; + + $resql = $this->db->query($sql); + + if ($resql) + { + $row = $this->db->fetch_row($resql); + $nom = $row[0]; + $this->db->free($resql); + } + else + { + print $this->db->error() . ' ' . $sql; + } + + $this->titre = "Gain mensuel : ".$nom; + + $sql = "SELECT date_format(f.date,'%Y%m'), sum(f.gain)"; + $sql .= " FROM ".MAIN_DB_PREFIX."telephonie_facture as f"; + $sql .= " , ".MAIN_DB_PREFIX."telephonie_societe_ligne as l"; + $sql .= " , ".MAIN_DB_PREFIX."usergroup_user as ug"; + $sql .= " WHERE l.rowid = f.fk_ligne"; + $sql .= " AND ug.fk_user = l.fk_commercial_sign"; + $sql .= " AND ug.fk_usergroup = ".$groupe; + $sql .= " GROUP BY date_format(f.date,'%Y%m') ASC"; + + $resql = $this->db->query($sql); + + if ($resql) + { + $num = $this->db->num_rows($resql); + $i = 0; + $j = -1; + $datas = array(); + $labels = array(); + + while ($i < $num) + { + $row = $this->db->fetch_row($resql); + + $datas[$i] = $row[1]; + $labels[$i] = substr($row[0],-2)."/".substr($row[0],2,2); + + $i++; + } + + $this->db->free($resql); + } + else + { + print $this->db->error() . ' ' . $sql; + } + + if (sizeof($datas)) + { + $this->GraphDraw($this->file, $datas, $labels); + } + + } +} +?> diff --git a/htdocs/telephonie/stats/commerciaux/groupes/groupe.php b/htdocs/telephonie/stats/commerciaux/groupes/groupe.php new file mode 100644 index 00000000000..8b4283e457c --- /dev/null +++ b/htdocs/telephonie/stats/commerciaux/groupes/groupe.php @@ -0,0 +1,150 @@ + + * + * 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$ + * $Source$ + * + */ +require("./pre.inc.php"); + +if (!$user->rights->telephonie->lire) accessforbidden(); + +llxHeader('','Telephonie - Statistiques - Commerciaux'); + +/* + * + * + * + */ + +$h = 0; + +$head[$h][0] = DOL_URL_ROOT.'/telephonie/stats/commerciaux/index.php'; +$head[$h][1] = "Global"; +$hselected = $h; +$h++; + +$head[$h][0] = DOL_URL_ROOT.'/telephonie/stats/commerciaux/mensuel.php'; +$head[$h][1] = "Mensuel"; +$h++; + +$head[$h][0] = DOL_URL_ROOT.'/telephonie/stats/commerciaux/contrats.php'; +$head[$h][1] = "Contrats"; +$h++; + +dolibarr_fiche_head($head, $hselected, "Commerciaux"); + +print ''; + +print ''; + +print ''; +print '
'; + +print ''; +print ''; + +$sql = "SELECT rowid, nom"; +$sql .= " FROM ".MAIN_DB_PREFIX."usergroup"; +$sql .= " ORDER BY nom ASC"; + +$resql = $db->query($sql); +if ($resql) +{ + $num = $db->num_rows(); + $i = 0; + while ($i < $num) + { + $row = $db->fetch_row($resql); + + $var=!$var; + + print ""; + + print ''; + + $i++; + } + $db->free(); +} +else +{ + print $db->error() . ' ' . $sql; +} +print '
Nom
'; + print ''.$row[2]." ". $row[1].'

'; + +/* */ + +print ''; +print ''; + +$sql = "SELECT count(*) as cc , c.name, c.firstname, c.rowid"; +$sql .= " FROM ".MAIN_DB_PREFIX."telephonie_societe_ligne as l"; +$sql .= " , ".MAIN_DB_PREFIX."user as c"; +$sql .= " , ".MAIN_DB_PREFIX."usergroup_user as ug"; +$sql .= " WHERE c.rowid = l.fk_commercial_sign"; +$sql .= " AND ug.fk_usergroup = ".$_GET["id"]; +$sql .= " AND ug.fk_user = c.rowid"; +$sql .= " AND l.statut <> 7"; +$sql .= " GROUP BY c.name ORDER BY cc DESC"; + +$resql = $db->query($sql); +if ($resql) +{ + $num = $db->num_rows(); + $i = 0; + $datas = array(); + $legends = array(); + + while ($i < $num) + { + $row = $db->fetch_row($i); + + $var=!$var; + + print ""; + + print ''; + $i++; + } + $db->free(); +} +else +{ + print $db->error() . ' ' . $sql; +} +print '
NomNb Lignes
'; + print ''.$row[2]." ". $row[1].''.$row[0].'

'; + + + +print '
'; + +print '

'."\n"; + + +print '

'."\n"; + +print '
'; + +$db->close(); + +llxFooter("Dernière modification $Date$ révision $Revision$"); +?> diff --git a/htdocs/telephonie/stats/commerciaux/groupes/pre.inc.php b/htdocs/telephonie/stats/commerciaux/groupes/pre.inc.php new file mode 100644 index 00000000000..bb89e8ba1af --- /dev/null +++ b/htdocs/telephonie/stats/commerciaux/groupes/pre.inc.php @@ -0,0 +1,42 @@ + + * + * 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$ + * $Source$ + * + */ +require("../../../../main.inc.php"); + +$user->getrights('telephonie'); + +function llxHeader($head = "", $title="") { + global $user, $conf; + + /* + * + * + */ + top_menu($head, $title); + + $menu = new Menu(); + + include "../../menus.php"; + + left_menu($menu->liste); +} + +?>