join('departments', 'activities_attendeds.department_id', '=', 'departments.id') ->groupBy('departments.name') ->get(); $total = $data->sum('count'); return response()->json([ 'labels' => $data->pluck('department'), 'values' => $data->pluck('count'), 'total' => $total, ]); } public function analyticsActivitiesOrganised() { $data = ActivitiesOrganised::selectRaw('departments.name as department, COUNT(*) as count') ->join('departments', 'activities_organiseds.department_id', '=', 'departments.id') ->groupBy('departments.name') ->get(); $total = $data->sum('count'); return response()->json([ 'labels' => $data->pluck('department'), 'values' => $data->pluck('count'), 'total' => $total, ]); } public function analyticsIvOrganised() { $data = IvOrganised::selectRaw('departments.name as department, COUNT(*) as count') ->join('departments', 'iv_organiseds.department_id', '=', 'departments.id') ->groupBy('departments.name') ->get(); $total = $data->sum('count'); return response()->json([ 'labels' => $data->pluck('department'), 'values' => $data->pluck('count'), 'total' => $total, ]); } public function analyticsPaperPublished() { $data = Publication::selectRaw('departments.name as department, COUNT(*) as count') ->join('departments', 'publications.department_id', '=', 'departments.id') ->groupBy('departments.name') ->get(); $total = $data->sum('count'); return response()->json([ 'labels' => $data->pluck('department'), 'values' => $data->pluck('count'), 'total' => $total, ]); } public function analyticsBooksPublished() { $data = BooksPublished::selectRaw('departments.name as department, COUNT(*) as count') ->join('departments', 'books_published.department_id', '=', 'departments.id') ->groupBy('departments.name') ->get(); $total = $data->sum('count'); return response()->json([ 'labels' => $data->pluck('department'), 'values' => $data->pluck('count'), 'total' => $total, ]); } public function analyticsExternalEngagement() { $data = ExternalEngagement::selectRaw('departments.name as department, COUNT(*) as count') ->join('departments', 'external_engagements.department_id', '=', 'departments.id') ->groupBy('departments.name') ->get(); $total = $data->sum('count'); return response()->json([ 'labels' => $data->pluck('department'), 'values' => $data->pluck('count'), 'total' => $total, ]); } public function analyticsOnlineCourse() { $data = OnlineCourse::selectRaw('departments.name as department, COUNT(*) as count') ->join('departments', 'online_courses.department_id', '=', 'departments.id') ->groupBy('departments.name') ->get(); $total = $data->sum('count'); return response()->json([ 'labels' => $data->pluck('department'), 'values' => $data->pluck('count'), 'total' => $total, ]); } public function analyticsPatent() { $data = Patent::selectRaw('departments.name as department, COUNT(*) as count') ->join('departments', 'patents.department_id', '=', 'departments.id') ->groupBy('departments.name') ->get(); $total = $data->sum('count'); return response()->json([ 'labels' => $data->pluck('department'), 'values' => $data->pluck('count'), 'total' => $total, ]); } }