Example #1
0
 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');
 }