Пример #1
0
 public function actionDoc($term)
 {
     Yii::$app->response->format = Response::FORMAT_JSON;
     return Terminal::docBlock($term);
 }
Пример #2
0
 public static function deleteTerminalsByServiceId($service_id)
 {
     Terminal::where('service_id', '=', $service_id)->delete();
 }
Пример #3
0
 public static function sendNumberNextAndroid($transaction_number, $diff)
 {
     $priority_queue = PriorityQueue::find($transaction_number);
     if ($priority_queue) {
         $user_id = $priority_queue->user_id;
         $priority_number = $priority_queue->priority_number;
         $queue_platform = $priority_queue->queue_platform;
         $email = $priority_queue->email;
         $terminal_id = TerminalTransaction::terminalId($transaction_number);
         $terminal_name = $terminal_id != 0 ? Terminal::name($terminal_id) : '';
         $business_id = $terminal_id != 0 ? Business::getBusinessIdByTerminalId($terminal_id) : 0;
         $business_name = $business_id != 0 ? Business::name($business_id) : '';
         $waiting_time = Analytics::getWaitingTime($business_id);
         $estimated_time = Helper::millisecondsToHMSFormat($waiting_time);
         $message = "Your number ({$priority_number}) will be called in approximately {$estimated_time}. ";
         if ($diff == 1) {
             $message .= "There is currently {$diff} person ahead of you at the {$terminal_name} at {$business_name}.";
         } else {
             $message .= "There are currently {$diff} people ahead of you at the {$terminal_name} at {$business_name}.";
         }
         if ($queue_platform != 'web' && $queue_platform != 'specific') {
             $gcm_token = User::gcmToken($user_id);
             if ($gcm_token) {
                 Notifier::sendAndroid($gcm_token, $message);
             }
         } else {
             if (($queue_platform == 'web' || $queue_platform == 'specific') && $email != null) {
                 $user = User::searchByEmail($email);
                 $gcm_token = $user ? User::gcmToken($user['user_id']) : null;
                 if ($gcm_token) {
                     Notifier::sendAndroid($gcm_token, $message);
                 }
             }
         }
     }
 }
Пример #4
0
 public static function getBusinessArray($business_id)
 {
     $business = Business::where('business_id', '=', $business_id)->get()->first();
     $branches = [];
     $services = [];
     $terminals = [];
     $rawBranches = Branch::getBranchesByBusinessId($business->business_id);
     foreach ($rawBranches as $branch) {
         array_push($branches, $branch);
         $rawServices = Service::getServicesByBranchId($branch->branch_id);
         foreach ($rawServices as $service) {
             array_push($services, $service);
             $rawTerminals = Terminal::getTerminalsByServiceId($service->service_id);
             /* get terminal id's of assigned terminals */
             $user_id = isset(Auth::user()->user_id) ? Auth::user()->user_id : 0;
             // ARA Checks if user has been logged in
             $terminalAssignments = TerminalUser::getTerminalAssignement($user_id);
             $terminalIds = [];
             foreach ($terminalAssignments as $assignment) {
                 array_push($terminalIds, $assignment['terminal_id']);
             }
             /* end */
             foreach ($rawTerminals as $terminal) {
                 if (in_array($terminal['terminal_id'], $terminalIds)) {
                     $terminal['assigned'] = 1;
                 } else {
                     $terminal['assigned'] = 0;
                 }
                 array_push($terminals, $terminal);
             }
         }
     }
     $business->branches = $branches;
     $business->services = $services;
     $business->terminals = $terminals;
     return $business;
 }