Fix stats opportunities
This commit is contained in:
parent
a84696230b
commit
f57284f507
@ -383,11 +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;
|
||||
if($i>0 && $row->nb) $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;
|
||||
if($i>0 && $row->total) $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;
|
||||
if($i>0 && $row->avg) $result[$i-1]['avg_diff'] = ($result[$i-1]['avg'] - $row->avg) / $row->avg * 100;
|
||||
$i++;
|
||||
}
|
||||
$this->db->free($resql);
|
||||
|
||||
@ -1190,12 +1190,12 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
// Project affected to user
|
||||
$newmenu->add("/projet/index.php?leftmenu=projects&mode=mine", $langs->trans("MyProjects"), 0, $user->rights->projet->lire, '', $mainmenu, 'myprojects');
|
||||
$newmenu->add("/projet/card.php?leftmenu=projects&action=create&mode=mine", $langs->trans("NewProject"), 1, $user->rights->projet->creer);
|
||||
$newmenu->add("/projet/list.php?leftmenu=projects&mode=mine", $langs->trans("List"), 1, $user->rights->projet->lire);
|
||||
$newmenu->add("/projet/list.php?leftmenu=projects&mode=mine&search_status=1", $langs->trans("List"), 1, $user->rights->projet->lire);
|
||||
|
||||
// All project i have permission on
|
||||
$newmenu->add("/projet/index.php?leftmenu=projects", $langs->trans("Projects"), 0, $user->rights->projet->lire && $user->rights->projet->lire, '', $mainmenu, 'projects');
|
||||
$newmenu->add("/projet/card.php?leftmenu=projects&action=create", $langs->trans("NewProject"), 1, $user->rights->projet->creer && $user->rights->projet->creer);
|
||||
$newmenu->add("/projet/list.php?leftmenu=projects", $langs->trans("List"), 1, $user->rights->projet->lire && $user->rights->projet->lire);
|
||||
$newmenu->add("/projet/list.php?leftmenu=projects&search_status=1", $langs->trans("List"), 1, $user->rights->projet->lire && $user->rights->projet->lire);
|
||||
$newmenu->add("/projet/stats/index.php?leftmenu=projects", $langs->trans("Statistics"), 1, $user->rights->projet->lire && $user->rights->projet->lire);
|
||||
|
||||
if (empty($conf->global->PROJECT_HIDE_TASKS))
|
||||
|
||||
@ -27,7 +27,7 @@ OfficerProject=Officer project
|
||||
LastProjects=Last %s projects
|
||||
AllProjects=All projects
|
||||
OpenedProjects=Opened projects
|
||||
OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects
|
||||
OpportunitiesStatusForOpenedProjects=Opportunities amount of opened projects by status
|
||||
ProjectsList=List of projects
|
||||
ShowProject=Show project
|
||||
SetProject=Set project
|
||||
|
||||
@ -44,8 +44,8 @@ class ProjectStats extends Stats
|
||||
/**
|
||||
* Return all leads grouped by status
|
||||
*
|
||||
* @param int $limit Limit results
|
||||
* @return array|int
|
||||
* @param int $limit Limit results
|
||||
* @return array|int Array with value or -1 if error
|
||||
* @throws Exception
|
||||
*/
|
||||
function getAllProjectByStatus($limit = 5)
|
||||
@ -55,11 +55,11 @@ class ProjectStats extends Stats
|
||||
$datay = array ();
|
||||
|
||||
$sql = "SELECT";
|
||||
$sql .= " count(DISTINCT t.rowid), t.fk_opp_status";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "projet as t";
|
||||
$sql .= " SUM(t.opp_amount), t.fk_opp_status, cls.code, cls.label";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "projet as t, ".MAIN_DB_PREFIX."c_lead_status as cls";
|
||||
$sql .= $this->buildWhere();
|
||||
$sql .= " AND t.fk_statut = 1";
|
||||
$sql .= " GROUP BY t.fk_opp_status";
|
||||
$sql .= " AND t.fk_opp_status = cls.rowid AND t.fk_statut = 1";
|
||||
$sql .= " GROUP BY t.fk_opp_status, cls.code, cls.label";
|
||||
|
||||
$result = array ();
|
||||
$res = array ();
|
||||
@ -73,13 +73,16 @@ class ProjectStats extends Stats
|
||||
while ( $i < $num ) {
|
||||
$row = $this->db->fetch_row($resql);
|
||||
if ($i < $limit || $num == $limit)
|
||||
$result[$i] = array (
|
||||
$this->projet->status[$row[1]] . '(' . $row[0] . ')',
|
||||
$row[0]
|
||||
{
|
||||
$label = (($langs->trans("OppStatus".$row[2]) != "OppStatus".$row[2]) ? $langs->trans("OppStatus".$row[2]) : $row[2]);
|
||||
$result[$i] = array(
|
||||
$label. ' (' . price(price2num($row[0], 'MT'), 1, $langs, 1, -1, -1, $conf->currency) . ')',
|
||||
$row[0]
|
||||
);
|
||||
}
|
||||
else
|
||||
$other += $row[1];
|
||||
$i ++;
|
||||
$i++;
|
||||
}
|
||||
if ($num > $limit)
|
||||
$result[$i] = array (
|
||||
@ -90,7 +93,7 @@ class ProjectStats extends Stats
|
||||
} else {
|
||||
$this->error = "Error " . $this->db->lasterror();
|
||||
dol_syslog(get_class($this) . '::' . __METHOD__ . ' ' . $this->error, LOG_ERR);
|
||||
return - 1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
||||
@ -122,7 +122,7 @@ if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
|
||||
$px->SetType(array (
|
||||
'pie'
|
||||
));
|
||||
$px->SetTitle($langs->trans('ProjectOpenedProjectByOppStatus'));
|
||||
$px->SetTitle($langs->trans('OpportunitiesStatusForOpenedProjects'));
|
||||
$result=$px->draw($filenamenb, $fileurlnb);
|
||||
if ($result<0) {
|
||||
setEventMessages($px->error, null, 'errors');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user