public function report($meal_date) { $this->common->authenticate(); $data = array(); $meal_log = array(); $meal_log = Meals_model::get_meal_log($meal_date); if ($meal_log != NULL) { if ($meal_log->tracking_log != NULL) { $tracking_log = json_decode($meal_log->tracking_log); usort($tracking_log, array($this, "compared_by_shift_name")); $data['meal_log'] = $tracking_log; $data['preordered_meals'] = $meal_log->preordered_meals; $data['actual_meals'] = $meal_log->actual_meals; $data['note'] = $meal_log->note; foreach ($data['meal_log'] as $key => $value) { if (isset($value->shift)) { if (isset($value->tables)) { foreach ($value->tables as $key2 => $value2) { $number_users_have_attend = 0; if (isset($value2->users)) { foreach ($value2->users as $key3 => $value3) { if ($value3->status_user == 1) { $number_users_have_attend++; } } } $value2->number_users_have_attend = $number_users_have_attend; } } } } $data['meal_date'] = $meal_date; $data['title'] = 'Daily Lunch Service Report'; $view = $this->load->view('admin/meals/meal_report', $data, TRUE); $this->pdf_report($view, $meal_date); } else { $this->common->return_notification('gen_log_file_meal', 'no_data_in_log_file', 0); } } else { $this->common->return_notification('gen_log_file_meal', 'cannot_find_log_file', 0); } redirect('admin/meals', 'refresh'); }