Dashboard (2)

MANAGEMENT DASHBOARD

 

1. Sales tracking (link to SuiteCRM)

{source}<?php

defined('_JEXEC') or die('Restricted Access');

$option = array(); //prevent problems
$option['driver'] = 'mysql'; // Database driver name
$option['host'] = 'localhost'; // Database host name
$option['user'] = 'readOnly'; // User for database authentication
$option['password'] = 'kDvgI4cC4oING4go'; // Password for database authentication
$option['database'] = 'suitecrm'; // Database name
$option['prefix'] = ''; // Database prefix (may be empty)
$db = JDatabaseDriver::getInstance( $option );

$query = $db->getQuery(true)

               ->select (array ("ap.name",
"DATE_FORMAT(ap.date_entered, '%d-%b-%Y') 's_date'",

"COUNT(*) 'interested'"

,"S
UM(CASE WHEN cc.ascl_responded_c = 1 THEN 1 ELSE 0 END)  'replied' "


,"SUM(CASE WHEN cc.ascl_info_sent_c = 1 THEN 1 ELSE 0 END)  'info' "

,"SUM(CASE WHEN cc.ascl_q_call_c = 1 THEN 1 ELSE 0 END)  'q_call' "

,"SUM(CASE WHEN cc.ascl_qualified_c = 1 THEN 1 ELSE 0 END)  'q' "

,"SUM(CASE WHEN cc.ascl_m_call_c = 1 THEN 1 ELSE 0 END)  'm_call' "

,"SUM(CASE WHEN c.state = 'Closed' THEN 1 ELSE 0 END)  'Closed' "
)


->from($db->quoteName('cases_cstm', 'cc'))

->join('LEFT', $db->quoteName( 'aos_products', 'ap') . ' ON (' .$db->quoteName('ap.id') . ' = ' .$db->quoteName('cc.aos_products_id_c') . ')')


->join('LEFT', $db->quoteName( 'cases', 'c') . ' ON (' .$db->quoteName('c.id') . ' = ' .$db->quoteName('cc.aos_products_id_c') . ')')

->group('aos_products_id_c') 

->order('
ap.date_entered', 'ASC');

$db->setQuery($query);

//echo $db->replacePrefix((string) $query);

$results = $db->loadAssocList();
echo '<table style="border-color: #000000; background-color: #eeeeee;" border="1" cellpadding="10"><tbody>
<tr>
<td style="text-align: left;">Client/product</td>
<td width="125px" style="text-align: left;">Start date</td>
<td style="text-align: center;">Interested</td>
<td style="text-align: center;">Replied</td>
<td style="text-align: center;">Info sent</td>
<td style="text-align: center;">Qual. calls</td>
<td style="text-align: center;">Qualified</td>
<td style="text-align: center;">Mgmt calls</td>
<td style="text-align: center;">Closed</td>
</tr>';

foreach ($results as $row) {
echo "<tr>
   <td style=\"text-align: left;\">" . $row['name'] ."</td>
   <td style=\"text-align: left;\">" . $row['s_date'] ."</td>
   <td class=\"c-int\" style=\"text-align: center;\">" . $row['interested'] ."
</td>
   <td style=\"text-align: center;\">" . $row['replied'] ."</td>
   <td style=\"text-align: center;\">" . $row['info'] ."</td>
   <td style=\"text-align: center;\">" . $row['q_call'] ."</td>
   <td style=\"text-align: center;\">" . $row['q'] ."</td>
   <td style=\"text-align: center;\">" . $row['m_call'] ."</td>
   <td style=\"text-align: center;\">" . $row['Closed'] ."</td>
   </td></tr>"
;
}

echo '<tr><td></td><td></td><script language="javascript" type="text/javascript">
var tds = document.getElementById("countit").getElementsByTagName("td");
var sum = 0;
for(var i = 0; i < tds.length; i ++) {
if(tds[i].className == "c-int") {
sum += isNaN(tds[i].innerHTML) ? 0 : parseInt(tds[i].innerHTML);
}
}
document.getElementById("cbtf_24").innerHTML += "<td> " + sum + "</td> ";
</script><td></td><td></td><td></td><td></td><td></td><td></td></tr>;

echo "</tbody></table>";
?>
{/source}

 

2. Dashboard B

Client reports (TESTING)

1) Blitzscaling > click to view the PDF and download if required

2) Rockaway > click to view the PDF and download if required

 

3. Dashboard C


Deprecated: Function lcg_value() is deprecated since 8.4, use \Random\Randomizer::getFloat() instead in /bitnami/joomla/plugins/system/sessiongc/src/Extension/SessionGC.php on line 66