芝麻web文件管理V1.00
HTML;
}
$reportdata["tableheadings"][] = "Staff Name";
for ( $rating = 1; $rating <= 10; $rating++ ) $reportdata["tableheadings"][] = $rating;
$reportdata["tableheadings"][] = "Total Ratings";
$reportdata["tableheadings"][] = "Average Rating";
$dateRange = Carbon::parseDateRangeValue($range);
$fromdate = $dateRange['from']->toDateTimeString();
$todate = $dateRange['to']->endOfDay()->toDateTimeString();
$adminnames = $ratingstats = array();
$query = Capsule::table('tblticketfeedback')
->select(
[
Capsule::raw('CONCAT_WS(\' \', `firstname`, `lastname`) as adminname'),
'adminid',
'rating',
Capsule::raw('count(rating) as counts'),
]
)
->where('adminid', '>', 0)
->where('datetime', '>=', $fromdate)
->where('datetime', '<=', $todate)
->join(
'tbladmins',
'tbladmins.id',
'=',
'tblticketfeedback.adminid'
)
->groupBy(
[
'rating',
'adminid',
]
);
foreach ($query->get() as $data) {
$adminname = $data->adminname;
$adminid = $data->adminid;
$rating = $data->rating;
$count = $data->counts;
$adminnames[$adminid] = $adminname;
$ratingstats[$adminid][$rating] = $count;
}
foreach ($adminnames AS $adminid=>$adminname) {
$rowtotal = $rowcount = 0;
$row = array();
$row[] = '
'.$adminname.'';
for ( $rating = 1; $rating <= 10; $rating++ ) {
$count = $ratingstats[$adminid][$rating];
$row[] = $count;
$rowcount += $count;
$rowtotal += $count*$rating;
}
$average = round($rowtotal/$rowcount,2);
$row[] = $rowcount;
$row[] = $average;
$reportdata["tablevalues"][] = $row;
$chartdata['rows'][] = array('c'=>array(array('v'=>$adminname),array('v'=>$average,'f'=>$average)));
}
$chartdata['cols'][] = array('label'=>'Staff Name','type'=>'string');
$chartdata['cols'][] = array('label'=>'Average Rating','type'=>'number');
$args = array();
$args['colors'] = '#F9D88C,#3070CF';
$args['minyvalue'] = '0';
$args['maxyvalue'] = '10';
$args['gridlinescount'] = '11';
$args['minorgridlinescount'] = '3';
$args['ylabel'] = 'Average Rating';
$args['xlabel'] = 'Staff Name';
$args['legendpos'] = 'none';
$reportdata["headertext"] .= $chart->drawChart('Column',$chartdata,$args,'500px');