get('id'); $event = $_GET["event"]; $objective = 0; if (!isVPSuperviseur($roleid) && !isTopDG($roleid) && !isResponsableCommercial($roleid)) { die("
Vous n'êtes pas autorisé à lire cette ressource.
"); } if (isTopDG($roleid)) { $roleid = "H10"; } // $datedeb = date("Y-m-d", strtotime("-1 month")); // $datefin = date('Y-m-d'); $datedeb = '2026-11-04'; $datefin = '2026-11-30'; if ($event == "Saidalya") { $datedeb = '2026-02-04'; $datefin = '2026-02-07'; $objective = 300000000.00; // Objective value (0-100) echo getMonitoringMainBarVP(9); } else if ($event == "November") { $datedeb = '2026-01-13'; $datefin = '2026-02-15'; $objective = 500000000.00; // Objective value (0-100) echo getMonitoringMainBarVP(10); } else { die("Unauthorized"); } $vpFilter = ""; if ($event == "Saidalya") { $vpFilter = " AND us.id IN (156,125,215,137,149,261,127,124,43,254,212,255,253,186,248,222)"; } $currentValue = 0; // Current gauge value (0-100) ?> 1 JOIN vtiger_salesorder so ON so.salesorderid = crm.crmid JOIN vtiger_accountscf acf ON acf.accountid = so.accountid"; $queryCA = $queryCA . " WHERE so.duedate BETWEEN '" . $datedeb . "' and '" . $datefin . "' $vpFilter order by total_bc asc"; $queryCA = $queryCA . ") AS subquery order by total_bc desc; "; $sql_get_result_ca = $adb->query($queryCA); $result_ca = array(); while ($recordinfo = $adb->fetch_array($sql_get_result_ca)) { $result_ca[] = $recordinfo; } $currentValue = $result_ca[0][0] ?? 0; // CA Par Client $query = "SELECT soc.cf_854 as accountname, sum(so.subtotal) as totalmargin FROM `vtiger_salesorder` so JOIN vtiger_salesordercf soc on soc.salesorderid = so.salesorderid JOIN vtiger_crmentity e on so.`salesorderid` = e.crmid and e.deleted <> 1 and e.setype='SalesOrder' JOIN vtiger_users us on us.id = e.smownerid and us.status <> 'Inactive' JOIN vtiger_user2role usr ON usr.userid = us.id JOIN vtiger_role ro ON ro.roleid = usr.roleid"; $query = $query . " WHERE so.duedate BETWEEN '" . $datedeb . "' and '" . $datefin . "' $vpFilter"; $query = $query . " GROUP by accountname order by totalmargin desc"; $sql_get_result_client = $adb->query($query); $result_client = array(); while ($recordinfo = $adb->fetch_array($sql_get_result_client)) { $result_client[] = $recordinfo; } $json_data = json_encode($result_client); // Par produit $query_produit = "SELECT p.productname, sum(ip.quantity) as totalquantity , sum(ip.margin) as totalmargin FROM `vtiger_salesorder` so JOIN vtiger_inventoryproductrel ip on so.`salesorderid` = ip.id JOIN vtiger_crmentity e on so.`salesorderid` = e.crmid and e.deleted = 0 JOIN vtiger_products p on p.productid = ip.productid JOIN vtiger_users us on us.id = e.smownerid and us.status <> 'Inactive' JOIN vtiger_user2role usr ON usr.userid = us.id JOIN vtiger_role ro ON ro.roleid = usr.roleid"; $query_produit = $query_produit . " WHERE so.duedate BETWEEN '" . $datedeb . "' and '" . $datefin . "' $vpFilter"; $query_produit = $query_produit . " GROUP by p.productname order by totalmargin desc"; //, month , year"; $sql_get_result_product = $adb->query($query_produit); $result_products_arr = array(); while ($recordinfo = $adb->fetch_array($sql_get_result_product)) { $result_products_arr[] = $recordinfo; } $result_products = json_encode($result_products_arr); // $totalMargins = array_column($result_products, 'totalmargin'); // PAR VP $query_vp = "SELECT fullname, total_bc AS bc FROM (SELECT us.id,CONCAT(first_name, ' ', last_name) AS fullname,SUM(subtotal) AS total_bc FROM vtiger_users us JOIN vtiger_user2role usr ON usr.userid = us.id JOIN vtiger_crmentity crm ON crm.smownerid = us.id AND crm.setype = 'SalesOrder' AND crm.deleted <> 1 JOIN vtiger_salesorder so ON so.salesorderid = crm.crmid "; $query_vp = $query_vp . " WHERE so.duedate BETWEEN '" . $datedeb . "' and '" . $datefin . "' $vpFilter"; $query_vp = $query_vp . " GROUP BY us.id,fullname) as s "; $sql_get_result_vp = $adb->query($query_vp); $result_vp = array(); while ($recordinfo = $adb->fetch_array($sql_get_result_vp)) { $result_vp[] = $recordinfo; } $result_vp = json_encode($result_vp); // echo "
";
// print_r($result_products);
// echo "
"; // // print_r($productNames); // echo $result_vp; // die(); ?> Dashboard

CA % Objectif ()

CA % Client ()

Par Produit
Répartition Marge Totale (Top 10 Produits)
Répartition Quantité Totale (Top 10 Produits - Pie Chart)
Marge par client
Répartition CA par VP (Top 10)
Par VP
CA par Client
Client Marge Totale (D.A)
Produits : Quantité & Marge Totale
Produit Quantité Totale Marge Totale (D.A)