query( "SELECT a.department_id, b.department_desc FROM setting_department a LEFT JOIN setting_department_translation b ON ( a.department_id = b.department_id ) WHERE a.deleted_at IS NULL AND b.lang = 'en'" ) ; if ( $select_departments->num_rows > 0 ){ while ( $row_department = $select_departments->fetch_assoc() ){ $department_lists[$row_department['department_id']] = dataFilter( $row_department['department_desc'] ) ; } } // staff department $staffdeparments = [] ; $select_staffdeparments = $mysqli->query( "SELECT a.staff_id, a.department_id FROM staff_department a LEFT JOIN staff b ON ( a.staff_id = b.staff_id ) WHERE a.deleted_at IS NULL GROUP BY a.staff_id" ) ; if ( $select_staffdeparments->num_rows > 0 ){ while ( $row_staffdeparment = $select_staffdeparments->fetch_assoc() ){ $staffdeparments[$row_staffdeparment['staff_id']] = $row_staffdeparment['department_id'] ; } } // report $group_lists = [] ; $split_departmerns = [] ; $split_lists = [] ; $split_grouplists = [] ; $all_lists = [] ; $select_achievement = $mysqli->query( "SELECT SUM(a.staff_star) as totalstar, a.staff_id FROM staff_monthly_achievement a LEFT JOIN staff b ON ( a.staff_id = b.staff_id ) WHERE a.deleted_at IS NULL AND a.reported_at LIKE '%" . $date_time . "%' AND b.deleted_at IS NULL " . $search_query . " GROUP BY a.staff_id" ) ; if ( $select_achievement ->num_rows > 0 ){ while ( $row_achievement = $select_achievement->fetch_assoc() ){ $get_department = $staffdeparments[$row_achievement['staff_id']] ; $type = $row_achievement['type'] ; $group_lists[$get_department] = ( $group_lists[$get_department] + $row_achievement['totalstar'] ) ; $split_lists[$type][$get_department] = ( $split_lists[$type][$get_department] + $row_achievement['totalstar'] ) ; $split_departmerns[$get_department] = $get_department ; } } foreach ( $group_lists as $k => $v ){ $get_departmentname = ( $k == '0' ? 'Cross Department' : $department_lists[$k] ) ; $all_lists[] = [ 'label' => $get_departmentname, 'y' => floatval( $v ) ] ; } foreach ( $split_lists as $k_lists => $v_lists ){ $temps = [] ; foreach ( $split_departmerns as $k_department => $v_department ){ $temps[] = [ 'label' => ( $v_department == '0' ? 'Cross Department' : $department_lists[$v_department] ), 'y' => floatval( checkExists( $v_lists[$v_department], '0' ) ) ] ; } $split_grouplists[] = [ 'type' => 'bar', 'showInLegend' => true, 'name' => ucwords( $k_lists ), 'dataPoints' => $temps ] ; } ?>