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);
|
$row = $this->db->fetch_object($resql);
|
||||||
$result[$i]['year'] = $row->year;
|
$result[$i]['year'] = $row->year;
|
||||||
$result[$i]['nb'] = $row->nb;
|
$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;
|
$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;
|
$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++;
|
$i++;
|
||||||
}
|
}
|
||||||
$this->db->free($resql);
|
$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
|
// 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/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/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
|
// 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/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/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);
|
$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))
|
if (empty($conf->global->PROJECT_HIDE_TASKS))
|
||||||
|
|||||||
@ -27,7 +27,7 @@ OfficerProject=Officer project
|
|||||||
LastProjects=Last %s projects
|
LastProjects=Last %s projects
|
||||||
AllProjects=All projects
|
AllProjects=All projects
|
||||||
OpenedProjects=Opened projects
|
OpenedProjects=Opened projects
|
||||||
OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects
|
OpportunitiesStatusForOpenedProjects=Opportunities amount of opened projects by status
|
||||||
ProjectsList=List of projects
|
ProjectsList=List of projects
|
||||||
ShowProject=Show project
|
ShowProject=Show project
|
||||||
SetProject=Set project
|
SetProject=Set project
|
||||||
|
|||||||
@ -44,8 +44,8 @@ class ProjectStats extends Stats
|
|||||||
/**
|
/**
|
||||||
* Return all leads grouped by status
|
* Return all leads grouped by status
|
||||||
*
|
*
|
||||||
* @param int $limit Limit results
|
* @param int $limit Limit results
|
||||||
* @return array|int
|
* @return array|int Array with value or -1 if error
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
function getAllProjectByStatus($limit = 5)
|
function getAllProjectByStatus($limit = 5)
|
||||||
@ -55,11 +55,11 @@ class ProjectStats extends Stats
|
|||||||
$datay = array ();
|
$datay = array ();
|
||||||
|
|
||||||
$sql = "SELECT";
|
$sql = "SELECT";
|
||||||
$sql .= " count(DISTINCT t.rowid), t.fk_opp_status";
|
$sql .= " SUM(t.opp_amount), t.fk_opp_status, cls.code, cls.label";
|
||||||
$sql .= " FROM " . MAIN_DB_PREFIX . "projet as t";
|
$sql .= " FROM " . MAIN_DB_PREFIX . "projet as t, ".MAIN_DB_PREFIX."c_lead_status as cls";
|
||||||
$sql .= $this->buildWhere();
|
$sql .= $this->buildWhere();
|
||||||
$sql .= " AND t.fk_statut = 1";
|
$sql .= " AND t.fk_opp_status = cls.rowid AND t.fk_statut = 1";
|
||||||
$sql .= " GROUP BY t.fk_opp_status";
|
$sql .= " GROUP BY t.fk_opp_status, cls.code, cls.label";
|
||||||
|
|
||||||
$result = array ();
|
$result = array ();
|
||||||
$res = array ();
|
$res = array ();
|
||||||
@ -73,13 +73,16 @@ class ProjectStats extends Stats
|
|||||||
while ( $i < $num ) {
|
while ( $i < $num ) {
|
||||||
$row = $this->db->fetch_row($resql);
|
$row = $this->db->fetch_row($resql);
|
||||||
if ($i < $limit || $num == $limit)
|
if ($i < $limit || $num == $limit)
|
||||||
$result[$i] = array (
|
{
|
||||||
$this->projet->status[$row[1]] . '(' . $row[0] . ')',
|
$label = (($langs->trans("OppStatus".$row[2]) != "OppStatus".$row[2]) ? $langs->trans("OppStatus".$row[2]) : $row[2]);
|
||||||
$row[0]
|
$result[$i] = array(
|
||||||
|
$label. ' (' . price(price2num($row[0], 'MT'), 1, $langs, 1, -1, -1, $conf->currency) . ')',
|
||||||
|
$row[0]
|
||||||
);
|
);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
$other += $row[1];
|
$other += $row[1];
|
||||||
$i ++;
|
$i++;
|
||||||
}
|
}
|
||||||
if ($num > $limit)
|
if ($num > $limit)
|
||||||
$result[$i] = array (
|
$result[$i] = array (
|
||||||
@ -90,7 +93,7 @@ class ProjectStats extends Stats
|
|||||||
} else {
|
} else {
|
||||||
$this->error = "Error " . $this->db->lasterror();
|
$this->error = "Error " . $this->db->lasterror();
|
||||||
dol_syslog(get_class($this) . '::' . __METHOD__ . ' ' . $this->error, LOG_ERR);
|
dol_syslog(get_class($this) . '::' . __METHOD__ . ' ' . $this->error, LOG_ERR);
|
||||||
return - 1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
|
|||||||
@ -122,7 +122,7 @@ if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
|
|||||||
$px->SetType(array (
|
$px->SetType(array (
|
||||||
'pie'
|
'pie'
|
||||||
));
|
));
|
||||||
$px->SetTitle($langs->trans('ProjectOpenedProjectByOppStatus'));
|
$px->SetTitle($langs->trans('OpportunitiesStatusForOpenedProjects'));
|
||||||
$result=$px->draw($filenamenb, $fileurlnb);
|
$result=$px->draw($filenamenb, $fileurlnb);
|
||||||
if ($result<0) {
|
if ($result<0) {
|
||||||
setEventMessages($px->error, null, 'errors');
|
setEventMessages($px->error, null, 'errors');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user