%PDF- %PDF-
Direktori : /var/www/projetos/suporte.iigd.com.br/plugins/dashboard/front/graphs/inc/ |
Current File : /var/www/projetos/suporte.iigd.com.br/plugins/dashboard/front/graphs/inc/grafbar_tec_mes.inc.php |
<?php if($data_ini == $data_fin) { $datas = "LIKE '".$data_ini."%'"; } else { $datas = "BETWEEN '".$data_ini." 00:00:00' AND '".$data_fin." 23:59:59'"; } # entity $sql_e = "SELECT value FROM glpi_plugin_dashboard_config WHERE name = 'entity' AND users_id = ".$_SESSION['glpiID'].""; $result_e = $DB->query($sql_e); $sel_ent = $DB->result($result_e,0,'value'); if($sel_ent == '' || $sel_ent == -1) { //get user entities $entities = $_SESSION['glpiactiveentities']; $ent = implode(",",$entities); $entidade = "AND glpi_tickets.entities_id IN (".$ent.")"; } else { $entidade = "AND glpi_tickets.entities_id IN (".$sel_ent.")"; } //get techs list $sql_tec = " SELECT count( glpi_tickets.id ) AS conta, glpi_tickets_users.`users_id` AS id, glpi_users.firstname AS name, glpi_users.realname AS sname FROM `glpi_tickets_users`, glpi_tickets, glpi_users WHERE glpi_tickets.id = glpi_tickets_users.`tickets_id` AND glpi_tickets_users.users_id = glpi_users.id AND glpi_tickets_users.type = 2 AND glpi_tickets.date ".$datas." ".$entidade." GROUP BY `users_id` ORDER BY conta DESC "; $query_tec = $DB->query($sql_tec) or die('erro t'); //$techs = array(); $arr_techs = array(); while ($row = $DB->fetchAssoc($query_tec)) { //$techs[] = $row['id']; $v_row_result = $row['name']." ".$row['sname']; $arr_techs[$v_row_result] = 0; } $DB->dataSeek($query_tec, 0); while ($row_result = $DB->fetchAssoc($query_tec)) { $sql_open = " SELECT count( glpi_tickets.id ) AS conta, glpi_tickets_users.`users_id` AS id, glpi_users.firstname AS name, glpi_users.realname AS sname FROM `glpi_tickets_users`, glpi_tickets, glpi_users WHERE glpi_tickets.id = glpi_tickets_users.`tickets_id` AND glpi_tickets.date ".$datas." AND glpi_tickets_users.users_id = glpi_users.id AND glpi_tickets_users.type = 2 AND glpi_tickets.is_deleted = 0 AND glpi_tickets.status <> 6 ".$entidade." AND glpi_tickets_users.`users_id` = ".$row_result['id']." GROUP BY `users_id` ORDER BY name ASC "; $query_open = $DB->query($sql_open) or die('erro o'); $res_open = $DB->fetchAssoc($query_open); $v_row_result = $row_result['name']." ".$row_result['sname']; if($res_open['conta'] != '') { $arr_open[$v_row_result] = $res_open['conta']; } else { $arr_open[$v_row_result] = 0; } } //closed $DB->dataSeek($query_tec, 0); while ($row_result = $DB->fetchAssoc($query_tec)) { $sql_close = " SELECT count( glpi_tickets.id ) AS conta, glpi_tickets_users.`users_id` AS id, glpi_users.firstname AS name, glpi_users.realname AS sname FROM `glpi_tickets_users`, glpi_tickets, glpi_users WHERE glpi_tickets.id = glpi_tickets_users.`tickets_id` AND glpi_tickets.date ".$datas." AND glpi_tickets_users.users_id = glpi_users.id AND glpi_tickets_users.type = 2 AND glpi_tickets.is_deleted = 0 AND glpi_tickets.status = 6 ".$entidade." AND glpi_tickets_users.`users_id` = ".$row_result['id']." GROUP BY `users_id` ORDER BY name ASC "; $query_close = $DB->query($sql_close) or die('erro o'); $res_close = $DB->fetchAssoc($query_close); $v_row_result = $row_result['name']." ".$row_result['sname']; if($res_close['conta'] != '') { $arr_close[$v_row_result] = $res_close['conta']; } else { $arr_close[$v_row_result] = 0; } } //$contador = $DB->numrows($query_open); $count = count($arr_techs); if($count > 0) { $contador = $count; } else { $contador = 0; } //chart height if($contador > 9) { $height = '1300'; } else { $height = '800'; } if($contador > 0) { $arr_name = array_keys($arr_techs); $arr_open2 = array_values($arr_open); $arr_close2 = array_values($arr_close); //create array with values and array for sort names for($i=0; $i < count($arr_techs); $i++ ) { $arr_cham[$arr_name[$i]] = $arr_open2[$i].",".$arr_close2[$i]; $arr_cham_t[$arr_name[$i]] = $arr_open2[$i] + $arr_close2[$i]; } //function to array_filter function limpa($var) { if($var != "0,0") { return $var; } } $arr_cham2 = array_filter($arr_cham, "limpa"); $arr_cham_t2 = array_filter($arr_cham_t, "limpa"); $arr_val = array_values($arr_cham2); //dividir valores do array com virgulas for($i=0; $i < count($arr_cham2) ;$i++) { $vals1 = preg_split("/[\s,]+/",$arr_val[$i]); $arr_cham_op2[$i] = $vals1[0]; $arr_cham_cl2[$i] = $vals1[1]; } $categories = json_encode(array_keys($arr_cham2)); echo " <script type='text/javascript'> $(function () { $('#graf1').highcharts({ chart: { type: 'bar', height: ".$height." }, title: { text: '' }, subtitle: { text: '' }, xAxis: { type: 'category', categories: ".$categories." }, yAxis: { min: 0, title: { text: '', align: 'high' }, labels: { overflow: 'justify' }, stackLabels: { enabled: true, } }, tooltip: { valueSuffix: '' }, plotOptions: { bar: { stacking:'normal', dataLabels: { enabled: true, }, borderWidth: 1, borderColor: 'white', shadow:true, showInLegend: true }, series: { animation: { duration: 1200, easing: 'easeOutBounce' }, cursor: 'pointer', } }, legend: { layout: 'horizontal', align: 'center', verticalAlign: 'bottom', x: -50, y: 5, floating: false, borderWidth: 0, //backgroundColor: '#FFFFFF', shadow: false, enabled: true }, credits: { enabled: false }, series: [ { name: '". __('Opened','dashboard')."', data: ["; foreach(array_values($arr_cham_op2) as $op){ echo $op.", "; } echo "] }, { name: '". __('Closed','dashboard')."', data: ["; foreach(array_values($arr_cham_cl2) as $cl){ echo $cl.", "; } echo "], }, ] }); }); </script>\n"; } ?>